カテゴリー別アーカイブ: 数学

Catmull-Rom スプライン曲線についてのメモ

たのしい複素積分」や「わくわく解析接続」では、マウス(またはタッチ操作)の入力から曲線を構成する際に Catmull-Rom スプライン曲線を使っている。この Catmull-Rom スプライン曲線についてのメモを書いておく。あくまで備忘録であり、 Catmull-Rom スプラインを知らない人向けの記事ではない。 続きを読む

解析接続っぽいことができる Web ページ(わくわく解析接続)を公開した

対数関数や平方根のような複素関数は、閉曲線に沿って解析接続すると元の関数と値がずれる場合がある。対数関数や平方根であればまだ単純だから良いが、根号の中に多項式等が入るような関数だと、具体的な曲線に対して関数の(ブランチ)を計算するのは少し面倒である。

というわけで、以前に作った複素積分の Web アプリ(ブラウザアプリ)のような感じで、平面に描いた曲線に沿って解析接続してくれるアプリ(Web ページ)を作った。「複素関数で遊ぼう」「たのしい複素積分」に続く、複素関数シリーズ第3弾とでも言おうか。今のところ愛称は設定していないが、気が向いたらページのタイトルを「わくわく解析接続」に変えているかもしれない。→変えた。この記事のタイトルも変更。 続きを読む

0の0乗

「0の0乗」については、数学をやっている人とそうじゃない人で割と認識に差がありそうだと思う。そこで、(まだ青二才の学生ではあるが)数学をやっている者の端くれとして思うことを書いておく。

まず、(たぶん)世間でよく言われている「0の0乗を1とすべき理由」と「0の0乗が不定となる理由」について述べ、それを踏まえて、数学をやる上での「それでも0の0乗を1とする理由」を述べる。 続きを読む

豊穣圏の教科書

最近、豊穣圏(enriched category)という概念に触れることがあって、それの標準的な教科書って何かなあと思ったら、G.M.Kelly “Basic Concepts of Enriched Category Theory”というのがそれっぽくて、しかも無料でPDFをダウンロードできるらしい。

MacLaneのCWMには豊穣圏の名前といくつかの例は出てくるけどちゃんとした定義は出てこない。まあ、ちゃんとした定義を書こうとするとモノイド圏(monoidal category)の定義をしてうんたらしないといけないようだが。

豊穣圏というのは(今の自分の理解で)大雑把に言うと、圏のhom-setに単なる「集まり」以上の構造が入ったものである。例えば、加群の圏には、それぞれのhom-setにアーベル群の構造が入っているので、アーベル群の圏 Ab でenrichされた圏の例となっている。

別の例を挙げると、各hom-setにゼロ射が入っている圏は、それぞれのhom-setに点つき集合の構造(ゼロ射が基点)が入っているとみなせる。つまり、ゼロ射を持つ圏は、点つき集合の圏 Set* でenrichされた圏と言える。

各hom-setに構造が入っていればいいというものではなくて、Ab-enriched categoryだと射の合成が双線形、Set*-enriched categoryだとゼロ射(hom-setの基点)を合成するとゼロ射、という風に、合成の方にも条件が付いてくる。この辺の条件を表現するのに、モノイド圏の構造が必要になる。

ガンマ関数の計算(Lanczos近似)

ガンマ関数とは、みなさんおなじみの、

  • \(\Gamma(z+1)=z\Gamma(z),\)
  • \(\Gamma(1)=1,\)
  • \(x>0\) に対し \(\log\Gamma(x)\)は凸

を満たす \(\def\Complex{\mathbf{C}}\Complex\) 上の有理型関数である。\(\DeclareMathOperator\Re{Re}\Re z>0\) に対しては、以下の積分表示がある。\[
\Gamma(z)=\int_0^\infty t^{z-1}e^{-t}dt
\]

階乗 \(n!\) との関係は\[
n!=\Gamma(n+1)
\]となる。

重要な公式としては、反転公式\[
\Gamma(1-z)\Gamma(z)=\frac{\pi}{\sin\pi z}
\]がある。特に、\(z=\frac{1}{2}\) とおけば \(\Gamma\left(\frac{1}{2}\right)=\sqrt{\pi}\) が得られる。

さて、コンピューターでガンマ関数の値を数値的に計算するにはどうすればいいのか。指数関数とか三角関数だとかは分かりやすい冪級数表示があったから良かったが、ガンマ関数にはそういうのはないのか。

いろいろググって調べた結果、ガンマ関数の近似方法として、Lanczos近似というのがあるらしい。が、ググっているだけではいまいちその実体が釈然としないし、導出方法もよくわからない。なので、Lanczosの原論文(1964)を読むことにした。大学院生という身分は便利なもので、大学の図書館でその論文にアクセスできた。

続きを読む

東大入試理系数学2015第5問(解いてみた)

暇だったから[要出典]今年の東大の入試問題数学の問題に目を通してみた。問題文はこのへんこのへんで参照できるようだ。

ツイッターでの評判を見る感じ、第5問と第6問が話題になっていて、第5問は整数問題、第6問は(大学の)解析学で出てくる概念に関係あるみたいな感じだった。第5問のが問題文が短い(問題文が長いと読むのが面倒くさい)のでとりあえず第5問を解いてみる。

続きを読む

一次分数変換と球面の回転の話(0)

\(\require{AMScd}\def\Real{\mathbf{R}}\def\Complex{\mathbf{C}}\newcommand{\abs}[1]{\left\lvert #1\right\rvert}\)次の形をした複素関数 \(f\) を一次分数変換という:\[
f(z)=\frac{az+b}{cz+d},\quad \text{ただし \(ad-bc\ne0\).}
\]分母が0になるとき(\(z=-d/c\) のとき)は \(f(z)\) の値は複素数としては定まらない、のだが、値が複素数であることにこだわらなければここは \(\infty\) としておくのが都合がいい。逆に、\(z=\infty\) のときは、(\(z\to\infty\) の極限を考えれば分かるように)\(f(z)\) の値は \(a/c\) として定義できそうである。何がいいたいかと言うと、一次分数変換は、複素平面の関数というよりは、複素平面に「無限遠点」を加えたもの \(\Complex\cup\{\infty\}\) の関数をみるのが自然である。

複素平面に無限遠点を加えたもの \(\Complex\cup\{\infty\}\) は、球面と同一視できる(こうやって同一視したものをリーマン球面という)。球面上の点 \(P\) に複素平面の点 \(z\) をどう対応させるかというと、球の北極 \((0,0,1)\) から \(P\) に直線を引いて、その直線が複素平面と交わる点 \(z\) を対応させる。逆に、複素平面の点 \(z\) に対しては、\(z\) と北極 \((0,0,1)\) を結ぶ直線を引いて、それが球面と交わる(北極じゃない方の)点 \(P\) を対応させる。北極に対応する点は複素平面上にはないので、北極には無限遠点 \(\infty\) を対応させる。この対応を立体射影(stereographic projection)という。
projection-fig
続きを読む