ガンマ関数 スターリング近似計算 | 5項補正で Γ(x) と log Γ(x) を高精度に求める
x ≥ 0.5 の実数から、スターリング級数の5項補正でガンマ関数 Γ(x) と常用対数 log₁₀Γ(x) を算出する数式ツール。補正なしの基本式 √(2π/x)·(x/e)ˣ と並べて、級数補正がどれだけ精度を底上げするかを寄与率(%)で可視化する。
💡 このツールについて
階乗 n! を実数・複素数へ拡張したガンマ関数 Γ(x) は、Γ(n) = (n−1)! の関係で階乗とつながる。手計算で Γ(7.3) のような非整数の値を出すのは難しく、スターリングの公式を持ち出しても基本形だけでは小さい x で誤差が無視できない。
このツールは基本式 √(2π/x)·(x/e)ˣ に対し、漸近級数 1 + 1/12x + 1/288x² − 139/51840x³ − 571/2488320x⁴ の5項を掛けた改良版を計算する。基本式と改良版を同じ画面に並べ、両者の差を補正寄与率として表示するため、「補正項が何%効いているか」が一目で読み取れる。x が小さいほど補正の寄与は大きく、x ≥ 5 では相対誤差がおおむね 10⁻⁶ を下回る。値が大きい領域では桁あふれを避けるため、対数経由で log₁₀Γ(x) を別に算出している。
🧐 よくある質問
Q. x に整数を入れると階乗になりますか? Γ(n) = (n−1)! なので、x=5 なら Γ(5)=4!=24 が出力される。整数では真値が分かるため、近似精度の確認用に便利。
Q. x の下限が 0.5 なのはなぜですか? スターリングの漸近近似は x が小さいほど誤差が増える。0.5 未満は補正5項でも精度が落ちるため、実用域として 0.5 を下限に設定している。
Q. 数値入力欄は 170 まで、スライダーは 50 までなのはなぜですか? Γ(x) の値は x の増加で急激に大きくなり、x≈171 付近で倍精度浮動小数の上限に達する。スライダーは操作感を保つため 50 まで、より大きい値は数値入力欄で 170 まで扱える。
Q. 補正寄与率がマイナスになることはありますか? ならない。3項目・4項目の係数は負だが、先頭の 1/12x 項が支配的なため、対応範囲(x ≥ 0.5)では改良版が常に基本式をわずかに上回り、寄与率は正のままになる。x=0.5 で約 +15%、x が大きくなるほど 0 に近づく。
Q. log₁₀Γ(x) は何に使いますか? Γ(x) が天文学的な桁数になる領域では、値そのものより桁数(対数)を扱うほうが実用的。確率分布や組合せ計算の対数尤度で頻出する。
📚 豆知識
スターリングの公式は18世紀の数学者ジェイムズ・スターリングの名を冠するが、漸近級数の主要部はド・モアブルが先に導いていたことが知られている。補正項に現れる 1/12、1/288 といった分母はベルヌーイ数から導かれるもので、項を増やしても級数は収束せず「ある項数で打ち切るのが最良」という漸近級数特有の性質を持つ。打ち切り点を超えて項を足すと、かえって誤差が増えはじめる。