ガンマ関数とは
ガンマ関数 \(\Gamma(a)\) は、階乗を実数(さらには複素数)へ連続的に拡張した関数です。正の整数 \(n\) に対しては \(\Gamma(n) = (n-1)!\) が成り立ち、たとえば \(\Gamma(5) = 4! = 24\) となります。実部が正の実数 \(a\) については、次の広義積分で定義されます: $$\Gamma\!\left(a\right) = \int_{0}^{\infty} t^{\,a - 1}\, e^{-t}\, dt$$。本ツールでは、入力した任意の実数 \(a\) に対して \(\Gamma(a)\) を求めます。
使い方
「変数 a」の欄に実数の引数 \(a\) を入力し、表示する小数点以下の桁数を選んでください。被積分関数 \(t^{a-1}e^{-t}\) と積分区間 0 から無限大は定義によって固定されているため、入力するのは \(a\) だけです。ツールは \(\Gamma(a)\) を返します。\(a = 0\) や負の整数を入力した場合は、ガンマ関数がそこで極を持つため「未定義」と表示されます。
計算式の解説
本ツールでは毎回数値積分を行うのではなく、ランチョス近似(\(g = 7\)、係数9個)を用います。この近似は積分値を約15桁の有効数字まで再現します。\(a \le 0.5\) の場合は、まず反射公式 \(\Gamma(a)\cdot\Gamma(1-a) = \pi/\sin(\pi a)\) を適用します。これにより引数を計算が安定する領域へ写し、整数でない負の引数における有限値(負の値になることもあります)も求められます。
計算例
\(a = 3.5\) の場合を考えます。漸化式 \(\Gamma(a) = (a-1)\cdot\Gamma(a-1)\) を使うと、 $$\Gamma(3.5) = 2.5 \cdot 1.5 \cdot 0.5 \cdot \Gamma(0.5) = 1.875 \cdot \sqrt{\pi} = 1.875 \cdot 1.7724538509 \approx 3.3233509704$$ となります。本ツールでも同じ値が得られます。
よくある質問
なぜ \(\Gamma(0)\) は未定義なのですか? 積分が発散し、ガンマ関数は 0 およびすべての負の整数で単純極を持つため、値は無限大になります。
\(\Gamma(0.5)\) はいくつですか? ちょうど \(\sqrt{\pi} \approx 1.7724538509\) です。これはガウス積分と結びついた有名な結果です。
結果はどのくらい正確ですか? ランチョス近似は一般的な引数に対して約15桁の精度を持ち、ほとんどの用途には十分すぎる精度です。