目次         

ガンマ関数

 

階乗の拡張であるガンマ関数の式を調べる。

 


n階乗は次式に等しい。整数や半整数時の値は 「三角関数の乗積と階乗」を参照。

偶数ゼータ関数値と二項係数で表せば

 

上記式をガンマ関数の式として使用する場合の考慮点。数値計算の結果によると

 

・整数と半整数以外では最適な項数があり、これを超えると逆に精度が低下する。

  nの約6倍が最適な項数となるようだ(n<5での結果であり5<n は未調査)

  n<1 の場合は最適な項数が6以下になり、高い精度が確保できない。例えば
    n=1/3
の場合 m= 2までの値は 0.888750  であり、Γ(1+1/3)=0.892979
    n=2/3
の場合 m= 4までの値は 0.902792  であり、Γ(1+2/3)=0.902745
  1<n
の例は、最適な項数まで計算すると
    n=1+1/3
の場合 m= 8までの値は 1.190639338
    n=2+1/3
の場合 m=14までの値は 2.77815848043759
    n=4+1/3
の場合 m=27までの値は 40.128955828544038627599678   (6n=26)


  整数/半整数とそれ以外で異なる原因には Σj=0k (jk+1)Bjn1-j の性質が関係している。

  この値はnが小さいと極端な差になる。k=30 で半整数の例を示す。

    n             Σ (k=30)          n      Σ (k=30)         n     Σ (k=30)
 
 1.498    202.45097739630915     2.498  0.0000507899     3.498  0.0012721586
  1.499     99.22106180353137     2.499  0.0000285590     3.499  0.0012765314
 
 1.500      0.00000000000015     2.500  0.0000068533     3.500  0.0012809162
 
 1.501    -95.33054775739069     2.501 -0.0000143360     3.501  0.0012853131
 
 1.502   -186.88579771670319     2.502 -0.0000350175     3.502  0.0012897220

  n=1.5 の付近でkを変化させた例。

    n            Σ (k=10)             Σ (k=20)              Σ (k=30)
  1.498      0.00021060383758     -0.00686369636491    202.45097739630915
  1.499      0.00019833482752     -0.00338641250756     99.22106180353137
  1.500      0.00018628596589      0.00000000602274      0.00000000000015
  1.501      0.00017445590629      0.00329731348205    -95.33054775739069
  1.502      0.00016284331062      0.00650723456707   -186.88579771670319

  整数の場合はkが奇数であってもこの現象が起きる。


次式は見た目がスターリングの公式に近い階乗の式である。

整数や半整数時の値は 「三角関数の乗積と階乗」を参照。

 

整数や半整数以外の場合、m=50までの値は次の通り。

n=3+1/3 の場合     9.2605257711574070314751496737854419325847

n=4+1/3 の場合    40.1289558285440385880791061000964798961647

n=7+1/3 の場合  9940.0909844926863089402467271495993058323412

nが小さいと精度が低くなる。3未満では殆ど意味のある数値にならない。

 

最適な項数までにした場合の例。この範囲ではnの約8倍が最適な項数となっている。

n=  2/3 の場合     0.9026935052259971380378850298738926481949  (m= 4まで)

n=1+1/3 の場合     1.1906393695755047198267718094435926767188  (m=11まで)

n=2+1/3 の場合     2.7781584804378205547306804519169646200712  (m=19まで)

n=3+1/3 の場合     9.2605282681255473763692414209770338342591  (m=27まで)

n=4+1/3 の場合    40.1289558285440386275996129617584590479062  (m=35まで)

n=7+1/3 の場合  9940.0909844926863089402467271496211652987909  (m=61まで)

 

参考:スターリングの公式 (2πn)(n/e)ne^{Σm=1 B2m/(2m(2m-1)n2m-1)} の値。

n=  2/3 の場合     0.9001933012182385567116386202541994327891  (m= 2まで)

n=1+1/3 の場合     1.1906023315799177373639125765014991894927  (m= 4まで)

n=2+1/3 の場合     2.7781583574843626413516639735370167918839  (m= 8まで)

n=3+1/3 の場合     9.2605282687619067384184421732644951919401  (m=11まで)

n=4+1/3 の場合    40.1289558285395246348011712436946206143620  (m=14まで)

n=7+1/3 の場合  9940.0909844926863089458984616075547581092303  (m=23まで)

 

真の値との差の絶対値が最小になる場合を最適としている。


奇数ゼータ関数値も使用するガンマ関数の式を求める。γをオイラーの定数として

1/Γ(x)=xe^(γx)Πk=1{(1+x/k)e^(-x/k)}  より

Γ(x)=e^x Πk=2{e^(x/k)/(1+x/k)}/{x(1+x)e^(γx)}

