Appendix E — ガンマ関数

Author

Ryo Nakagami

Published

2024-09-21

Modified

2024-10-19

ガンマ関数の性質

ガンマ関数は,階乗関数を正の実数に拡張したものです. nN について階乗関数は

n!=(n1)!n

と表されますが,ガンマ関数も

Γ(z)=Γ(z1)(z1)

という性質があります.

Def: ガンマ関数

関数 Γ:R++R++ を以下のように定義する:

Γ(z)=0xz1exp(x)dx

これをガンマ関数と呼ぶ.

ガンマ関数は,正の整数 x に対して,y=x! という平面上の点 (x,y) を結ぶsmooth curveに対応します.

Code
from plotly import express as px
import numpy as np
from scipy.special import gamma, factorial

x = np.linspace(0, 6*1.05, 200)
k = np.arange(1, 7)

fig = px.line(x=x, y=gamma(x), title='Gamma function')
fig.add_traces(
    list(px.scatter(x=k, y=factorial(k-1)).select_traces())
)
fig.show()

▶  Γ(n)=(n1)! の確認

まず,γ(1)=1 を確認します.

Γ(1)=0x11exp(x)dx=0exp(x)dx=[exp(x)]0=1=0!

続いて, zR++ について,Γ(z)=Γ(z1)(z1) が成立することを確認します.

Γ(z+1)=0xz+11exp(x)dx=0xzexp(x)dx=[xzexp(x)]0+z0xz1exp(x)dx=zΓ(z)

なお,

limxxzexp(x)=0

はロピタルの定理を用いています.

Theorem E.1

a>0 という定数をについて

0tx1exp(at)dt=Γ(x)ax

Proof

u=at という変数変換を考える.dtdu=1a であるので,

0tx1exp(at)dt=0(ua)x1exp(u)1adu=1ax0ux1exp(u)du=Γ(x)ax

  Example E.1

x2exp(ax2)dx

も上述の定理を使うと簡単に計算できます.x2=u という変数変換を念頭に以下,

x2exp(ax2)dx=20x2exp(ax2)dx偶関数=20uexp(au)×12udu=0u321exp(au)du=Γ(3/2)a32=π2aa

Theorem E.2

ガンマ関数について,以下の等式が成り立つ

Γ(s)=20t2s1exp(t2)dt

Proof

ガンマ関数について t=u2 という変数変換を行うと以下のように導けます.

Γ(s)=0ts1exp(t)dt=0u2s2exp(u2)×2udu=20u2s1exp(u2)du

ガンマ関数の有名な公式

Theorem E.3

Γ(12)=π

Proof: ガウス積分を用いる場合

t=u2 という変数変換を考える.

0t1/2exp(t)dt=0u1exp(u2)2udu=20exp(u2)du=exp(u2)du=exp(u22×(12)2)du=2π12=π

Proof: 極座標変換を用いる場合

Γ(12)2=(0t1/2exp(t)dt)2=0x1/2exp(x)dx0y1/2exp(y)dy

ここで,x=u2,y=v2 と置換積分する.

0x1/2exp(x)dx0y1/2exp(y)dy=40exp(u2)du0exp(v2)dv=400exp[(u2+v2)]dudv

更に,u=rcosθ,v=rsinθ という極座標変換を行う.u,v0 であることに留意すると,r(0,),θ(0,π/2) になるので

400exp[(u2+v2)]dudv=400π/2exp[r2]rdθdr  u,v0=4×π20exp[r2]rdr=4×π2[exp(r2)2]0=π

ガンマ関数の定義より,Γ(1/2)>0 なので,

Γ(1/2)2=πΓ(1/2)=π