有关阶乘的一些东西

Chase12345

·

2025-08-29 22:28:04

·

算法·理论

呃呃别看到标题就不看内容了啊qwq。

写在前面

此文引用我的同学关于余元公式的证明。文章入口,此文与这位巨佬共同创作。在此膜拜并感谢!

新初一学生,轻点喷。。。

灵感来自下面:

说一句:分数微积分中大量使用 Gamma 函数,后面分数微积分我有时间也写一篇文章。

阶乘的定义

这一部分就一笔带过了。因为不难。

对于正整数 n,我们定义其阶乘 n! 为:

n!=\prod_{k=1}^{n} k

很显然地,n!=n \times (n-1)!。

其它内容

在观看这一部分内容之前,请确保自己已经掌握一些简单微积分的内容。

刚刚我们说到整数的阶乘,那么有没有一种定义在实数域甚至说复数域函数 f(x) 也能满足像上面这样的阶乘,且也满足 f(x)=f(x-1)\cdot x?

这就是我们今天的主角:Gamma 函数。

定义

什么是 Gamma 函数?我们在上面说过,Gamma 函数 \Gamma(x) 满足 \Gamma(x+1)=x \cdot \Gamma(x),且对于所有正整数 n,有 \Gamma(n)=(n-1)!(虽然也是类似阶乘但并非是直接对应的。

所以你可以把 Gamma 函数理解为阶乘的扩展。

那么,Gamma 函数是怎么进行拓展的呢?有两种定义。

定义一

这个就是欧拉积分形式。(后面我的所有关于 \Gamma(z) 的定义都是按照这个歌定义)对于所有的实部大于 0 的复数 z,Gamma 函数定义为:

\Gamma(z)=\int_0^{\infty}t^{z-1}e^{-t}\mathrm{d}t

然后为什么要是实部大于 0 的复数才可以呢?因为这样的情况下它才收敛。

定义二

维尔斯特拉斯乘积形式,好像有点小众。对于所有复数 z(除非正整数外),有:

\frac{1}{\Gamma(z)}=ze^{\gamma z}\prod_{n=1}^{\infty}\left(1+\frac{z}{n}\right)e^{-\frac{z}{n}}

其中,\gamma 是欧拉常数,大约 0.5772。

性质及证明。

递推关系

定理Ⅰ:对于复数 z,其实部 \operatorname{Re}(z)>0,满足 \Gamma(z+1)=z\Gamma(z)。且对于正整数 n,满足 \Gamma(n)=(n-1)!。

证明思路:

如果证明出前面这坨东西,后面这坨东西用:

\Gamma(1)=\int_0^{\infty} e^{-t}\mathrm{d}t=1

这个东西,就能证出来了。(这很简单吧

证明:

考虑到:

\Gamma(z+1)=\int_0^{\infty} t^ze^{-t} \mathrm{d}t

令 u=t^z,\mathrm{d}v=e^{-t} \mathrm{d}t,则 \mathrm{d}u=zt^{z-1}\mathrm{d}t,v=-e^{-t}。则:

\Gamma(z+1)=[-t^ze^{-t}]_0^{\infty}+z\int_0^{\infty} t^{z-1}e^{-t}\mathrm{d}t

当 t \to \infty,有 t^ze^{-t} \to 0,当 t \to 0 有 t^ze^{-t} \to 0(所以这就是为什么我让 z 的实部大于 0,可以让积分收敛)

解析延拓

这里涉及到一些复变函数的无聊东西。

定理Ⅱ:Gamma 函数可以解析延拓到整个复平面,除了 z=0,-1,-2,\dots 外处处解析,这些点都是单极点,留数为:

\operatorname{Res}(\Gamma,-n)=\frac{(-1)^n}{n!},\space\space n=0,1,2,\dots

证明:

由定理Ⅰ可定义 \Gamma(z) 在 \operatorname{Re}(z)>-1(除 z=0)的值。重复这个过程,可以延拓到整个复平面。

在 z=-n 处,有:

\Gamma(z)=\frac{\Gamma(z+n+1)}{z(z+1)(z+2)\cdots(z+n)}

因此,极点来自分母,在 z=-n 处,

\Gamma(z) \sim \frac{\Gamma(1)}{(-n)(-n+1)\cdots(-1)(z+n)}=\frac{1}{(-1)^nn!(z+n)}

所以留数为 \frac{(-1)^n}{n!}。

欧拉反射公式(余元公式)

定理Ⅲ:对于 z \notin \mathbb{Z},

\Gamma(z)\Gamma(1-z)=\frac{\pi}{\sin \pi z}

见此。

请注意:在看该文的时候确保掌握了简单微积分和傅里叶变换的定义。

证明方法二:

使用定义二,然后需要用到一个性质:

\Gamma(-z)=-\frac{\Gamma(1-z)}{z}

这个不难证明。略去了。

先用定义二求出两坨东西:

\frac{1}{\Gamma(z)}=ze^{\gamma z}\prod_{n=1}^{\infty}\left(1+\frac{z}{n}\right)e^{-\frac{z}{n}}\\

\frac{1}{\Gamma(-z)}=-ze^{-\gamma z}\prod_{n=1}^{\infty}\left(1-\frac{z}{n}\right)e^{\frac{z}{n}}

相乘,有:

\frac{1}{\Gamma(z)\Gamma(-z)}=-\prod_{n=1}^{\infty}\left(1-\frac{z^2}{n^2}\right)

然后用最上面的公式,有:

\frac{1}{\Gamma(z)\Gamma(-z)}=-\frac{1}{z\Gamma(z)\Gamma(1-z)}

\Gamma(z)\Gamma(1-z)=\frac{1}{z\prod\limits_{n=1}^{\infty}\left(1-\frac{z^2}{n^2}\right)}

考虑到正弦无穷积:

\sin \pi z=\pi z \prod_{n=1}^{\infty}\left(1-\frac{z^2}{n^2}\right)

所以

\Gamma(z)\Gamma(1-z)=\frac{\pi}{\sin \pi z}

证毕!

Gamma 函数和 Beta 函数的关系

这一点我们用在后面证明勒德让倍量公式。

定理Ⅳ:对于 \operatorname{Re}(a)>0,\operatorname{Re}(b)>0,有:

B(a,b)=\int_0^1t^{a-1}(1-t)^{b-1}\mathrm{d}t=\frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}

证明思路:

你直接用定义就行了呗。

证明:

由定义:

\Gamma(a)=\int_0^{\infty}x^{a-1}e^{-x}\mathrm{d}x\\

\Gamma(b)=\int_0^{\infty}y^{b-1}e^{-y}\mathrm{d}y

则:

\Gamma(a)\Gamma(b)=\int_0^{\infty} \int_0^{\infty} x^{a-1}y^{b-1}e^{-(x+y)}\mathrm{d}x\mathrm{d}y

令 x=ts,y=(1-t)s,其中 s 为雅可比行列式,有:

\Gamma(a)\Gamma(b)=\int_0^1t^{a-1}(1-t)^{b-1}\mathrm{d}t\int_0^{\infty} s^{a+b-1}e^{-s}\mathrm{d}s=B(a,b)\Gamma(a+b)

证毕。

勒德让倍量公式

定理Ⅴ:对于实部大于 0 的复数 z,有:

\Gamma(z)\Gamma\left(z+\frac{1}{2}\right)=2^{1-2z}\sqrt \pi \Gamma(2z)

证明思路:

暴力二重积分是可以做的。此方法会用在方法一。

证明方法一:

见此文(注:引用文章已征得原作者同意。)

证明方法二:

考虑到 Beta 函数和 Gamma 函数的关系:

B(z,w)=\frac{\Gamma(z)\Gamma(w)}{\Gamma(z+w)}=\int_0^1 t^{z-1}(1-t)^{w-1} \mathrm{d}t

令 z=w,有:

B(z,z)=\frac{\Gamma(z)\Gamma(z)}{\Gamma(2z)}=\int_0^1 [t(1-t)]^{z-1} \mathrm{d}t

换元 t=\frac{1+u}{2},得

\int_0^1[t(1-t)]^{z-1}\mathrm{d}t=2^{1-2z}\int_{-1}^1(1-u^2)^{z-1}\mathrm{d}u=2^{1-2z}B\left(\frac{1}{2},z\right)

其中

B\left(\frac{1}{2},z\right)=\frac{\Gamma(\frac{1}{2})\Gamma(z)}{\Gamma\left(z+\frac{1}{2}\right)}=\frac{\sqrt{\pi}\Gamma(z)}{\Gamma\left(z+\frac{1}{2}\right)}

代入整理可得:

\frac{\Gamma(z)\Gamma(z)}{\Gamma(2z)}=2^{1-2z}\frac{\sqrt{\pi}\Gamma(z)}{\Gamma\left(z+\frac{1}{2}\right)}

然后关于 \Gamma(z) \neq 0 这一点,上面的余元公式。可以直接证明非 0。直接把 Gamma 函数除过去就行了。

Stirling 公式

此东西用来估算 Gamma 函数是很精妙的一个东西。

定理Ⅵ:

\Gamma(z+1) \sim \sqrt{2\pi z}\left(\frac{z}{e}\right)^z\left(1+\frac{1}{12z}+\frac{1}{288z^2}-\frac{139}{51840z^3}\right)

当 z \to \infty 且 |\arg z| <\pi 时成立。

特别地,对于正整数 n,有:

n! \sim \sqrt{2\pi n}\left(\frac{n}{e}\right)^n

证明思路:

显然这么恶心的东西你不可能去合并。考虑鞍点法。

证明:

考虑到定义一。

\Gamma(z+1)=\int_0^{\infty} t^ze^{-t}\mathrm{d}t

令 t=z(1+u),有

\Gamma(z+1)=z^{z+1}e^{-z}\int_{-1}^{\infty} (1+u)^ze^{-zu}\mathrm{d}u

换元 u = \frac{v}{\sqrt{z}},并对 \ln (1+u) 泰勒展开,可得:

\Gamma(z+1)=z^{z+1}e^{-z} \int_{-\sqrt{z}}^{\infty} e^{\frac{-v^2}{2}}\left(1+\frac{v^3}{3\sqrt z}+\cdots\right)\mathrm{d}v

扩展积分限到整个实数轴,然后计算高斯积分,就可以得到了。由于后面计算量极大,这里就省略了。

Stirling 公式的相对误差为 O\left(\frac{1}{z}\right)。前几项提供了很优秀的近似。

应用

很显然 Gamma 函数有很多应用。

概统

这些偏结论,我就不讲了。

正态分布

标准正态分布的概率密度函数为:

f(x)=\frac{1}{\sqrt{2\pi}}e^{\frac{-x^2}{2}}

然后归一化常数 \sqrt{2\pi} 如果数感很强的人一眼就可以看出 \sqrt{2\pi}=\sqrt{2}\Gamma\left(\frac{1}{2}\right)。

Beta 分布

f(x;\alpha,\beta)=\frac{x^{\alpha-1}(1-x)^{\beta-1}}{B(\alpha,\beta)}=\frac{\Gamma(\alpha+\beta)}{\Gamma(a)\Gamma(b)}x^{\alpha-1}(1-x)^{\beta-1}

高斯积分

此处,参考了高等数学的一种思路。虽然说确实哪都是这样写的(

在此致谢。

高斯积分的定义为:

\int_{-\infty}^{\infty} e^{-x^2} \mathrm{d}x

不过由于方便起见,这里积分区间我弄成 [0,+\infty) 了,这样答案与原答案差两倍。问题不大。

先审敛。

考虑分成 [0,1] 和 [1,+\infty) 两个积分区间。

简单说说。就是,[0,1] 上 e^{-x^2} 单减。即前面这段积分小于 \int_0^1 \mathrm{d}x。就是这样没了。后面这段,可以自己考虑,因为有一个很好的 e^x。

然后,考虑到 Gamma 函数的欧拉定义。

\Gamma(s)=\int_0^{\infty} e^{-x}x^{s-1} \mathrm{d}x

换元 x=t^2,有:

\Gamma(s)=2\int_0^{\infty} e^{-t^2}t^{2s-1}\mathrm{d}t

取 s=\frac{1}{2},有:

\Gamma\left(\frac{1}{2}

\right)=2\int_0^{\infty} e^{-t^2}\mathrm{d}t=\sqrt \pi=\int_{-\infty}^{\infty} e^{-t^2}\mathrm{d}t

即得。

最重要的东西

Gamma 函数将二项式系数推广到了非整数值:

\binom{z}{w}=\frac{\Gamma(z+1)}{\Gamma(w+1)\Gamma(z-w+1)}

这一点是非常重要的。本文最重要的一个公式。

通过这个,你可以得到广义二项式定理。

总结

本文写了阶乘相关的东西。重点在于后面的 Gamma 函数。