スターリングの近似
出典: フリー百科事典『ウィキペディア(Wikipedia)』
スターリングの近似(英: Stirling's approximation)またはスターリングの公式(英: Stirling's formula)は、ガンマ関数(或いは階乗)の漸近近似である。数学者ジェイムズ・スターリングに因む。
これは
を意味する。但し、
に近づくにつれ近似の誤差が大きくなる(極限の収束が遅くなる)ため、応用上は反射公式などを用いて
程度に制限することが多い。
目次 |
[編集] 導出
[編集] 初等的な方法による導出
スターリングの公式の導出を厳密にするためにはオイラーの和公式、或いは鞍点法など複素解析の技法を用いる必要があるが、多少の無理を許せば初等的に導くことも可能である。先ず、階乗の対数を積分で近似する。
然し、
などという誤差があるから、定数項と誤差をまとめてlogcとする。cの値は後に求める。
両辺の真数を取ると
となり
であるから
を得る。ウォリス積を変形して
これを代入すると
を得る。精度を改善するために
とすると
となる。然し
であるから
となるはずである。再び対数を用いる。
これを左辺に代入すると
となり、両辺の係数を比較して
を得る。結局、
を得る。
[編集] オイラーの和公式による導出
オイラーの乗積表示によるガンマ関数の定義の対数をとり
f(n) = logn − log(n + z − 1)にオイラーの和公式を適用すれば
となる。右辺の定数を集めて
とすれば
となり、この主要部をガンマ関数の反射公式に代入して
とすれば

- πi + logz + logΓ(z) + logΓ( − z) − logsinπz − logπ = 0


となるが
であるから
を得る。剰余項については
として
である。故に
を得る。最初の数項を書き下せば
とやり、指数関数のテイラー展開により
となる。
[編集] 鞍点法による導出
スターリングの公式は鞍点法の好適例とされることが多いが、実際に複素平面全体(負の実数を除く)で漸近近似が成立することを鞍点法によって示すのは困難であるから、ここではzを正の実数に限定する。ガンマ関数はt = z(1 + u)の置換により
となるが、zが十分に大きければu = 0の附近が支配的であるから
という近似が許され、ガウス積分により
を得る。ε = z − 1 / 3として、近似の誤差は
であり
であるから
を得る。これは
を示すに十分である。但し、実際の誤差はO(z − 1)であるが、それを鞍点法で示すのは困難である。
[編集] 収束の速度と誤差見積もり
より正確に記すと、次のようになる。
ここで
スターリングの公式は以下の級数(スターリング級数)の近似(初項で打ち切ったもの)である。
としたとき、省かれた級数はその最初の項とそれ以降が相殺するように漸近していく。これは漸近展開の一例である。
以下のような階乗の対数の漸近展開も「スターリング級数」と呼ぶ。
この場合、誤差は打ち切った級数の初項と同じ符号で同程度の大きさであることが知られている。
[編集] ビネーの公式
スターリングの公式は収束しない級数を伴うので解析的に扱いづらいが、収束しない級数を収束する積分に換えたものとしてビネーの(第二)公式がある。
ビネーの公式は、スターリングの級数を形式的に(収束条件を無視して)操作することによっても導かれるが、厳密には対数ガンマ関数の導関数にアベル・プラナの和公式を適用して得られる。
ならf = (n + z) − 2は右半平面において正則であるからプラナの和公式により
積分して
なら
は有界であるから
である。 スターリングの公式と比較して積分定数を求め
真数に直して
を得る。なお、ビネーの公式を元にして部分積分を繰り返すとスターリングの級数が得られる。
[編集] 収束級数形式のスターリングの公式
トーマス・ベイズの John Canton への書簡が1763年に王立協会により公表されている。それによると、スターリングの公式は収束級数ではないとされていた[1]。
スターリングの公式の収束級数形式を得るには以下を評価する。
1つの方法として、階乗冪の逆数の収束級数を使う方法がある。
としたとき、次のようになる。
ここで
である。以上から次のようなスターリング級数が得られる。
これは、
のとき収束する。
[編集] 計算機向けの変形
ガンマ関数の計算機向けの近似として次の式がある。
また、次も同様である。
これらはスターリングの公式を組み替えて、その結果生じる冪級数と双曲線正弦関数のテイラー展開の間の合致を観察することで得られる。この近似は z が十進数で8桁以上で、整数部が 8 以上の場合に適している。2002年、Robert H. Windschitl がリソースの制限された計算機(電卓など)でのそれなりの正確性を持った近似としてこれを示した(参考文献の 'Toth' 参照)。
Gergő Nemes は 2007年にほぼ同程度の結果を与える近似式を提案した。こちらはより単純である。
また、次も同様である。
[編集] 歴史
この公式を最初に発見したのはアブラーム・ド・モアブルで、次のような形式だった。
スターリングの貢献は定数が
であることを示したことである。より正確な形式は Jacques Binet が見出した。
スターリングの近似の「一次」バージョン n! = nn は、マックス・プランクが1901年の黒体放射の論文で使用した。これは多量の光子や振動子についての黒体放射エネルギーの方程式にリンクしている。この近似は量子論でよく使われ、例えばピーター・デバイとルイ・ド・ブロイも使っている。アルベルト・アインシュタインとサティエンドラ・ボースは違う方式を採用した。非常に大きな n について確率分布をグラフに描画してみると、両者はほぼ並行になる。
[編集] 外部リンク
- A collected derivation of Stirling's equation by Timothy Jones
[編集] 参考文献
- Abramowitz, M. and Stegun, I., Handbook of Mathematical Functions, http://www.math.hkbu.edu.hk/support/aands/toc.htm
- Paris, R. B., and Kaminsky, D., Asymptotics and the Mellin-Barnes Integrals, Cambridge University Press, 2001
- Whittaker, E. T., and Watson, G. N., A Course in Modern Analysis, fourth edition, Cambridge University Press, 1963. ISBN 0-521-58807-3
- Toth, V. T. Programmable Calculators: Calculators and the Gamma Function. http://www.rskey.org/gamma.htm, modified 2006
- Elic W. Weisstein, Stirling's Approximation at MathWorld
- Stirling's approximation at PlanetMath