x(1+x)Γ(x)=e^{(1-γ)x}Πk=2{e^(x/k)/(1+x/k)}=Γ(x+2)

Γ(x+2)=e^{(1-γ)x}Πk=2e^{(x/k)-ln(1+x/k)}=e^{(1-γ)x}e^{Σk=2(x/k)-ln(1+x/k)}

 

t-ln(1+t)=t2/2-t3/3+t4/4-  (-1<t<=1)  であるので指数部は

Σk=2(x/k)-ln(1+x/k)

=(x/2)2/2-(x/2)3/3+(x/2)4/4-+(x/3)2/2-(x/3)3/3+(x/3)4/4-

=(1/22+1/32+1/42+)(x2/2)-(1/23+1/33+1/43+)(x3/3)+(1/24+1/34+1/44+)(x4/4)-

=(ζ(2)-1)(x2/2)-(ζ(3)-1)(x3/3)+(ζ(4)-1)(x4/4)-    (-2<x<=2)

 

Γ(x+2)=e^{(1-γ)x}e^{Σk=2(ζ(k)-1)(-x)k/k}

ζg(1)=γ  で、k1以外ではζg(k)=ζ(k)  と定義すると

Γ(x+2)=e^{Σk=1(ζg(k)-1)(-x)k/k}  これより

 

Γ(x)=e^{Σk=1(ζg(k)-1)(2-x)k/k}    (0<x<=4)   つまり

Γ(x)=e^{(1-γ)(x-2)+(ζ(2)-1)(x-2)2/2-(ζ(3)-1)(x-2)3/3+(ζ(4)-1)(x-2)4/4-}

この式はたまに見かける式である。

 


Γ(x)=(x-1)Γ(x-1)=(x-1)(x-2)Γ(x-2)=… によりxの範囲をずらすことができる。例えば

Γ(x)=(x-1)(x-2)e^{Σk=1(ζg(k)-1)(4-x)k/k}    (2<x<=6)

 

これを利用すれば、ガンマ関数は階乗の形式で表現して

 

