近日整理书稿,在整理至Strling公式处时,发现当时数学老师所讲的是形式比较精细的一种:

Strling公式:\(n!=\sqrt{2\pi n}\left(\dfrac{n}{\mathrm{e}}\right)^n\mathrm{e}^{\frac{\theta_n}{12n}},\)其中\(\theta_n\in\left(\dfrac{n}{n+1},1\right)\)是一个与\(n\)有关的变量。

这相当于是利用Euler-Maclaurin求和公式所能得到的最精确形式的Strling公式之第一项。此处将这一种形式的Strling公式证明简要叙述一下,下面所用的证明方法是常见的一种证明模式。

引理1:\(\dfrac{1}{3}t^2<\dfrac{1}{2t}\ln\dfrac{1+t}{1-t}-1<\dfrac{1}{3}\cdot\dfrac{t^2}{1-t^2}.\quad(0<|t|<1)\)

证明:令\(f(t)=\ln\dfrac{1+t}{1-t}-2t-\dfrac23t^3\),则由
\[f'(t)=\dfrac1{1+t}-\dfrac1{1-t}-2-2t^3=\dfrac{2t^4}{1-t^2}>0\quad(0<|t|<1)\]
知\(f(t)\)单增,而又有\(f(t)=0\),故可见\(f(t)>0\)在\(0<|t|<1\)时恒成立,而这正是要证的不等式的左半部分。同样的道理,设\(g(t)=\ln\dfrac{1+t}{1-t}-2t-\dfrac23\cdot\dfrac{t^3}{1-t^2}\),可验证得到
\[g'(t)=\dfrac1{1+t}-\dfrac1{1-t}-2-\dfrac23\cdot\dfrac{3t^2(1-t^2)-t^3\cdot(-2t)}{(1-t^2)^2}=-\dfrac43\dfrac{t^4}{(1-t^2)^2}<0\quad(0<|t|<1)\]
从而\(g(t)\)单减,再由\(g(0)=0\)得到\(g(t)<0\)在\(0<|t|<1\)时恒成立,而这正是不等式的右半部分。综上就证明了题目所给不等式的正确性。

引理2:令\(\alpha_n=\ln(n!)+n-\left(n+\dfrac12\right)\ln n\ (n\geq1)\),证明
\[\dfrac1{12}\left(\dfrac1{n+1}-\dfrac1{n+2}\right)<\alpha_n-\alpha_{n+1}<\dfrac1{12}\left(\dfrac1n-\dfrac1{n+1}\right).\]

证明:可以算出
\[\alpha_n-\alpha_{n+1}=\left(n+\dfrac12\right)\ln\dfrac{n+1}n-1=\left.\left(\dfrac1{2x}\ln\dfrac{1+x}{1-x}-1\right)\right|_{x=\frac1{2n+1}}\]
这时应用引理1中的结果就有
\[\alpha_n-\alpha_{n+1}>\left.{\dfrac{x^2}3}\right|_{x=\frac1{2n+1}}=\dfrac12\left(\dfrac1{2n+1}\right)^2=\dfrac13\dfrac1{4n^2+4n+1}>\dfrac13\dfrac1{4(n^2+3n+2)}=\dfrac1{12}\left(\dfrac1{n+1}-\dfrac1{n+2}\right).\]
\[\alpha_n-\alpha_{n+1}<\left.{\dfrac13\dfrac{x^2}{1-x^2}}\right|_{x=\frac1{2n+1}}=\dfrac13\dfrac1{(2n+1)^2-1}=\dfrac1{12}\left(\dfrac1n-\dfrac1{n+1}\right)\]
由此就证明了题目所给的不等式。

引理3:设\(a_n=\alpha_n-\dfrac1{12n}\),\(b_n=\alpha_n-\dfrac1{12(n+1)}\),证明数列\(\{a_n\},\{b_n\}\)收敛且极限值相等。

证明:利用引理2的结果就有
\[\begin{cases}
a_n-a_{n+1}=(\alpha_n-\alpha_{n+1})-\dfrac1{12}\left(\dfrac1n-\dfrac1{n+1}\right)<0\\
b_n-b_{n+1}=(\alpha_n-\alpha_{n+1})-\dfrac1{12}\left(\dfrac1{n+1}-\dfrac1{n+2}\right)>0
\end{cases}\]
由此可见\(\{a_n\}\)是严格单增数列而\(\{b_n\}\)是严格单减数列,并且总是有\(a_n<b_n\),从而它们都有界。故由单调有界定理,它们都是收敛数列。此外,还容易验证\(\lim\limits_{n\to\infty}(b_n-a_n)=0\),因此它们的极限都相等。

最后,来证明文首所给的Strling公式。

Strling公式:\(n!=\sqrt{2\pi n}\left(\dfrac{n}{\mathrm{e}}\right)^n\mathrm{e}^{\frac{\theta_n}{12n}},\)其中\(\theta_n\in\left(\dfrac{n}{n+1},1\right)\)是一个与\(n\)有关的变量。

证明:设引理3中的两数列\(\{a_n\},\{b_n\}\)之极限值为\(\alpha\),并令
\[\begin{cases}
A_n=\mathrm{e}^{a_n}=\dfrac{n!}{\sqrt n}\left(\dfrac{\mathrm{e}}n\right)^n\mathrm{e}^{-\frac1{12n}}\\
B_n=\mathrm{e}^{b_n}=\dfrac{n!}{\sqrt n}\left(\dfrac{\mathrm{e}}n\right)^n\mathrm{e}^{-\frac1{12(n+1)}}
\end{cases}\]
那么就有\(A_n<\mathrm{e}^\alpha<B_n\)成立。记\(A=\mathrm{e}^\alpha\),那么就有\(A_n<A<B_n\),为此应该存在一个与\(n\)相关的\(\theta_n\in\left(\dfrac{n}{n+1},1\right)\)使得
\[n!=A\sqrt{n!}\left(\dfrac{n}{\mathrm{e}}\right)^n\mathrm{e}^{\frac{\theta_n}{12n}}.\]

到这里为止,我们只要将常数\(A\)确定下来就够了。为此,考虑将Wallis公式变形一下:
\[\dfrac\pi2=\lim\limits_{n\to\infty}\left(\dfrac{(2n)!!}{(2n-1)!!}\right)^2\dfrac1{2n+1}=\lim\limits_{n\to\infty}\left(\dfrac{2^{2n}(n!)^2}{(2n)!}\right)^2\dfrac1{2n+1}\]
然后代入\(n!=A\sqrt{n}\left(\dfrac{n}{\mathrm{e}}\right)^n\mathrm{e}^{\frac{\theta_n}{12n}}\)就有:
\[\lim\limits_{n\to\infty}\left[\dfrac{\left(2^{2n}\cdot A\sqrt n\left(\dfrac{n}{\mathrm{e}}\right)^n\mathrm{e}^{\frac{\theta_n}{12n}}\right)^2}{A\sqrt{2n}\left(\dfrac{2n}{\mathrm{e}}\right)^2n\cdot\mathrm{e}^{\frac{\theta_{2n}}{24n}}}\right]^2\dfrac1{2n+1}=\dfrac\pi2.\]
也即\(\lim\limits_{n\to\infty}\left(\sqrt{\dfrac n2}A\mathrm{e}^{\frac{\theta_n}{12n}}/\mathrm{e}^{\frac{\theta_{2n}}{24n}}\right)^{2n}\cdot\dfrac1{2n+1}=\dfrac\pi2.\)展开平方,我们得到
\[\lim\limits_{n\to\infty}\dfrac{nA^2}{2}\dfrac{\mathrm{e}^{\frac{\theta_n}{6n}}}{\mathrm{e}^{\frac{\theta_{2n}}{12n}}}\cdot\dfrac1{2n+1}=\dfrac{A^2}4=\dfrac\pi2\]
故解出常数\(A=\sqrt{2\pi}\)。将其带回之前的估计式中,我们就最终得到了
\[n!=\sqrt{2\pi n}\left(\dfrac{n}{\mathrm{e}}\right)^n\mathrm{e}^{\frac{\theta_n}{12n}}\]
其中\(\theta_n\in(\dfrac n{n+1},1)\)与\(n\)有关。

本篇博客的源码及pdf文件下载:https://github.com/xjtu-blacksmith/cnblogs-source/tree/master/blog-stirling.

一个形式较精细的Strling公式的证明的更多相关文章

  1. Aurora — 一个在 MSOffice 内输入 LaTeX 公式的很好用插件

    from http://blog.csdn.net/GarfieldEr007/article/details/51452986 工具名称:Aurora2x  (下载) 压缩包内有详细的安装说明. 刚 ...

  2. 给大家补充一个结构体的例子:下面TwoNumber就是一个形式上的结构体

    给大家补充一个结构体的例子:下面TwoNumber就是一个形式上的结构体: class TwoNumber {     int num1;     int num2; } public class T ...

  3. Cauchy-Binet公式的证明 及 对Denton et al. (2019)的个人注(1)

    ------------恢复内容开始------------ 据新闻报道数学天才陶哲轩和3个物理学家研究出一个只用特征值就可以计算矩阵特征向量的公式, 我感觉很有趣, 这应该能够应用在很多领域中, 所 ...

  4. 关于后缀间$LCP$的一些公式的证明

    目录 关于\(LCP\)有如下两个公式: \(LCP~Lemma\) 的证明: \(LCP~Theorem\) 的证明: 关于\(LCP\)有如下两个公式: \(LCP~Lemma:\) 对任意 \( ...

  5. 公式编辑器MathType基本使用方法总结----应付本科毕业论文完全没问题啦^_^

    本人计算数学专业毕业,写毕业论文和外文翻译的时候会遇到大量公式需要编辑,而且学校一般都要求用word.但是Word自带的公式编辑器只支持一种字体,当公式中涉及到特殊字体就不太方便了.如果用Latex来 ...

  6. office2007/2010/2013输入公式的正确方式

    博客中的文章均为 meelo 原创,请务必以链接形式注明本文地址 理工科的学生,写报告.写论文那面需要输入公式,过去大家常用的公式编辑器是mathtype,虽然功能强大,但输入极为不方便,输入个指数. ...

  7. 个人永久性免费-Excel催化剂功能第61波-快速锁定解锁单元格及显示隐藏公式

    Excel的所有功能都是需求导向的,正因为有客户在企业管理的过程中,有这样的需求出现了,然后相应的Excel就出现了相应的功能来辅助管理,学习Excel的功能,其实真的可以学习到先进企业的许多的管理思 ...

  8. 一文掌握在Word中快速编写公式

    在使用Word编写文章时,总会遇到书写数学公式的情况.使用Word的公式输入工具需要频繁地使用鼠标,因而编写公式会显得繁琐麻烦,那么有什么办法可以优雅地在Word中书写公式呢?其实Word早在Word ...

  9. latex:公式环境

    1.单行公式环境 equation 单行公式环境equation可将一个公式,不管多长都可排版为一行,并给出一个序号.而由系统提供的displaymath环境等效于公式宏包提供的equation*环境 ...

随机推荐

  1. CentOS搭建NFS服务

    系统结构 ----------------------------------------------------------------------------------------------- ...

  2. python跳坑---生成器

    贵有恒,何必三更眠五更起,最无益,只怕一日曝十日寒. 好多东西要写下来一是方便自己,二可以分享给大家,我却一拖再拖. 工作的时候看别人代码中间结果,跳了个坑,关于python generator类型: ...

  3. PLSQL(PL/SQL)集成Team Foundation Server (TFS),实现数据库代码的版本管理

    PL/SQL是面向Oralcle数据库的集成开发环境,是众多Oracle数据库开发人员的主要工具.由于PL/SQL(百度百科)不仅是一种SQL语言,更是一种过程编程语言,在项目实施过程中,会积累大量除 ...

  4. 关于CI/CD/CD (Continuous Integration/Continuous Delivery/Continuous Deployment)

    Continuous Integration (CI) Continuous integration (CI) is the process that ensures the stability of ...

  5. 前端项目打包工具weexpack的安装

    最下面是本人安装时候的系统环境,本篇文章只限于参考,不一定非得是这样,原因你懂得. 打包的过程中出现的问题 1.执行到weexpack run android的时候,到了resolving class ...

  6. java poi 获取单元格值时间

    完整帮助类:JAVA poi 帮助类 /* * poi特殊日期格式:数字格式化成-yyyy年MM月dd日,格式 * */ private static ArrayList<String> ...

  7. .net core Memcached使用

    首先,你要在你电脑上安装配置好Memcached环境哦 Startup类的ConfigureServices中加入 //memcachedcore1 services.AddEnyimMemcache ...

  8. ASP.NET 实现多页面合并一页显示

    目前业务有一个需求: 就是把多个网页合并到一个页面显示, 在实现过程中我一般使用两种方法: 利用母版页设置导航栏, 定位到每个网页; 利用用户控件( .acsx 后缀的文件), 但是有个问题就是传参比 ...

  9. Kettle 使用入门

    Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定. 本文介绍一个入门例子:使用Kettle从动态指定的文件名对应的文本文件里抽取 ...

  10. 前端工具Rythem介绍

    Rythem是一个与Fiddler同类的软件,和Fiddler一样具有 代理抓包/替换 功能,与Fiddler最大的不同是Rythem是跨平台&开源的. 另外,根据笔者的一次开发经验,Ryth ...