y=ln⁡Γ(x)y = \ln \Gamma(x)

対数ガンマ関数 y=ln⁡Γ(x)y = \ln \Gamma(x) のグラフ

y=ln⁡Γ(x)y = \ln \Gamma(x) は、ガンマ関数の対数をとった対数ガンマ関数です。ガンマ関数は階乗を実数へ広げたものですが、増え方が激しすぎて数値としては扱いにくいので、対数をとった形が実用でも理論でも主役になります。x>0x > 0 では Γ(x)>0\Gamma(x) > 0 なので、そのまま実数の対数が定義できます。

定義域と切片

グラフは x>0x > 0 の範囲を描いています。ln⁡Γ(x)=0\ln \Gamma(x) = 0 となるのは Γ(x)=1\Gamma(x) = 1 のとき、すなわち x=1x = 1 と x=2x = 2 の二点です。x→0+x \to 0^{+} では Γ(x)→+∞\Gamma(x) \to +\infty なので y→+∞y \to +\infty となり、yy 軸が垂直漸近線になります。

増減と極小

導関数はディガンマ関数 ψ(x)\psi(x) です。ψ\psi が 00 になるのは一点だけで、そこが極小です。

項目値
極小をとる x0x_0≈1.46163\approx 1.46163
ln⁡Γ(x0)\ln \Gamma(x_0)≈−0.12149\approx -0.12149
Γ(x0)\Gamma(x_0)≈0.88560\approx 0.88560

二つの切片 x=1x = 1 と x=2x = 2 のあいだにこの谷があり、値域は y≥−0.12149y \geq -0.12149 です。

対数凸性

二階導関数はトリガンマ関数で、x>0x > 0 ではつねに正です。

ψ′(x)=∑n=0∞1(x+n)2\psi'(x) = \sum_{n=0}^{\infty}\frac{1}{(x+n)^2}

したがってこの関数は全域で下に凸であり、変曲点をもちません。ガンマ関数が対数凸であるというこの性質は飾りではありません。Γ(1)=1\Gamma(1) = 1 と Γ(x+1)=xΓ(x)\Gamma(x+1) = x\Gamma(x) に対数凸性を加えると、条件を満たす関数がガンマ関数ただ一つに定まります。これがボーア・モレルップの定理で、階乗の「正しい」拡張が一意であることの根拠になっています1。

漸化式

Γ(x+1)=xΓ(x)\Gamma(x+1) = x\Gamma(x) の対数をとると、掛け算が足し算に変わります。

ln⁡Γ(x+1)=ln⁡x+ln⁡Γ(x)\ln \Gamma(x+1) = \ln x + \ln \Gamma(x)

xx を 11 ずらすごとにグラフが ln⁡x\ln x だけ持ち上がると読めます。整数では ln⁡Γ(n+1)=ln⁡(n!)\ln \Gamma(n+1) = \ln(n!) なので、この曲線は階乗の対数をなめらかにつないだものです。

スターリングの公式

大きな xx では次のように展開できます2。

ln⁡Γ(x)=(x−12)ln⁡x−x+12ln⁡(2π)+112x−⋯\ln \Gamma(x) = \left(x - \frac{1}{2}\right)\ln x - x + \frac{1}{2}\ln(2\pi) + \frac{1}{12x} - \cdots

主要な部分は xln⁡x−xx\ln x - x です。x=101x = 101 で試すと、ln⁡Γ(101)=363.739376\ln \Gamma(101) = 363.739376 に対し、上の展開を 112x\dfrac{1}{12x} の項まで取っただけで小数点以下 66 桁まで一致します。

なぜ対数をとるのか

xxΓ(x)\Gamma(x)ln⁡Γ(x)\ln \Gamma(x)
101101≈9.33×10157\approx 9.33 \times 10^{157}≈363.74\approx 363.74
200200≈10372\approx 10^{372}(あふれる)≈857.93\approx 857.93

倍精度浮動小数点の上限はおよそ 1030810^{308} なので、Γ(200)=199!\Gamma(200) = 199! はオーバーフローします。一方その対数は何の問題もなく扱えます。数値計算のライブラリがガンマ関数とは別に対数ガンマ関数を用意しているのは、このためです。

応用

二項係数は次のように書けるので、nn が大きくても桁あふれせずに計算できます。

ln⁡(nk)=ln⁡Γ(n+1)−ln⁡Γ(k+1)−ln⁡Γ(n−k+1)\ln \binom{n}{k} = \ln \Gamma(n+1) - \ln \Gamma(k+1) - \ln \Gamma(n-k+1)

統計では、ガンマ分布・ベータ分布・ディリクレ分布の対数尤度にこの関数がそのまま現れます。

  1. Bohr-Mollerup theorem、Wikipedia
  2. Stirling's approximation、Wikipedia