ガンマ関数計算とは?
ガンマ関数 \(\Gamma(a)\) は、数学のなかでもっとも重要な特殊関数の一つです。これは階乗の解析接続であり、任意の非負整数 \(n\) に対して \(\Gamma(n+1) = n!\) が成り立ちます。階乗とは異なり、ガンマ関数は分数や負数を含むほぼすべての実数(および複素数)に対して定義されます。この計算ツールは、等間隔に並んだ引数の列に沿って \(\Gamma(a)\) の表を作成し、得られた曲線をグラフ化します。国や地域ごとの規則に左右されない、普遍的な数学です。
使い方
次の3つの値を入力します。a の初期値(最初の引数)、刻み幅(増分)(各行で加算される一定の増分)、そして行数です。第 \(k\) 行の引数は $$a_k = \text{初期値} + k \times \text{刻み幅}$$ で求められます。本ツールは各引数に対して \(\Gamma\) を計算し、それらの組を表にまとめ、有限値の最小値と最大値を表示します。\(a = 0, -1, -2, \dots\) における極は「未定義」として報告されます。
計算式の解説
定義積分は、\(\operatorname{Re}(a) > 0\) のとき $$\Gamma(a) = \int_{0}^{\infty} t^{\,a-1}\, e^{-t}\, dt$$ です。数値計算にはランチョス近似(Lanczos approximation)を用い、おおよそ15桁の精度が得られます。\(a \le 0.5\) の場合は、反射公式 $$\Gamma(a) = \frac{\pi}{\sin(\pi a) \times \Gamma(1-a)}$$ を使って負数や小さい引数を扱い、発散を回避します。代表的な特殊値は次のとおりです。\(\Gamma(1/2) = \sqrt{\pi} = 1.77245\)、\(\Gamma(1) = 1\)、\(\Gamma(n+1) = n!\) 。
計算例
初期値 = 0.5、刻み幅 = 0.5、行数 = 5 とすると、引数は \(0.5, 1.0, 1.5, 2.0, 2.5\) になります。結果は \(\Gamma(0.5) = 1.77245\)(\(= \sqrt{\pi}\))、\(\Gamma(1.0) = 1.0\)、\(\Gamma(1.5) = 0.88623\)、\(\Gamma(2.0) = 1.0\)、\(\Gamma(2.5) = 1.32934\) です。正の \(a\) に対して曲線はいったん最小値(\(a \approx 1.4616\) 付近で約 \(0.8856\))まで下がり、その後ふたたび増加します。
よくある質問
なぜ \(\Gamma(0)\) は未定義なのですか? 0 以下の整数(\(0, -1, -2, \dots\))は単純極であり、そこでガンマ関数は正または負の無限大に発散します。そのため有限の値は存在しません。
a に負の値を指定できますか? はい。負の非整数は有効です。連続する負の整数の間で値は符号が交互に変わり、絶対値が大きくなります。例えば \(\Gamma(-0.5) = -3.5449\) です。
計算結果の精度はどれくらいですか? ランチョス近似により有効数字およそ15桁が得られ、実用上・学習上のほぼすべての用途に十分な精度です。