(4+1/3)!=(4+1/3)(3+1/3)(2+1/3)e^{Σk=1(ζg(k)-1)(-1/3)k/kの計算値は

k=10 まで   40.128955837

k=25 まで   40.1289558285440386275918

k=50 まで   40.12895582854403862759968026809805195320355


係数 ζ(k)-1 の値は更に小さくできる。例えば

Γ(x)={e^(-γx) e^x e^(x/2)}e^{Σk=3(x/k)-ln(1+x/k)}/{x(1+x)(1+x/2)}

    =2!e^{(-γ+1+1/2)x}e^{(ζ(2)-1-1/22)x2/2-(ζ(3)-1-1/23)x3/3+}/{x(x+1)(x+2)}

x(x+1)(x+2)Γ(x)=Γ(x+3)=2!e^{Σk=1(ζg(k)-1-1/2k)(-x)k/k}

従って

Γ(x)=2!e^{Σk=1(ζg(k)-1-1/2k)(3-x)k/k}   階乗の形式で表すと

x!=2!e^{Σk=1(ζg(k)-1-1/2k)(2-x)k/k}     同様に

x!=3!e^{Σk=1(ζg(k)-1-1/2k-1/3k)(3-x)k/k}

 

これをxの整数部分まで進めると

xkが大の場合、係数 (ζ(k)-Σ〜)/k は相当小さな値になる。

 

(4+1/3)!=4!e^{Σk=1(ζg(k)-1-1/2k-1/3k-1/4k)(-1/3)k/kの計算値は

k=10 まで   40.12895582854450

k=25 まで   40.1289558285440386275996802680976

k=50 まで   40.1289558285440386275996802680980519532034129043809712241134127

前式よりも精度が良いが、xが大きい場合は係数の計算回数が増大する。


オイラーの定数やゼータ関数値を必要とせず、xが大きな値でも有効な近似式を求める。

上記式の指数部はk=2までを考えると

 γ  -(1/1+1/2+1/3++1/n)

ζ(2)-(1/12+1/22+1/32++1/n2)

の形を含んでいる。

1/1+1/2+1/3++1/n=ln n+γ+1/(2n)-1/(12n2)+=γ+ln(n+1/2)+1/(24n2)-

であるので  e^{γ-(1/1+1/2+1/3++1/n)}e^{-ln(n+1/2)}=(n+1/2)-1

1/12+1/22+1/32++1/n2π2/6-2/(2n+1)    (ベルヌーイ数の母関数」を参照 )

であるので  e^{ζ(2)-(1/12+1/22+1/32++1/n2)}e^{2/(2n+1)}

 


以上の関係を使用すると

あるいは

 

xの整数部をxi、小数部をxfとしてxh=xi+1/2 とすると、x=xi+xf

 

( 1+1/2)! 1!  1.5^(1/2) {1+(1/2)2/3 }=1.32680

( 4+1/3)! 4!  4.5^(1/3) {1+(1/3)2/9 }=40.1123

(10+1/3)!10! 10.5^(1/3) {1+(1/3)2/21}=7988242.91


これまで述べた原理の組み合わせにより、各種のガンマ関数式を作ることができる。例えば

Γ(x)=4!e^{Σk=1(ζg(k)-1-1/2k-1/3k-1/4k)(-x)k/k}/{x(x+1)(x+2)(x+3)(x+4)}

小数点以下10桁の係数でk=8までの式は

Γ4(x)=24eu/{x(x+1)(x+2)(x+3)(x+4)}

u=1.5061176684x +0.1106614779x2-0.0081316220x3+0.0008928262x4

 -0.0001171933x5+0.0000170299x6-0.0000026421x7+0.0000004290x8

x=0の近辺での値は次の通り。x<0では正負交互の値になっている。正しい数字であることを示す下線が精度の目安となる。最後の数字は四捨五入値で比較している。

 

  x        Γ4(x)       x        Γ4(x)       x       Γ4(x)        x       Γ4(x)
-4.0   ------------  -3.0   ------------  -2.0   ------------  -1.0   ------------
-3.9   0.4683912577  -2.9  -1.9143680679  -1.9   5.5632620023  -0.9 -10.5705637615
-3.8   0.2888965934  -2.8  -1.1369046086  -1.8   3.1880197349  -0.8  -5.7385545760
-3.7   0.2449113604  -2.7  -0.9301159366  -1.7   2.5138930986  -0.7  -4.2736699685
-3.6   0.2419461100  -2.6  -0.8880500853  -1.6   2.3105670489  -0.6  -3.6969325700
-3.5   0.2661117095  -2.5  -0.9448486595  -1.5   2.3632629695  -0.5  -3.5449077013
-3.4   0.3223590252  -2.4  -1.1076678904  -1.4   2.6592666553  -0.4  -3.7229806220
-3.3   0.4350390359  -2.3  -1.4467945377  -1.3   3.3283437308  -0.3  -4.3268511089
-3.2   0.6850821764  -2.2  -2.2046701519  -1.2   4.8509548687  -0.2  -5.8211485687
-3.1   1.4860757416  -2.1  -4.6256817876  -1.1   9.7148043490  -0.1 -10.6862870212

  x       
Γ4(x)       x        Γ4(x)       x       Γ4(x)        x       Γ4(x)
 0.0   ------------   1.0   1.0000000616   2.0   1.0000274735   3.0   2.0018751290
 0.1   9.5135076986   1.1   0.9513509059   2.1   1.0465298883   3.1   2.2003576058
 0.2   4.5908437120   1.2   0.9181690256   2.2   1.1018720968   3.2   2.4279399368
 0.3   2.9915689877   1.3   0.8974712572   2.3   1.1668205245   3.3   2.6891795774
 0.4   2.2181595438   1.4   0.8872648828   2.4   1.2423369159   3.4   2.9894649725
 0.5   1.7724538511   1.5   0.8862288782   2.5   1.3295962518   3.5   3.3351790914
 0.6   1.4891922498   1.6   0.8935188211   2.6   1.4300115998   3.6   3.7338995838
 0.7   1.2980553360   1.7   0.9086447446   2.7   1.5452663691   3.7   4.1946445766
 0.8   1.1642297237   1.8   0.9313939436   2.8   1.6773548162   3.8   4.7281756499
 0.9   1.0686287280   1.9   0.9617826998   2.9   1.8286320405   3.9   5.3473728147

       ガンマ関数のグラフ


ゼータ関数値を使用する場合、ガンマ関数は通常

Γ(x)=e^{Σk=1ζg(k)(-x)k/k}/x   (-1<x<=1)  で表される。

偶数ゼータ関数値の部分は

πx/sin(πx)=e^{2Σk=1ζ(2k)x2k/(2k)}    であるので

Γ(x)=(πx/sin(πx)) e^{-Σk=1ζg(2k-1)x2k-1/(2k-1)}/x

これより奇数ゼータ関数値の部分は

-Γ(-x)/Γ(x)=e^{2Σk=1ζg(2k-1)x2k-1/(2k-1)}

また奇数部分と偶数部分の和は

Γ(x)sin(πx)=πe^{-Σk=1ζg(k)xk/k}

 

-Γ(-x) Γ(x)=π/(x sin(πx)) x(x+1)Γ(x)=e^{Σk=1(ζg(k)-1)(-x)k/k} を利用すると

ζ(2k)-1 の部分は

πx(1-x2)/sin(πx)=e^{2Σk=1(ζ(2k)-1)x2k/(2k)}

 

          目次