斯特靈公式
斯特靈公式(Stirling's formula)是一條用來取n階乘近似值的數學公式。一般來說,當n很大的時候,n階乘的計算量十分大,所以斯特靈公式十分好用;而且,即使在n很小的時候,斯特靈公式的取值已經十分準確。
公式为:
这就是说,对于足够大的整数n,这两个数互为近似值。更加精确地:
或
历史
这个公式是亚伯拉罕·棣莫弗首先发现的,形式为:
- ,其中c為常數。
斯特灵证明了公式中,約為2.506628274631。更加精确的形式是雅克·比内发现的。
推导
这个公式,以及误差的估计,可以推导如下。首先不直接估计n!,而是考虑它的自然对数:
即:
这个方程的右面是积分的近似值(利用梯形法则),而它的误差由欧拉-麦克劳林公式给出:
其中Bk是伯努利数,Rm,n是欧拉-麦克劳林公式中的余项。取极限,可得:
把这个极限记为y。由于欧拉-麦克劳林公式中的余项Rm,n满足:
其中用到了大O符号,与以上的方程结合,便得出对数形式的近似公式:
两边取指数,并选择任何正整数m,便得到了一个含有未知数ey的公式。当m=1时,公式为:
将上述表达式代入沃利斯乘积公式,并令n趋于无穷,便可以得出ey()。因此,我们便得出斯特灵公式:
这个公式也可以反复使用分部积分法来得出,首项可以通过最速下降法得到。把以下的和
用积分近似代替,可以得出不含的因子的斯特灵公式(这个因子通常在实际应用中无关):
收敛速率和误差估计
更加精确的近似公式为:
其中:
斯特灵公式实际上是以下级数(现在称为斯特灵级数)的第一个近似值:
当时,截断级数的误差等于第一个省略掉的项。这是渐近展开式的一个例子。它不是一个收敛级数;对于任何特殊值n,级数的准确性只在取有限个项时达到最大,如果再取更多的项,则准确性将变得越来越差。
阶乘的对数的渐近展开式也称为斯特灵级数:
在这种情况下,级数的误差总是与第一个省略掉的项异号,且最多同大小。
伽玛函数的斯特灵公式
对于所有正整数,有:
然而,伽玛函数与阶乘不一样,它对于所有复数都有定义。尽管如此,斯特灵公式仍然适用。如果,那么:
反复使用分部积分法,可得以下渐近展开式:
其中Bn是第n个伯努利数。当,其中ε是正数时,这个公式对于绝对值足够大的z是适用的,当使用了最初m个项时,误差项为。对应的近似值可以写为:
适用于计算器的形式
以下的近似值
或
可以通过把斯特灵公式整理,并注意到它的幂级数与双曲正弦函数的泰勒级数展开式的相似性来得出。当z的实数部分大于8时,这个近似值精确到小数点后8位。2002年,Robert H. Windschitl建议计算器用这个公式来计算伽玛函数。
Gergő Nemes在2007年提出了一个近似公式,它的精确度与Windschitl的公式相等,但更加简单:
或
参考文献
- Abramowitz, M. and Stegun, I., Handbook of Mathematical Functions, http://www.math.hkbu.edu.hk/support/aands/toc.htm 页面存档备份,存于
- 夏慧異,章家順, 斯特靈公式在高等數學中的應用, http://ordostsg.org.cn:1080/KCMS/detail/detail.aspx?filename=XUSJ200904014&dbcode=CJFR&dbname=
- 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
- 埃里克·韦斯坦因. . MathWorld.
- Stirling's approximation at PlanetMath.