スターリングの定理で階乗を計算する

ガンマ関数を使うと階乗の値を計算することができるが、積分を使うので少し面倒。
そこで、もう少し簡単に計算する方法がスターリングの定理で、次のように計算します。

$\displaystyle n!=\varGamma(n+1)\sim\sqrt{2\pi n}\Bigl(\frac{n}{e}\Bigr)^{n}(n\ge1)$

$\displaystyle\varGamma(\alpha)=\int_{0}^{\infty}t^{\alpha-1}e^{-t}dt\quad(\alpha\gt0)$

$t=e^x$とすると$dt=e^xdx$となり、$t\rightarrow0$ならば$x\rightarrow{-\infty}$なので

$\displaystyle\int_{0}^{\infty}t^{\alpha-1}e^{-t}dt= \int_{-\infty}^{\infty}e^{x(\alpha-1)}\exp(-e^{x})e^{x}dx$

$\displaystyle=\int_{-\infty}^{\infty}\exp(x(\alpha-1))\exp(-e^{x})\exp(x)dx=\int_{-\infty}^{\infty}\exp(\alpha x-e^{x})dx$

いきなり荒業を使っていますが、この方法だと確かにすっきりします。

ここでexpの中身を$f(x)$とすると
$f(x)=\alpha x-e^{x} \quad(\alpha\gt0)$

$f(x)$について$x=\log\alpha$ の近傍でテイラー展開してみます。$\quad\cdots\;(1)$

テイラー展開は次のように計算します。

関数 $f(x)$ が,閉区間 $[a, b]$ で連続,開区間 $(a, b)$ において $n$ 回微分可能であるとき,
$\displaystyle f(b)=f(a)+\frac{f^{\prime}(a)}{1!}(b-a)+\frac{f^{\prime \prime}(a)}{2!}(b-a)^2+\cdots \cdots+\frac{f^{(n-1)}(a)}{(n-1) !}(b-a)^{n-1}+R_n$

$\displaystyle R_n=\frac{f^{(n)}(c)}{n !}(b-a)^n$

$f(x)=\alpha x-e^{x} $

$f'(x)=\alpha-e^{x}$

$f^{(k)}(x) =-e^{x}\quad(k\ge2)$

$\displaystyle f(x)=(\alpha\log\alpha-e^{\log \alpha})$

$\displaystyle+\frac{(\alpha-e^{\log \alpha})}{1!}(x-\log\alpha)+\frac{(-e^{\log \alpha})}{2!}(x-\log\alpha)^2+\frac{(-e^{\log \alpha})}{3!}(x-\log\alpha)^3+\cdots$

$\displaystyle =(\alpha\log\alpha-\alpha)-\frac{\alpha}{2!}(x-\log \alpha)^2-\frac{\alpha}{3!}(x-\log \alpha)^3-\cdots$

近似計算で2次の項までを用います。

$\displaystyle\exp f(x)=\exp(\alpha x-e^{x})$

$\displaystyle\simeq\exp(\alpha\log\alpha-\alpha)\exp\Bigl(-\frac{\alpha}{2}(x-\log\alpha )^{2}\Bigr)$

$\displaystyle=\Bigl(\frac{\alpha}{e}\Bigr)^{\alpha}\exp\Bigl(-\frac{\alpha}{2}(x-\log\alpha )^{2}\Bigr)$

$\displaystyle\varGamma(\alpha)\sim\Bigl(\frac{\alpha}{e}\Bigr)^{\alpha} \int_{-\infty}^{\infty}\exp\Bigl(-\frac{\alpha}{2}(x-\log\alpha )^{2}\Bigr)dx$

$\displaystyle=\Bigl(\frac{\alpha}{e}\Bigr)^{\alpha}\int_{-\infty}^{\infty}\exp\Bigl(-\frac{\alpha}{2}x^{2}\Bigr)dx$

$=\displaystyle\sqrt{\frac{2\pi}{\alpha}}\Bigl(\frac{\alpha}{e}\Bigr)^{\alpha}\quad\cdots\;(2)$

(2)はガウス積分から計算

$\displaystyle\int^\infty_{-\infty}e^{-ax^2}dx=\sqrt{\frac{\pi}{a}}$

$n!=\varGamma(n+1)=n\varGamma(n)$

より

$\displaystyle n!=\varGamma(n+1)\sim n\sqrt{\frac{2\pi}{n}}\Bigl(\frac{n}{e}\Bigr)^{n}$

$\displaystyle=\sqrt{2\pi n}\Bigl(\frac{n}{e}\Bigr)^{n}(n\ge1)$

ようやく導くことができました。

ICT技術

Posted by ictsr4