[mathjax]
今回は特殊関数の一つ、[latex]\Gamma[/latex]関数について書いていこうと思います。
なんか唐突に書きたくなってしまったので。
ここでは特殊関数ってそもそも何?という話から始めて階乗の一般化としてガンマ関数を定義し、具体例として[latex]\left(1/2\right)![/latex]を計算してみようと思います!
大学のレポートなどにひょっとしたら役立つことが書いてあるかもしれません。
計算過程などもなるべく省略せずに書いていこうと思います。

私はもともと特殊関数というものが好きでした。
大学の授業を受けているうちに手書きの数式のカッコよさが気に入ってしまったんですね。
それで色々な数式をいじることに青春をささげた時期もありました。
今はMathematicaというソフトがその辺を自動でやってくれますが、個人的には途中の計算も自分でやっていきたい派です。非効率ですが飽きが来ないうちは案外楽しいものです。趣味程度にやってみてね。
今回は以下のような流れで進めていきます。いつも通り、ご自分の興味に合わせて読んでみて下さい!
そもそも特殊関数って何???
さて、そもそも特殊関数って何でしょう?
明確な定義は知りませんが、一般的には高校で習うような初等関数(sin とかcos とか exp など)で表すことのできない関数たちのことを言うようです。
有名どころでいくと円筒座標でよく出てくる Bessel 関数や水素原子の問題で出てくる Laguerre 陪関数などがあります。あとは今回の[latex]\Gamma[/latex]関数も特殊関数の一つです。
特殊関数はそれはそれはたくさんありますが、実はいくつかについては、ある一つの関数(例えば合流型超幾何関数: Hypergeometric function of confluent type)から生まれることが分かっています。さらに特殊関数たちの満たす微分方程式を見つけるアルゴリズムがあることも分かっています。(この話はまたの機会に...)
一時期そういう関数たちの満たす微分方程式を見つけるのが流行って、いちいち名前をつけていたのですが、一挙にみつかるアルゴリズムの発見によりそういうことはなくなってしまいました。
時代が違えば流行りも違うものですねぇ。
[latex]\Gamma[/latex]関数って何???
さて今回の本題に入ります。
[latex]\Gamma[/latex]関数とは階乗を一般化したものです。

階乗というのは高校でも習う通り、ある自然数[latex]n[/latex]から1までの数字を全てかけたものですね。すなわち
を「[latex]n[/latex]の階乗」といいます。簡単ですね。例えば [latex]3!=3\cdot 2\cdot 1 = 6[/latex]です。
自然数で定義できたら、もう少し範囲を広げて有理数まで階乗を定義したいと思うのは自然でしょう(負の整数ではないw)。
高校生の方はこの辺で混乱すると思いますが、[latex]\left(\frac{1}{2}\right)![/latex]を計算したいという衝動に駆られることがまぁあります。「2分の1の階乗」です。
なんじゃそれ、と思うかもしれませんが人生色々あるのでそういうこともあるのです。[efn_note]適当すぎ?[/efn_note]
そういうときのために階乗を「自然数の階乗を含むように一般化」[efn_note]結構こういう考え方は大事です。[/efn_note]します。
実用的には以下の積分の形でお目にかかることが多いです。実際には結果として階乗の表現になっていると言った方が理解に困らないでしょう。
一般に[latex]z[/latex]は複素数と考えます。この定義が自然数の階乗を含んでいることを確認するために[latex]z=n[/latex][latex]\left(n\in\mathbb{N_{\geq 3}}\right)[/latex]として部分積分を実行すると
&=& -\left[{\rm e}^{-t}t^{n-1}\right]_{0}^{\infty}-\left(-\int_{0}^{\infty}{\rm e}^{-t}\frac{{\rm d}}{{\rm d}t}t^{n-1}{\rm d}t\right) \\
&=& \left(n-1\right)\int_{0}^{\infty}{\rm e}^{-t}t^{n-2}{\rm d}t \\
&=& \left(n-1\right)\Gamma\left(n-1\right) \\
&=& \left(n-1\right)\left(n-2\right)\Gamma\left(n-2\right)\end{eqnarray}[/latex]
ただし、[latex]n[/latex]を3以上の自然数としているので2行目の表面項が落ちていることに注意してください。[efn_note]本当は2以上で良いのですが、最後の行と辻褄を合わせるために3以上にしました。[/efn_note]このように続けていくと最後は[latex]\Gamma\left(1\right)[/latex]までくることが予想されます。ここで具体的に[latex]\Gamma\left(1\right)[/latex]の値を計算してみると
&=& -\left[{\rm e}^{-t}\right]_{0}^{\infty} \\
&=& 1\end{eqnarray}[/latex]
よって [latex]\Gamma\left(n\right)=\left(n-1\right)\left(n-2\right)\cdots 2\cdot 1=\left(n-1\right)![/latex] が示されました。すなわち先ほどの積分による[latex]\Gamma[/latex]関数の定義は自然数の階乗を含んでいたのです。これを一般化して複素数[latex]z[/latex]に対して"階乗"を
と定義することにしましょう。
[latex]\left(\frac{1}{2}\right)![/latex]を計算してみよう!
さて、それでは[latex]\left(\frac{1}{2}\right)![/latex]を計算してみましょう。先ほどの[latex]\Gamma[/latex]関数の定義から
&=& \frac{1}{2}\Gamma\left(\frac{1}{2}\right) \\
&=& \frac{1}{2}\int_{0}^{\infty}{\rm e}^{-t}t^{-1/2}{\rm d}t\end{eqnarray}[/latex]
実はこの積分は非常に有名な「Gauss積分」というものです。[efn_note]これはその辺の人に聞けば(計算だけなら)証明はできると思いますので、気が向いたら計算の詳細を残すということにします。[/efn_note]すなわち、[latex]t=x^{2}[/latex]という変数変換によって[latex]{\rm d}t=2x{\rm d}x[/latex]に注意すれば
&=& 2\int_{0}^{\infty}{\rm e}^{-x^{2}}{\rm d}x \\
&=& \sqrt{\pi}\end{eqnarray}[/latex]
ゆえに
整数の世界からちょっと踏み出しただけで円周率[latex]\pi[/latex]と遭遇してしまいました。不思議ですねぇ。

まとめ
いかがだったでしょうか。
本当は[latex]\beta[/latex]関数や[latex]\zeta[/latex]関数との関連も書きたかったのですが、記事のボリュームがすごいことになっちゃうのでやめました。
いかんせん、大学以降の数学は楽しいよということが伝えたかったことの一つでもあります。
いろんなことがつながっているんだなぁと実感すると思います。
最後まで読んでいただきありがとうございました!!
他にも色々と数学に関する記事を書いています。参考にしてみて下さい!
→「数学」一覧
また、[latex]\Gamma[/latex]関数は別の特殊関数である[latex]\beta[/latex]関数とも関わりがあります。これについても記事にしたので良かったら読んでみて下さい!
→ベータ関数~ガンマとのつながりにおいて~
こちらで使わせていただいている一部の画像は無料画像提供サイトPixabayさんからダウンロードしています。いつもありがとうございます!!
もっとこんなことを記事にしてほしいなどのご要望がありましたら、このページ上部のお問い合わせフォームまたは下部のコメント欄からご連絡いただくか、以下のメールアドレスでもお待ちしております。
tsunetthi(at)gmail.com
(at)の部分を@に変えてメールをお送りください。
または、twitter(@warotan3)もやってますのでそちらに連絡していただいても良きです。