Keith Conrad. Stirling's Formula.

Stirling's Formula

\[\lim_{n \rightarrow \infty} \frac{n!}{(n^n/e^n)\sqrt{2\pi n}} =1.
\]

Proof:

\[\begin{array}{ll}
n!
&= \int_{0}^\infty x^n e^{-x} \mathrm{d}x \\
&= \int_{-\sqrt{n}}^\infty (n+\sqrt{n}t)^n e^{-(n+\sqrt{n}t)} \sqrt{n} \mathrm{d}t \\
&= \frac{n^n \sqrt{n}}{e^n} \int_{-\sqrt{n}}^{\infty} (1+\frac{t}{\sqrt{n}})^n e^{-\sqrt{n}t}
\mathrm{d}t. \\
&= \frac{n^n \sqrt{n}}{e^n} \int_{-\infty}^{\infty} f_n(t)
\mathrm{d}t,
\end{array}
\]

其中

\[f_{n}(t) =
\left \{
\begin{array}{ll}
0 & t< \sqrt{n} \\
(1+\frac{t}{\sqrt{n}})^n e^{-\sqrt{n}t} & t\ge \sqrt{n}
\end{array}
\right.
\]

接下来证明\(f_n(t)\)趋于\(e^{-\frac{t^2}{2}}\),

\[\ln f_n(t) = n \ln (1+ \frac{t}{\sqrt{n}}) - \sqrt{n}t , t \ge \sqrt{n},
\]
\[\ln (1+x) = 0 + x - \frac{x^2}{2} + o(x^2),
\]

当\(n\)足够大的时候

\[\ln f_n(t) = \sqrt{n}t -t^2/2+\sqrt{n}t+o(t^2/n)=-\frac{t^2}{2}+o(t^2/n),
\]

故\(f_n(t) \rightarrow e^{-t^2/2}\).

观察(\(t \ge -\sqrt{n}\))

\[\begin{array}{ll}
\frac{\mathrm{d}}{\mathrm{d}t}(\ln f_{n+1}(t) - \ln f_n(t) )
&= \frac{\sqrt{n}t}{\sqrt{n}+t} - \frac{\sqrt{n+1}t}{\sqrt{n+1}+t} \\
&= \frac{(\sqrt{n}-\sqrt{n+1})t^2}{(\sqrt{n}+t)(\sqrt{n+1}+t)} \le 0,
\end{array}
\]

又\(f_n(0)=0\), 故

\[f_{n+1} /f_n \ge 1, \quad t \in [\sqrt{n},0),
\]
\[f_{n+1} /f_n \le 1, \quad t \in [0, +\infty).
\]

又\(f_n(t)\)非负, 故根据单调收敛定理和优解控制定理可知

\[\lim_{n\rightarrow \infty} \int_{-\infty}^{+\infty} f_n(t) \mathrm{d}t = \int_{-\infty}^{+\infty} \lim_{n\rightarrow \infty} f_n(t) \mathrm{d}t = \int_{-\infty}^{+\infty}e^{-\frac{t^2}{2}}\mathrm{d} t=\sqrt{2 \pi}.
\]

证毕.

最新文章

  1. scikit-learn 和pandas 基于windows单机机器学习环境的搭建
  2. 关于C# DataTable 的一些操作
  3. [推荐]Zookeeper大型分布式系统的可靠协调系统知识介绍
  4. BC Harry and Magical Computer (拓扑排序)
  5. SSH连接时出现「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」解决办法
  6. Java Load Properties 文件,定义message信息
  7. Android Security
  8. winform总结5&gt; winform程序开发注意事项
  9. python3.5 + PyQt5 +Eric6 实现的一个计算器
  10. 【基于url权限管理 shiro(一)】--基础
  11. unix时间转换为datetime\datetime转换为unixtime
  12. 「LuoguP1280」尼克的任务
  13. hibernate 中,出现了错误 &quot;node to traverse cannot be null!&quot; 如何改正
  14. 排错-SP2-1503:无法初始化Oracle调用界面解决
  15. LeetCode: Binary Tree Level Order Traversal 解题报告
  16. git 命令自动补全
  17. BZOJ.5329.[SDOI2018]战略游戏(圆方树 虚树)
  18. nodejs通过代理(proxy)发送http请求(request)
  19. struts2之Action获取请求参数与web元素
  20. C++获取系统时间的方法

热门文章

  1. Swift3.0 延时执行
  2. Mysql的索引调优详解:如何去创建索引以及避免索引失效
  3. Redis主从 部署和配置
  4. java中注释、关键字、标识符,数据类型(上)
  5. IO多路复用技术总结
  6. matplotlib模块详解
  7. Linux 输入指令显示 command not found(未找到命令)解决办法
  8. java 多线程 发布订阅模式:发布者java.util.concurrent.SubmissionPublisher;订阅者java.util.concurrent.Flow.Subscriber
  9. There is a cycle in the hierarchy! role对象此时是什么错误
  10. 如何用uniapp+vue开发自定义相机插件——拍照+录像功能