史特靈漸近公式
/ STUR-ling /
100! 有多大?用手乘出來是無望的,而即使知道它大約是 9.3 * 10^157,從定義也看不出來。史特靈公式就是答案:對大的輻角,階乘(以及伽瑪函數)能被初等函數驚人地精確捕捉。在它的階乘形式中,n! 約等於 sqrt(2 pi n) * (n/e)^n。兩個成分是:一個提供爆炸性增長的冪 (n/e)^n,與一個修正大小的溫和修正項 sqrt(2 pi n)。
正確的陳述是針對伽瑪函數的、而且是漸近的:當 |z| -> infinity 在任何避開負實軸的扇形中,Gamma(z) 漸近於 sqrt(2 pi) z^(z - 1/2) e^(-z),更精確地 log Gamma(z) = (z - 1/2) log z - z + (1/2) log(2 pi) + 1/(12 z) - ...。「漸近」一詞是精確且重要的:兩邊之比趨於 1,儘管差不必趨於 0,而 1/z 的級數其實發散,但每一截斷都是貨真價實的近似。其複解析證明是把鞍點法(最速下降法)施於歐拉積分的勝利:被積函數 t^(z-1) e^(-t) 在 t = z 附近尖銳地達到峰值,環繞該峰的高斯近似產生每一項。
凡是量以階乘速度增長之處,史特靈公式無所不在。它支撐中央極限定理的鐘形曲線(經由二項式係數中的 n!)、統計力學中的熵公式、演算法分析,以及ζ函數在其函數方程中的漸近行為。誠實的提醒:它是對大 |z| 極佳、對小 z 無用的近似(它對 3! 說不出你會信賴的話),而且完整級數並不收斂——加越來越多項最終會讓結果「更糟」,所以要在最小項處停下。它是漸近展開(相對於收斂展開)的原型。
估計 10!。史特靈公式給出 sqrt(2 pi * 10) * (10/e)^10 = sqrt(20 pi) * (10/e)^10,約為 3,598,696。精確值是 10! = 3,628,800。即使在 n = 10 時相對誤差也不到 1%,且隨 n 增大而縮小;下一個修正因子 (1 + 1/120) 補上了剩餘差距的大半。
在 n = 10 時就已精確到 1% 以內;公式是漸近的,故其精確度隨輻角增大而提升。
史特靈以 1/z 冪次表示的級數是漸近的、而非收斂的——對任何固定的 z,把它所有項加起來都發散。你應在最小項處停下以得到最佳近似,而非加更多項。