スターリングの近似
スターリングの近似(Stirling's approximation)またはスターリングの公式(Stirling's formula)は、階乗、あるいはその拡張の一つであるガンマ関数の漸近近似である。名称は数学者ジェイムズ・スターリングにちなむ。
スターリングの近似は精度に応じていくつかの形がある。応用上よく使われる形の公式は、ランダウの記号を用いて、
\log n!=n\log n-n+O(\log n)
である。O(log n) における次の項は (1/2)log 2πn である。故に、次によい近似の漸近公式は
n!\sim \sqrt{2\pi n} \left( \frac{n}{e} \right)^n
である。(ここで記号 \sim は両辺の比が(n → ∞ のとき) 1 に収束することを意味する。)
n! の漸近近似よりもむしろ上下からの評価が必要なことがある。そのような評価として、任意の正の整数 n に対して
\sqrt{2\pi} \, n^{n+1/2} e^{-n} \le n!\le en^{n+1/2} e^{-n}
が成り立ち、従って任意の n に対して比 n!/(nn+1/2e−n) は 2pi = 2.5066... と e = 2.71828... の間にある。
スターリングの近似は階乗の複素引数への拡張の一つであるガンマ関数 Γ(z)(正の整数 n に対し Γ(n) = (n − 1)! が成り立つ;ボーア・モレルップの定理も参照)に拡張することができ、
\Gamma(z)\sim \sqrt{\frac{2\pi}{z} \left( \frac{z}{e} \right)^z \qquad (\vert \arg z\vert \le \pi-\varepsilon ,\;\vert z\vert \to \infty )
が成り立つ(ただし ε > 0)。!arg z ! → pi のときは収束が遅くなるため、応用上は相補公式などを用いて !arg z ! ≤ pi/2 程度に制限することが多い。
スターリングの公式の厳密な証明にはオイラーの和公式、あるいは鞍点法といった複素解析の技法などを用いられることが多いが、初等的に導くことも可能である。まず階乗の対数を積分で近似する。logが凹関数であることから k-1<x<k>\log k-(k-x)\{\log k-\log(k-1)\} \;<\; \log x \;<\; \log k - \frac{1}{k}(k-x)
これを k-1 から k まで積分して
\begin{align}
&\log k-\frac{1}{2}\{\log k-\log(k-1)\} \;<\; \int_{k-1}^{k} \log x\,dx \;<\; \log k -\frac{1}{2k} \\
&\int_{k-1}^{k} \log x\,dx + \frac{1}{2k} \;<\; \log k \;<\;  \int_{k-1}^{k} \log x\,dx + \frac{1}{2}\{\log k-\log(k-1)\}
\end{align}
k=m+1,m+2,...,n に対して足し合わせると
\begin{align}
\log\frac{n!}{m!} &= \sum_{k=m+1}^{n} \log k \\
&> \int_{m}^{n} \log x\,dx + \sum_{k=m+1}^{n}\frac{1}{2k} \\
&> \int_{m}^{n} \log x\,dx + \frac{1}{2n} - \frac{1}{2m} +\int_{m}^{n} \frac{1}{2x} \,dx \\
&= (n+1/2)\log n - n + 1/(2n) - (m+1/2)\log m + m - 1/(2m) \\
\log\frac{n!}{m!} &= \sum_{k=m+1}^{n} \log k \\
&< \int_{m}^{n} \log x\,dx + \frac{1}{2}\{\log n-\log m\} \\
&= (n+1/2)\log n - n - (m+1/2)\log m + m
\end{align}
\frac{n^{n+1/2}e^{-n+1/(2n)}{m^{m+1/2}e^{-m+1/(2m)} < \frac{n!}{m!} < \frac{n^{n+1/2}e^{-n}{m^{m+1/2}e^{-m}
ここで \;a_n = \frac{n!}{n^{n+1/2}e^{-n}\; と定めると
\frac{e^{1/(2n)}{e^{1/(2m)} < \frac{a_n}{a_m} < 1
m,n→∞のとき最左辺は1に収束するから、特に n=2m のとき
\lim_{m\to\infty} \frac{a_{2m}{a_m} = 1
これとウォリスの公式の系 \;\lim_{n\to\infty} \frac{4^n (n!)^2}{\sqrt{n}(2n)!} = \sqrt{\pi}\; と比較すると、
\frac{4^n (n!)^2}{\sqrt{n}(2n)!} = \frac{4^n (a_n n^{n+1/2}e^{-n})^2}{\sqrt{n}a_{2n}(2n)^{2n+1/2}e^{-2n} = \frac{a_n^2}{\sqrt{2}a_{2n}
\lim_{n\to\infty} a_n = \lim_{n\to\infty} \frac{4^n (n!)^2}{\sqrt{n}(2n)!} \frac{\sqrt{2}a_{2n}{a_n} = \sqrt{2\pi}
を得る。
精度を改善するために an を評価する。
\begin{align}
\log\frac{a_m}{a_{m+1} &= \log m! - \left(m+\frac{1}{2}\right)\log m + m - \log(m+1)! + \left(m+\frac{3}{2}\right)\log(m+1) - m - 1 \\
&= \left(m+\frac{1}{2}\right) \log\left(1+\frac{1}{m}\right) - 1 \\
&= \left(m+\frac{1}{2}\right) \sum_{k=1}^{\infty}\frac{(-1)^{k-1}{k}\frac{1}{m^k} - 1 \\
&= \sum_{k=0}^{\infty}\frac{(-1)^k}{k+1}\frac{1}{m^k} + \sum_{k=1}^{\infty}\frac{(-1)^{k-1}{2k}\frac{1}{m^k} - 1 \\
&= \sum_{k=2}^{\infty}\frac{(k-1)(-1)^{k}{2k(k+1)}\frac{1}{m^k}
\end{align}
\begin{align}
\log\frac{a_n}{\sqrt{2\pi} &= \sum_{m=n}^{\infty}\log\frac{a_m}{a_{m+1} = \sum_{k=2}^{\infty}\frac{(k-1)(-1)^{k}{2k(k+1)} \sum_{m=n}^{\infty}\frac{1}{m^k} \\
&= \sum_{k=2}^{\infty}\frac{(-1)^{k}{2k(k+1)} \left\{\frac{1}{n^{k-1}+O\left(\frac{1}{n^k}\right)\right\} \\
&= \frac{1}{12n} + O\left(\frac{1}{n^2}\right)
\end{align}
n!\sim \sqrt{2\pi n} \left( \frac{n}{e} \right)^n \exp\left(\frac{1}{12n}\right)
\begin{align}
\log \Gamma (z) &=\log \big\{ (z-1)\Gamma (z-1)\big\} \\
&=\lim_{N\to \infty} (z-1)\log N+\sum_{n=1}^N \big\{ \log n-\log (n+z-1) \big\}
\end{align}
f(n)=\log n-\log (n+z-1) にオイラーの和公式を適用すれば
\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-(n+z-1)\log (n+z-1)+(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\} \\
&\qquad+\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\} \\
&\qquad +\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) \\
&\qquad+\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}
となる。右辺の定数を集めて
C=1-\sum_{k=1}^m \frac{B_{2k}{(2k)(2k-1)} +\int_{n=1}^N \frac{B_{2m+1}(n-\lfloor n\rfloor )dn}{(2m+1)n^{2m+1}
\log \Gamma (z)=C-z+\left( z-\frac{1}{2} \right) \log z+\sum_{k=1}^m \frac{B_{2k}{(2k)(2k-1)z^{2k-1} -\int_{n=1}^N \frac{B_{2m+1}(n-\lfloor n\rfloor )dn}{(2m+1)(n+z-1)^{2m+1}
となり、この主要部をガンマ関数の相補公式に代入して z\to i\infty とすれば
\Gamma (z)\Gamma (1-z)=-z\Gamma (z)\Gamma (-z)=\frac{\pi}{\sin \pi z}
\pi i+\log z+\log \Gamma (z)+\log \Gamma (-z)-\log \sin \pi z-\log \pi =0
\pi i+\log z+C-z+\left( z-\frac{1}{2} \right) \log z+C+z+\left( -z-\frac{1}{2} \right) \left( \pi i+\log z\right) -\log \sin \pi z-\log \pi =0
2C+\frac{\pi i}{2} -\pi iz-\log \sin \pi z-\log \pi =0
\log \sin \pi z=\log \left( e^{\pi iz}-e^{-\pi iz} \right) -\frac{\pi i}{2} -\log 2\sim \pi iz-\frac{\pi i}{2} -\log 2
C=\frac{\log 2\pi}{2}
を得る。剰余項については
\alpha =\frac{2}{1+\cos \arg z}
\begin{align}
\left| \int_{n=1}^N \frac{B_{2m+1}(n-\lfloor n\rfloor )dn}{(2m+1)(n+z-1)^{2m+1} \right|
&\le \frac{\left| B_{2m}\right〕{2m}\int_{n=1}^N \frac{dn}{\left|n+z-1\right|^{2m+1}\\
&\le \frac{\left| B_{2m}\right〕{2m\alpha^{2m+1}\int_{n=1}^N \frac{dn}{(n+\left| z\right|-1)^{2m+1}
=\frac{\left| B_{2m}\right〕{\alpha^{2m+1} \left| z\right|^{2m} =O\left( z^{-2m} \right) \\
\end{align}
である。故に
を得る。最初の数項を書き下せば
\log \Gamma (z)\sim \log \sqrt{2\pi} -z+\left( z-\frac{1}{2} \right) \log z+\frac{1}{12z} -\frac{1}{360z^3} +\frac{1}{1260z^5} -\frac{1}{1680z^7} +\frac{1}{1188z^9}
\Gamma (z)\sim \sqrt{\frac{2\pi}{z} \left( \frac{z}{e} \right)^z
\exp \left( \frac{1}{12z} -\frac{1}{360z^3} +\frac{1}{1260z^5} -\frac{1}{1680z^7} +\frac{1}{1188z^9} \right)
とやり、指数関数のテイラー展開により
\Gamma(z)\sim \sqrt{\frac{2\pi}{z} \left( \frac{z}{e} \right)^z \left( 1+\frac{1}{12z}+\frac{1}{288z^2} -\frac{139}{51840z^3} \right)
となる。
スターリングの公式は鞍点法の好適例とされることが多いが、実際に複素平面全体(負の実数を除く)で漸近近似が成立することを鞍点法によって示すのは困難であるから、ここでは z を正の実数に限定する。ガンマ関数は t=z(1+u) の置換により
\begin{align}
\Gamma(z+1)
&=\int_0^{\infty} t^z e^{-t} dt \\
&=\int_{-1}^{\infty} z^z (1+u)^z e^{-z-zu} zdu \\
&=z^{z+1} e^{-z} \int_{-1}^{\infty} e^{-z\left\{ u-\log (1+u)\right\} du \\
&=z^{z+1}e^{-z} \left( \int_{-1}^{-\varepsilon} e^{-z\left\{ u-\log (1+u)\right\}du+\int_{-\varepsilon}^{\varepsilon} {e^{-z\left\{ u-\log (1+u)\right\} du}+\int_{\varepsilon}^{\infty} e^{-z \left\{ u-\log (1+u)\right\} du \right) \qquad (\varepsilon \ll1)\\
\end{align}
となるが、z が十分に大きければ u=0 の付近が支配的であるから
\Gamma (z+1)\approx z^{z+1} e^{-z} \int_{-\varepsilon}^{\varepsilon} e^{-z\left\{ u-\log (1+u)\right\} du\approx z^{z+1} e^{-z} \int_{-\varepsilon}^{\varepsilon} e^{-\tfrac{zu^2}{2} du\approx z^{z+1} e^{-z} \int_{-\infty}^{\infty} e^{-\tfrac{zu^2}{2} du
という近似が許され、ガウス積分により
\Gamma (z+1)\sim z^{z+1} e^{-z} \sqrt\frac{2\pi}{z} =\sqrt{2\pi z} \left( \frac{z}{e}\right)^z
を得る。\varepsilon =z^{-\tfrac{1}{3} として、近似の誤差は
\begin{align}
\left| \int_{-1}^{-\varepsilon} e^{-z\left\{ u-\log (1+u)\right\} du\right|
&\le \frac{1}{\varepsilon} \int_{-1}^{-\varepsilon} \left| \frac{-u}{(1+u)} e^{-z\left\{ u-\log (1+u)\right\} \right| du=\frac{1}{\varepsilon z} \left[ e^{-z\left\{ u-\log (1+u)\right\} \right]_{-1}^{-\varepsilon} \\
&=\frac{1}{\varepsilon z} \left\{ e^{-z\left( \tfrac{\varepsilon^2}{2} +O(\varepsilon^3 )\right)} \right\} -0\approx z^{\tfrac{2}{3} e^{-\tfrac{z^{1/3}{2}
\end{align}
\begin{align}
\left| \int_{\varepsilon}^{\infty} e^{-z\left\{ u-\log (1+u)\right\} du\right|
&\le \frac{2}{\varepsilon} \int_{\varepsilon}^{\infty} \left| \frac{2u}{(1+u)\varepsilon} e^{-z\left\{ u-\log (1+u)\right\} \right| du=\frac{2}{\varepsilon z} \left[ -e^{-z \left\{ u-\log (1+u)\right\}\right]_{\varepsilon}^{\infty} \\
&=0-\frac{2}{\varepsilon z} \left\{ e^{-z \left( \tfrac{\varepsilon^2}{2} +O(\varepsilon^3 )\right)} \right\} \approx 2z^{\tfrac{2}{3} e^{-\tfrac{z^{1/3}{2}
\end{align}
\begin{align}
\int_{-\varepsilon}^{\varepsilon} e^{-z\left\{ u-\log (1+u)\right\} du
&=\int_{-\varepsilon}^{\varepsilon} e^{-z\left( \tfrac{u^2}{2} -\tfrac{u^3}{3} +O(u^4 )\right)} du=\int_{-\varepsilon}^{\varepsilon} e^{-\tfrac{zu^2}{2} e^{z\left( \tfrac{u^3}{3} +O(u^4 )\right)} du \\
&=\int_{-\varepsilon}^{\varepsilon} e^{-\tfrac{zu^2}{2} \left( 1+\frac{zu^3}{3} +zO(u^4 )\right) du \\
&=\int_{-\varepsilon}^{\varepsilon} e^{-\tfrac{zu^2}{2} \left( 1+zO(u^4 )\right) du \\
\end{align}
\left| \int_{-\varepsilon}^{\varepsilon} e^{-z\left\{ u-\log (1+u)\right\} du-\int_{-\varepsilon}^{\varepsilon} e^{-\tfrac{zu^2}{2} du\right| \le \left| zO(\varepsilon^4 )\int_{-\varepsilon}^{\varepsilon} e^{-\tfrac{zu^2}{2} du\right|=\left| O(z^{-\tfrac{1}{3} )\int_{-\varepsilon}^{\varepsilon} e^{-\tfrac{zu^2}{2} du\right|
z^{\tfrac{2}{3} e^{-\tfrac{z^{1/3}{2} \ll z^{-\tfrac{1}{2} \qquad (z\to \infty )
\Gamma (z+1)=\sqrt{2 \pi z} \left( \frac{z}{e} \right)^z \left( 1+O(z^{-\tfrac{1}{3} )\right)
を得る。これは
\lim_{z\to \infty} \frac{\Gamma (z+1)}{\sqrt{2\pi z} \left( \frac{z}{e} \right)^z }=1\qquad (|\arg z|<\pi )
を示すに十分である。ただし、実際の誤差は O(z^{-1}) であるが、それを鞍点法で示すのは困難である。
より正確に記すと、次のようになる。
n!=\sqrt{2\pi n} \; \left( \frac{n}{e} \right)^n e^{\lambda_n}
\frac{1}{12n+1} <\lambda_n <\frac{1}{12n}.
スターリングの公式は以下の級数(スターリング級数)の近似(初項で打ち切ったもの)である。
n! \sim \sqrt{2\pi n} \left( \frac{n}{e} \right)^n \left( 1+\frac{1}{12n} +\frac{1}{288n^2} -\frac{139}{51840n^3} -\frac{571}{2488320n^4} +\cdots \right)
n\to \infty としたとき、省かれた級数はその最初の項とそれ以降が相殺するように漸近していく。これは漸近展開の一例である。
以下のような階乗の対数の漸近展開も「スターリング級数」と呼ぶ。
\ln n!\sim n\ln n-n+\frac{1}{2} \ln 2\pi n+\frac{1}{12n} -\frac{1}{360n^3} +\frac{1}{1260n^5} -\frac{1}{1680n^7} +\cdots
この場合、誤差は打ち切った級数の初項と同じ符号で同程度の大きさであることが知られている。
すべての正の整数に対して、
n!=\Pi (n)=\Gamma(n+1)
が成り立つ。ここで Γ はガンマ関数を表す。
しかしながら、パイ関数 \Pi (z)=\Gamma (z+1) は、階乗とは異なり、より広く、正でない整数を除いてすべての複素数に対して定義される。それにもかかわらず、スターリングの公式をなお適用することができる。Re z > 0 であれば
\log \Gamma (z)=\left( z-\tfrac{1}{2} \right) \log z-z+\tfrac{1}{2} \log 2 \pi +2\int_0^\infty \frac{\arctan (t/z)}{e^{2\pi t}-1}\,dt
が成り立つ。
\log \Gamma (z)\sim \left( z-\tfrac{1}{2} \right) \log z-z+\tfrac{1}{2} \log 2\pi +\sum_{n=1}^\infty \frac{B_{2n}{2n(2n-1)z^{2n-1}.
ここで Bn は n 番目のベルヌーイ数である。(無限和は収束しないので、この公式は漸近展開にすぎないことに注意する。)公式はεを正数として |arg z| < π − ε であるときに絶対値の十分大きい z に対して成り立つ。公式の右辺に現れる級数はスターリング級数と呼ばれる。最初の m 項が使われるとき誤差項は O(z^{-2m-1}) である。対応する近似は
\Gamma (z)=\sqrt{\frac{2 \pi}{z}~{\left( \frac{z}{e} \right)}^z \left( 1+O\left( \frac{1}{z} \right) \right)
のように書ける。この漸近展開のより進んだ応用は Re z が定数の複素変数 z に対してである。例えば直線 1 + it 上でリーマン・ジーゲルテータ関数の Im z において適用されたスターリングの公式を見よ。
スターリングの公式は収束しない級数を伴うので解析的に扱いづらいが、収束しない級数を収束する積分に換えたものとしてビネーの(第二)公式がある。
\Gamma (z+1)=\sqrt{2\pi z} \left( \frac{z}{e} \right)^z e^{\mu (z)} ,\quad
\mu (z)=2\int_0^\infty \frac{\arctan(t/z)}{e^{2\pi t}-1} dt,\quad (\real {z}>0)
ビネーの公式は、スターリングの級数を形式的に(収束条件を無視して)操作することによっても導かれるが、厳密には対数ガンマ関数の導関数にアベル・プラナの和公式を適用して得られる。
\frac{d}{dz} \log \Gamma (z)=\lim_{N\to \infty} \log N-\sum_{n=0}^N \frac{1}{n+z}
\frac{d^2}{dz^2} \log \Gamma (z)=\sum_{n=0}^{\infty} \frac{1}{(n+z)^2}
\real z>0 なら f=(n+z)^{-2} は右半平面において正則であるからプラナの和公式により
\begin{align}
\frac{d^2}{dz^2} \log \Gamma (z)
&=\int_0^\infty \frac{1}{(n+z)^2} dt+\frac{1}{2z^2} +i\int_0^\infty \frac{(z+it)^{-2}-(z-it)^{-2}{e^{2\pi t} -1} dt \\