![\int_{x=\frac{1}{2}}^{n+\frac{1}{2}}\log{x}dx=\left[x\log{x}-x\right]_{1/2}^{n+1/2}=\left(n+\frac{1}{2}\right)\log\left(n+\frac{1}{2}\right)-\left(n+\frac{1}{2}\right)-\left(\frac{1}{2}\right)\log\left(\frac{1}{2}\right)+\frac{1}{2}](http://upload.wikimedia.org/math/6/2/0/6201239ee618d6d73931632a6f9db9d0.png)




















![\begin{align}\log\Gamma(z)
&=\lim_{N\to\infty}(z-1)\log{N}+\int_{n=1}^{N}f(n)dn+\frac{1}{2}\big(f(N)+f(1)\big)\\
&\qquad+\sum_{k=1}^{m}\frac{B_{2k}}{(2k)!}\left(f^{(2k-1)}(N)-f^{(2k-1)}(1)\right)+\int_{n=1}^{N}\frac{B_{2m+1}(n-\lfloor{n}\rfloor)}{(2m+1)!}f^{(2m+1)}(n)dn\\
&=\lim_{N\to\infty}(z-1)\log{N}+\bigg[{n}\log{n}-{(n+z-1)}\log(n+z-1)\bigg]_{n=1}^{N}+\frac{1}{2}\big(\log{N}-\log{(N+z-1)}-\log{z}\big)\\
&\qquad+\sum_{k=1}^{m}\frac{B_{2k}}{(2k)(2k-1)}\left(\frac{1}{N^{2k-1}}-\frac{1}{(N+z-1)^{2k-1}}-1+\frac{1}{z^{2k-1}}\right)+\int_{n=1}^{N}\frac{B_{2m+1}(n-\lfloor{n}\rfloor)}{2m+1}\left(\frac{1}{n^{2m+1}}-\frac{1}{(n+z-1)^{2m+1}}\right)dn\\
&=\lim_{N\to\infty}\left(N+z-\frac{1}{2}\right)\big(\log{N}-\log{(N+z-1)}\big)+\left(z+\frac{1}{2}\right)\log{z}\\
&\qquad+\sum_{k=1}^{m}\frac{B_{2k}}{(2k)(2k-1)}\left(\frac{1}{N^{2k-1}}-\frac{1}{(N+z-1)^{2k-1}}-1+\frac{1}{z^{2k-1}}\right)+\int_{n=1}^{N}\frac{B_{2m+1}(n-\lfloor{n}\rfloor)}{2m+1}\left(\frac{1}{n^{2m+1}}-\frac{1}{(n+z-1)^{2m+1}}\right)dn\\
&=-z+1+\left(z-\frac{1}{2}\right)\log{z}-\sum_{k=1}^{m}\frac{B_{2k}}{(2k)(2k-1)}\left(1-\frac{1}{z^{2k-1}}\right)+\int_{n=1}^{N}\frac{B_{2m+1}(n-\lfloor{n}\rfloor)}{2m+1}\left(\frac{1}{n^{2m+1}}-\frac{1}{(n+z-1)^{2m+1}}\right)dn\\
\end{align}](http://upload.wikimedia.org/math/c/7/2/c723cfbaf0a19774787a77ae08aacec8.png)













![\begin{align}\left|\int_{-1}^{-\epsilon}e^{-z\left(u-\log(1+u)\right)}du\right|
&\le\frac{1}{\epsilon}\int_{-1}^{-\epsilon}\left|\frac{-u}{(1+u)}e^{-z\left(u-\log(1+u)\right)}\right|du=\frac{1}{\epsilon{z}}\left[e^{-z\left(u-\log(1+u)\right)}\right]_{-1}^{-\epsilon}\\
&=\frac{1}{\epsilon{z}}\left(e^{-z\left(\epsilon^2/2+O(\epsilon^3)\right)}\right)-0\approx{z^{2/3}}e^{-z^{1/3}/2}
\end{align}](http://upload.wikimedia.org/math/f/7/5/f7537c9936221e480f30fb3b65f23927.png)
![\begin{align}\left|\int_{\epsilon}^{\infty}e^{-z\left(u-\log(1+u)\right)}du\right|
&\le\frac{2}{\epsilon}\int_{\epsilon}^{\infty}\left|\frac{2u}{(1+u)\epsilon}e^{-z\left(u-\log(1+u)\right)}\right|du=\frac{2}{\epsilon{z}}\left[-e^{-z)\left(u-\log(1+u)\right)}\right]_{\epsilon}^{\infty}\\
&=0-\frac{2}{\epsilon{z}}\left(e^{-z)\left(\epsilon^2/2+O(\epsilon^3)\right)}\right)\approx{2z^{2/3}}e^{-z^{1/3}/2}
\end{align}](http://upload.wikimedia.org/math/a/d/4/ad41d6af51c71ca007c7168d694c37e1.png)
















![\begin{align}
\lim_{z\to\infty}\left|\int_{t=0}^{\infty}\frac{\tan^{-1}\left(\frac{t}{z}\right)}{e^{2\pi{t}}-1}dt\right|
\le\lim_{z\to\infty}\frac{1}{2\pi}\bigg[\log\left(|z|-t\right)\bigg]_{0}^{|z|^{1/2}}+\lim_{z\to\infty}\frac{Me^{2\pi}}{2\pi\left(e^{2\pi}-1\right)}\bigg[-e^{-2\pi{t}}\bigg]_{|z|^{1/2}}^{\infty}
=0
\end{align}](http://upload.wikimedia.org/math/c/6/2/c6249d01f93bb6be192e4598775ab377.png)










![n!\sim [{\rm constant}]\cdot n^{n+1/2} e^{-n}](http://upload.wikimedia.org/math/0/1/0/0104daf4c6e49605971dda0cf68a114b.png)

