y=lnΓ(x) 対数ガンマ関数 y=lnΓ(x) のグラフ
y=lnΓ(x) は、ガンマ関数の対数をとった対数ガンマ関数です。ガンマ関数は階乗を実数へ広げたものですが、増え方が激しすぎて数値としては扱いにくいので、対数をとった形が実用でも理論でも主役になります。x>0 では Γ(x)>0 なので、そのまま実数の対数が定義できます。
定義域と切片
グラフは x>0 の範囲を描いています。lnΓ(x)=0 となるのは Γ(x)=1 のとき、すなわち x=1 と x=2 の二点です。x→0+ では Γ(x)→+∞ なので y→+∞ となり、y 軸が垂直漸近線になります。
増減と極小
導関数はディガンマ関数 ψ(x) です。ψ が 0 になるのは一点だけで、そこが極小です。
| 項目 | 値 |
|---|
| 極小をとる x0 | ≈1.46163 |
| lnΓ(x0) | ≈−0.12149 |
| Γ(x0) | ≈0.88560 |
二つの切片 x=1 と x=2 のあいだにこの谷があり、値域は y≥−0.12149 です。
対数凸性
二階導関数はトリガンマ関数で、x>0 ではつねに正です。
ψ′(x)=n=0∑∞(x+n)21 したがってこの関数は全域で下に凸であり、変曲点をもちません。ガンマ関数が対数凸であるというこの性質は飾りではありません。Γ(1)=1 と Γ(x+1)=xΓ(x) に対数凸性を加えると、条件を満たす関数がガンマ関数ただ一つに定まります。これがボーア・モレルップの定理で、階乗の「正しい」拡張が一意であることの根拠になっています1。
漸化式
Γ(x+1)=xΓ(x) の対数をとると、掛け算が足し算に変わります。
lnΓ(x+1)=lnx+lnΓ(x) x を 1 ずらすごとにグラフが lnx だけ持ち上がると読めます。整数では lnΓ(n+1)=ln(n!) なので、この曲線は階乗の対数をなめらかにつないだものです。
スターリングの公式
大きな x では次のように展開できます2。
lnΓ(x)=(x−21)lnx−x+21ln(2π)+12x1−⋯ 主要な部分は xlnx−x です。x=101 で試すと、lnΓ(101)=363.739376 に対し、上の展開を 12x1 の項まで取っただけで小数点以下 6 桁まで一致します。
なぜ対数をとるのか
| x | Γ(x) | lnΓ(x) |
|---|
| 101 | ≈9.33×10157 | ≈363.74 |
| 200 | ≈10372(あふれる) | ≈857.93 |
倍精度浮動小数点の上限はおよそ 10308 なので、Γ(200)=199! はオーバーフローします。一方その対数は何の問題もなく扱えます。数値計算のライブラリがガンマ関数とは別に対数ガンマ関数を用意しているのは、このためです。
応用
二項係数は次のように書けるので、n が大きくても桁あふれせずに計算できます。
ln(kn)=lnΓ(n+1)−lnΓ(k+1)−lnΓ(n−k+1) 統計では、ガンマ分布・ベータ分布・ディリクレ分布の対数尤度にこの関数がそのまま現れます。
- Bohr-Mollerup theorem、Wikipedia
- Stirling's approximation、Wikipedia