欢迎光临散文网 会员登陆 & 注册

(高中生数学)斯特林公式证明

2023-06-18 02:29 作者:封包  | 我要投稿

高中生自行整理,如有错误,欢迎指出,不胜感激。

斯特林公式(Stirling's approximation)是一条用来取n的阶乘的近似值的数学公式。一般来说,阶乘的计算复杂度为线性。当要为某些极大大的n求阶乘时,常见的方法复杂度不可接受。斯特林公式能够将求解阶乘的复杂度降低到对数级。而且,即使在n很小的时候,斯特林公式的取值已经十分准确。

斯特林公式如下:

n%20!%3D%5Csqrt%7B2%20%5Cpi%20n%7D%20%5Ccdot%5Cleft(%5Cfrac%7Bn%7D%7B%5Cmathrm%7Be%7D%7D%5Cright)%5En%20%5Ccdot%20%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%20%5Cquad(0%3C%5Ctheta%3C1)

我们已经知道ln(1+x)与ln(1-x)的泰勒展开:

%5Cln%20(1%2Bx)%3Dx-%5Cfrac%7Bx%5E2%7D%7B2%7D%2B%5Cfrac%7Bx%5E3%7D%7B3%7D-%5Ccdots%2B(-1)%5E%7Bn-1%7D%20%5Cfrac%7Bx%5En%7D%7Bn%7D%2B%5Ccdots%20%5Cquad(-1%3Cx%20%5Cleq%201)

%E5%B0%86x%E6%9B%BF%E6%8D%A2%E4%B8%BA-x%3A%0A%5Cln%20(1-x)%3D-x-%5Cfrac%7Bx%5E2%7D%7B2%7D-%5Cfrac%7Bx%5E3%7D%7B3%7D-%5Ccdots-%5Cfrac%7Bx%5En%7D%7Bn%7D-%5Ccdots%20%5Cquad(-1%3Cx%3C1)

%E4%B8%A4%E8%80%85%E7%9B%B8%E5%87%8F%E5%8E%BB%E5%BE%97%E5%88%B0%EF%BC%9A%0A%5Cln%20%5Cfrac%7B1%2Bx%7D%7B1-x%7D%3D2%20x%5Cleft(1%2B%5Cfrac%7Bx%5E2%7D%7B3%7D%2B%5Cfrac%7Bx%5E4%7D%7B5%7D%2B%5Ccdots%2B%5Cfrac%7Bx%5E%7B2%20m%7D%7D%7B2%20m%2B1%7D%2B%5Ccdots%5Cright)%20%5Cquad(-1%3Cx%3C1)

设x=1/(2n+1) ,n=1,2,3,···,得:

%5Cfrac%7B1%2Bx%7D%7B1-x%7D%3D%5Cfrac%7B1%2B%5Cfrac%7B1%7D%7B2%20n%2B1%7D%7D%7B1-%5Cfrac%7B1%7D%7B2%20n%2B1%7D%7D%3D%5Cfrac%7B2%20n%2B2%7D%7B2%20n%7D%3D%5Cfrac%7Bn%2B1%7D%7Bn%7D

所以上式子就变为了:%5Cln%20%5Cfrac%7Bn%2B1%7D%7Bn%7D%3D%5Cfrac%7B2%7D%7B2%20n%2B1%7D%5Cleft%5B1%2B%5Cfrac%7B1%7D%7B3%7D%20%5Ccdot%20%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B2%7D%7D%2B%5Cfrac%7B1%7D%7B5%7D%20%5Ccdot%20%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B4%7D%7D%2B%5Ccdots%5Cright%5D

%5Cleft(n%2B%5Cfrac%7B1%7D%7B2%7D%5Cright)%20%5Cln%20%5Cleft(1%2B%5Cfrac%7B1%7D%7Bn%7D%5Cright)%3D%5Cleft%5B1%2B%5Cfrac%7B1%7D%7B3%7D%20%5Ccdot%20%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B2%7D%7D%2B%5Cfrac%7B1%7D%7B5%7D%20%5Ccdot%20%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B4%7D%7D%2B%5Ccdots%5Cright%5D

而右边的式子<1%2B%5Cfrac%7B1%7D%7B3%7D%5Cleft(%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B2%7D%7D%2B%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B4%7D%7D%2B%5Cldots%5Cright)%3D1%2B%5Cfrac%7B1%7D%7B3%7D%20%5Cfrac%7B%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B2%7D%7D%7D%7B1%20%5Cfrac%7B1%7D%7B(2%20n%2B1)%5E%7B2%7D%7D%7D%3D1%2B%5Cfrac%7B1%7D%7B3%7D%20%5Ccdot%20%5Cfrac%7B1%7D%7B4%20n%5E%7B2%7D%2B4%20n%7D%3D1%2B%5Cfrac%7B1%7D%7B12%20n(n%2B1)%7D

因为左式显然>1,所以有1%3C%5Cleft(n%2B%5Cfrac%7B1%7D%7B2%7D%5Cright)%20%5Cln%20%5Cleft(1%2B%5Cfrac%7B1%7D%7Bn%7D%5Cright)%3C1%2B%5Cfrac%7B1%7D%7B12%20%5Cln%20(n%2B1)%7D

取一下指数:%5Cleft.e%3C%5Cleft(1%2B%5Cfrac%7B1%7D%7Bn%7D%5Cright)%5E%7Bn%2B%5Cfrac%7B1%7D%7B2%7D%7D%3Ce%5E%7B1%2B%5Cfrac%7B1%7D%7B2%20n(n%2B1)%7D%7D%20%5CLeftrightarrow%201%3C%5Cfrac%7B%5Cleft(1%2B%5Cfrac%7B1%7D%7Bn%7D%5Cright)%5E%7Bn%2B%5Cfrac%7B1%7D%7B2%7D%7D%7D%7Be%7D%3Ce%5E%7B%5Cfrac%7B1%7D%7B2%20n(n%2B1)%201%7D%7D%5Cright%5C%7D

设一下:a_%7Bn%7D%3D%20%5Cfrac%7B%20n%20!%20e%5E%7Bn%7D%7D%7Bn%5E%7Bn%2B%5Cfrac%7B1%7D%7B2%7D%7D%7D那么%5Cfrac%7Ba_%7Bn%7D%7D%7Ba_%7Bn%2B1%7D%7D%3D%5Cfrac%7Bn%20!%20e%5E%7Bn%7D(n%2B1)%5E%7Bn%2B1%2B%5Cfrac%7B1%7D%7B2%7D%7D%7D%7Bn%5E%7Bn%2B%5Cfrac%7B1%7D%7B2%7D%7D(n%2B1)%20!%20e%5E%7Bn%2B1%7D%7D%3D%5Cfrac%7B%5Cleft(1%2B%5Cfrac%7B1%7D%7Bn%7D%5Cright)%5E%7Bn%2B%5Cfrac%7B1%7D%7B2%7D%7D%7D%7Be%7D

由上面的不等式知道:%5Cfrac%7Ba_%7Bn%7D%7D%7Ba_%7Bn%2B1%7D%7D%3E1 所以该数列其实是单调递减的,且显然一定有下界0

那么该数列的极限一定存在,不妨设为a

%5Cfrac%7Ba_%7Bn%7D%7D%7Ba_%7Bn%2B1%7D%7D%3D%5Cfrac%7B%5Cleft(1%2B%5Cfrac%7B1%7D%7Bn%7D%5Cright)%5E%7Bn%2B%5Cfrac%7B1%7D%7B2%7D%7D%7D%7B%5Cmathrm%7Be%7D%7D%3C%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B1%7D%7B12%20n(n%2B1)%7D%7D%3D%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B1%7D%7B12%7D%5Cleft(%5Cfrac%7B1%7D%7Bn%7D-%5Cfrac%7B1%7D%7Bn%2B1%7D%5Cright)%7D%3D%5Cfrac%7B%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B1%7D%7B12%20n%7D%7D%7D%7B%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B1%7D%7B12(n%2B1)%7D%7D%7D

最终得到:a_%7Bn%7D%20%5Cmathrm%7Be%7D%5E%7B-%5Cfrac%7B1%7D%7B12%20n%7D%7D%3Ca_%7Bn%2B1%7D%20%5Cmathrm%7Be%7D%5E%7B-%5Cfrac%7B1%7D%7B12(n%2B1)%7D%7D我们能看出来左右两个数列a_%7Bn%7D%20e%5E%7B-%5Cfrac%7B1%7D%7B12%20n%7D%7D是单调递增的。

%5Clim%20_%7Bn%20%5Crightarrow%20%5Cinfty%7D%20a_%7Bn%7D%20e%5E%7B-%5Cfrac%7B1%7D%7B12%20n%7D%7D%3Da,所以a_%7Bn%7D%20e%5E%7B-%5Cfrac%7B1%7D%7B12%20n%7D%7D%3Ca%3Ca_%7Bn%7D

-1%3C-%5Ctheta%3C0%20%5CRightarrow-%5Cfrac%7B1%7D%7B12%20n%7D%3C-%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%3C0

两边取下指数:e%5E%7B-%5Cfrac%7B1%7D%7B12%20n%7D%7D%3Ce%5E%7B-%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%3C1%20%5CRightarrow%20a_%7Bn%7D%20e%5E%7B%5Cfrac%7B1%7D%7B12%20n%7D%7D%3Ca_%7Bn%7D%20e%5E%7B-%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%3Ca_%7Bn%7D

那么游戏就进行到了一半,现在可以得出结论:a%3Da_%7Bn%7D%20e%5E%7B-%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%2C%20%5Ctheta%20%5Cin(0%2C1)

把前面的an带进去:n%20!%3D%5Cfrac%7Ba%20%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%20n%5E%7Bn%2B%5Cfrac%7B1%7D%7B2%7D%7D%7D%7B%5Cmathrm%7Be%7D%5E%7Bn%7D%7D%3Da%20%5Csqrt%7Bn%7D%20%5Ccdot%5Cleft(%5Cfrac%7Bn%7D%7B%5Cmathrm%7Be%7D%7D%5Cright)%5E%7Bn%7D%20%5Ccdot%20%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%2C%20%5Cquad%200%3C%5Ctheta%3C1

Wallis圆周率无穷乘积公式:%5Cfrac%7B%5Cpi%7D%7B2%7D%3D%5Clim%20_%7Bn%20%5Crightarrow%20%5Cinfty%7D%20%5Cfrac%7B1%7D%7B2%20n%2B1%7D%5Cleft%5B%5Cfrac%7B2%20n%20!%20!%7D%7B(2%20n-1)%20!%20!%7D%5Cright%5D%5E%7B2%7D

%5Cfrac%7B2%20n%20!%20!%7D%7B(2%20n-1)%20!%20!%7D%3D%5Cfrac%7B(2%20n%20!%20!)%5E%7B2%7D%7D%7B2%20n%20!%20!(2%20n-1)%20!%20!%7D%3D%5Cfrac%7B(2%20n%20!%20!)%5E%7B2%7D%7D%7B2%20n%20!%7D%3D%5Cfrac%7B%5Cleft(2%5E%7Bn%7D%20%5Ctimes%20n%20!%5Cright)%5E%7B2%7D%7D%7B2%20n%20!%7D%3D%5Cfrac%7B2%5E%7B2%20n%7D(n%20!)%5E%7B2%7D%7D%7B2%20n%20!%7D

将前面的结论n变成2n:(2%20n)%20!%3Da%20%5Csqrt%7B2%20n%7D%20%5Ccdot%5Cleft(%5Cfrac%7B2%20n%7D%7B%5Cmathrm%7Be%7D%7D%5Cright)%5E%7B2%20n%7D%20%5Ccdot%20%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B%5Ctheta%5E%7B%5Cprime%7D%7D%7B24%20n%7D%7D%2C%20%5Cquad%200%3C%5Ctheta%5E%7B%5Cprime%7D%3C1

%3D%5Cfrac%7B2%5E%7B2%20n%7D(n%20!)%5E%7B2%7D%7D%7B2%20n%20!%7D%3D%5Cfrac%7B2%5E%7B2%20n%7D%5Cleft%5Ba%20%5Csqrt%7Bn%7D%20%5Ccdot%5Cleft(%5Cfrac%7Bn%7D%7Be%7D%5Cright)%5E%7Bn%7D%20%5Ccdot%20e%5E%7B%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%5Cright%5D%5E%7B2%7D%7D%7Ba%20%5Csqrt%7B2%20n%7D%20%5Ccdot%5Cleft(%5Cfrac%7B2%20n%7D%7B%5Cmathrm%7Be%7D%7D%5Cright)%5E%7B2%20n%7D%20%5Ccdot%20%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B%5Ctheta%5E%7B%5Cprime%7D%7D%7B24%20n%7D%7D%7D%3Da%20%5Cfrac%7B%5Csqrt%7Bn%7D%7D%7B%5Csqrt%7B2%7D%7D%20%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B4%20%5Ctheta-%5Ctheta'%7D%7B24%20n%7D%7D

带回到极限中:%5Cfrac%7B%5Cpi%7D%7B2%7D%3D%5Clim%20_%7Bn%20%5Crightarrow%20%5Cinfty%7D%20%5Cfrac%7B1%7D%7B2%20n%2B1%7D%5Cleft%5Ba%20%5Cfrac%7B%5Csqrt%7Bn%7D%7D%7B%5Csqrt%7B2%7D%7D%20e%5E%7B%5Cfrac%7B4%20%5Ctheta-%5Ctheta%5E%7B%5Cprime%7D%7D%7B24%20n%7D%7D%5Cright%5D%5E%7B2%7D%3D%5Clim%20_%7Bn%20%5Crightarrow%20%5Cinfty%7D%20%5Cfrac%7B1%7D%7B2%20n%2B1%7D%20%5Ccdot%20a%5E%7B2%7D%20%5Ccdot%20%5Cfrac%7Bn%7D%7B2%7D%20%5Ccdot%20e%5E%7B%5Cfrac%7B4%20%5Ctheta-%5Ctheta%5E%7B%5Cprime%7D%7D%7B12%20n%7D%7D%3D%5Cfrac%7Ba%5E%7B2%7D%7D%7B4%7D

所以a%3D%5Csqrt%7B2%20%5Cpi%7D

大功告成,代回我们之前的结论:n%20!%3D%5Csqrt%7B2%20%5Cpi%20n%7D%20%5Ccdot%5Cleft(%5Cfrac%7Bn%7D%7B%5Cmathrm%7Be%7D%7D%5Cright)%5E%7Bn%7D%20%5Ccdot%20%5Cmathrm%7Be%7D%5E%7B%5Cfrac%7B%5Ctheta%7D%7B12%20n%7D%7D%20%5Cquad(0%3C%5Ctheta%3C1)即斯特林公式。

n很大的时候:%5Clim%20_%7Bn%20%5Crightarrow%2B%5Cinfty%7D%20%5Cfrac%7Bn%20!%7D%7B%5Csqrt%7B2%20%5Cpi%20n%7D%5Cleft(%5Cfrac%7Bn%7D%7Be%7D%5Cright)%5E%7Bn%7D%7D%3D1

所以n%20!%20%5Capprox%20%5Csqrt%7B2%20%5Cpi%20n%7D%5Cleft(%5Cfrac%7Bn%7D%7Be%7D%5Cright)%5E%7Bn%7D

斯特林公式在理论和应用上都具有重要的价值,对于概率论的发展也有着重大的意义。在数学分析中,大多都是利用Г函数、级数和含参变量的积分等知识进行证明或推导,很为繁琐冗长。近年来,一些国内外学者利用概率论中的指数分布、泊松分布、χ²分布证之。

以下是一个计算斯特林公式的近似值的代码。(使用Python语言):

请注意,斯特林公式是一个近似公式,对于较大的n,它的近似值更加准确。


(高中生数学)斯特林公式证明的评论 (共 条)

分享到微博请遵守国家法律