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}.
\]

证毕.

Stirling's Formula的更多相关文章

  1. The Hundred Greatest Theorems

    The Hundred Greatest Theorems The millenium seemed to spur a lot of people to compile "Top 100& ...

  2. [Algorithm] Asymptotic Growth Rate

    f(n) 的形式 vs 判定形势 但,此题型过于简单,一般不出现在考题中. Extended: link Let's set n = 2^m, so m = log(n) T(n) = 2*T(n^( ...

  3. UNDERSTANDING THE GAUSSIAN DISTRIBUTION

    UNDERSTANDING THE GAUSSIAN DISTRIBUTION Randomness is so present in our reality that we are used to ...

  4. 【概率论】1-2:计数方法(Counting Methods)

    title: [概率论]1-2:计数方法(Counting Methods) categories: Mathematic Probability keywords: Counting Methods ...

  5. 一组关于{x}的积分

    \[\Large\displaystyle \int_{0}^{1}\left \{ \frac{1}{x} \right \}\mathrm{d}x~,~\int_{0}^{1}\left \{ \ ...

  6. redmine computed custom field formula tips

    项目中要用到Computed custom field插件,公式不知道怎么写,查了些资料,记录在这里. 1.http://apidock.com/ruby/Time/strftime 查看ruby的字 ...

  7. salesforce 零基础开发入门学习(十五)salesforce中formula的使用(不含Date/Time)

    本文参考官方的formula介绍PDF:https://resources.docs.salesforce.com/200/latest/en-us/sfdc/pdf/salesforce_usefu ...

  8. Hibernate @Formula 注解方式

    1.Formula的作用 Formula的作用就是用一个查询语句动态的生成一个类的属性 就是一条select count(*)...构成的虚拟列,而不是存储在数据库里的一个字段.用比较标准的说法就是: ...

  9. Hibernate @Formula

    在使用Hibernate时经常会遇到实体类某个字段存的是code值而非我们最终想要的中文具体显示的值, 如果使用Hibernate的一对一关联这种,一个属性还好说,但是如果一个实体类里有多个字段都是需 ...

随机推荐

  1. 14. GLIBCXX_3.4.9' not found - 解决办法

    在Linux中安装交叉编译器arm-linux-gcc 4.4.3,然后编译mini2440内核出错: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' ...

  2. @FeignClient同一个name,多个配置类的解决方案

    概述   我使用的spring-cloud-starter-openfeign的版本是2.0.0,然后使用@FeignClient的时候是不能一个name多个配置类的,后来也是从网络查找了各种网友的方 ...

  3. 使用mybatis更新数据时 时间字段的值自动更新

    1.debug打印出来执行的sql语句发现并没有修改时间的字段,最后发现是设计表时勾选了根据当前时间戳更新..... 去掉该字段的根据当前时间戳更新语句: alter table tableName ...

  4. 【Linux】【Commands】文本查看类

    分屏查看命令:more和less more命令: more FILE 特点:翻屏至文件尾部后自动退出: less命令: less FILE head命令: 查看文件的前n行: head [option ...

  5. springmvc中拦截器的定义和配置

    package com.hope.interceptor;import org.springframework.lang.Nullable;import org.springframework.web ...

  6. Redis慢查询配置和优化

    目录 一.介绍 二.参数配置 sql动态配置 配置文件设置 三.sql操作 四.优化 一.介绍 慢查询只记录redis执行时间,并不记录redis服务到客户端之间的网络问题. 超过多少毫秒的才被记录 ...

  7. 转: iPhone屏幕尺寸、分辨率及适配

    1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS ...

  8. [BUUCTF]REVERSE——firmware

    firmware 附件 步骤: 检查文件没有看出什么,ida载入一堆乱码,看了其他师傅的wp才知道要先binwalk对文件进行提取 120200.squashfs这是一个linux的压缩文件 我们需要 ...

  9. Python pyecharts绘制仪表盘

    一.仪表盘gauge.add方法简介 gauge.add()方法签名 add(name,attr,value, scale_range=none, angle_range=none,**kwargs) ...

  10. 转置Table.Transpose(Power Query 之 M 语言)

    数据源: 任意五行两列 目标: 转置成两行五列 操作过程: [转换]>[转置] M公式:  = Table.Transpose( 表 )