Γ函数

在数学中，$\Gamma \,$函数（伽玛函数；Gamma函数），是阶乘函数在实数与复数域上的扩展。如果$n$为正整数，则：

$$\Gamma(n) = (n-1)!$$

根据解析延拓原理，伽玛函数可以定义在除去非正整数的整个复数域上：

$\Gamma(z)=\int_{0}^{\infty}t^{z-1}\mathrm{e}^{-t}\rm{d}t,$ $\Re(z)>0.$

数学家勒让德首次使用了希腊字母Γ作为该函数的记号。在几率论和组合数学中此函数很常用。

## 定义

$\Gamma \,$函数可以通过欧拉（Euler）第二类积分定义：

$$\Gamma(z)=\int_{0}^{\infty}t^{z-1}\mathrm{e}^{-t}\rm{d}t$$

对复数$z\,$，我们要求$\mathrm{Re}(z) > 0$。

$\Gamma$函数还可以通过对$\mathrm{e}^{-t}\,$做泰勒展开，解析延拓到整个复平面：

$$\Gamma(z)=\int_{1}^{\infty}\frac{t^{z-1}}{\mathrm{e}^t}{\rm{d}}t+\sum_{n=0}^{\infty}\frac{(-1)^n}{n!}\frac{1}{n+z}$$

这样定义的$\Gamma$函数在全平面除了$z=0,-1,-2,\ldots$以外的地方解析。

$\Gamma$函数也可以用无穷乘积的方式表示：

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

这说明$\Gamma(z)$是亚纯函数，而$\frac{1}{\Gamma(z)}$是全纯函数。

## 历史动机

Γ函数本身可以被看作是一个下列插值问题的解：

‘找到一个光滑曲线连接那些由 $y = (x - 1)!$ 所给定的点$(x, y)$，并要求$x$要为正整数’

由前几个的阶乘清楚地表明这样的曲线是可以被画出来的，但是我们更希望有一个精确的公式去描述这个曲线，并让阶乘的操作不会依赖于$x$值的大小。而最简单的阶乘公式 $x! = 1 \times 2 \times \cdots \times x$ 不能直接应用在$x$值为分数的时候，因为它被限定在$x$值为正整数而已。相对而言，并不存在一个有限的关于加总、乘积、幂次、指数函数或是对数函数可以表达 $x!$，但是是有一个普遍的公式借由微积分的积分与极限去表达阶乘的，而 Γ函数就是那个公式。

阶乘有无限多种的连续扩张方式将定义域扩张到非整数：可以通过任何一组孤立点画出无限多的曲线。Γ函数是实务上最好的一个选择，因为是解析的(除了非正整数点)，而且它可以被定义成很多种等价形式。然而，它并不是唯一一个扩张阶乘意义的解析函数，只要给予任何解析函数，其在正整数上为零，像是 $k\sin (m\pi x)$，会给出其他函数有着阶乘性质。

## 无穷乘积

$\Gamma\,$函数可以用无穷乘积表示：

$$\Gamma(z) = \lim_{n \to {\infty}} n! \; n^z\prod_{k=0}^{n} (z+k)^{-1}$$

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

其中$\gamma\,$是欧拉-马歇罗尼常数。

## Γ积分

$$1= \int_{0}^{\infty}\frac{x^{\alpha-1}\lambda^\alpha \mathrm{e}^{-\lambda x}}{\Gamma\left(\alpha \right)} {\rm{d}} x$$

$$\implies \frac{\Gamma\left(\alpha\right)}{\lambda^\alpha} = \int_{0}^{\infty} x^{\alpha-1}\mathrm{e}^{-\lambda x} {\rm{d}}x$$

## 递推公式

$\Gamma \,$函数的递推公式为：

$\Gamma(x+1)=x\Gamma(x)$。

对于正整数$n\,$，有

$\Gamma(n+1)=n!$。

可以说$\Gamma \,$函数是阶乘的推广。

### 递推公式的推导

$$\Gamma(n + 1) = \int_0^\infty \mathrm{e}^{-x} x ^{n + 1 - 1} \mathrm{d}x = \int_0^\infty \mathrm{e}^{-x} x ^n {\rm{d}}x$$

我们用分部积分法来计算这个积分：

$$\int_0^\infty \mathrm{e}^{-x} x ^n \mathrm{d}x = \left[\frac{-x^n}{\mathrm{e}^x}\right]_0^\infty + n \int_0^\infty \mathrm{e}^{-x} x ^{n - 1} {\rm{d}} x$$

当$x=0 \,$时，$\tfrac{-0^n}{\mathrm{e}^0} = \tfrac{0}{1} = 0$。当$x \,$趋于无穷大时，根据洛必达法则，有：

$\lim_{x \rightarrow \infty} \frac{-x^n}{\mathrm{e}^x} = \lim_{x \rightarrow \infty} \frac{-n! \cdot 0}{\mathrm{e}^x} = 0$.

因此第一项$\left[\tfrac{-x^n}{\mathrm{e}^x}\right]_0^\infty$变成了零，所以：

$$\Gamma(n + 1) = n \int_0^\infty \frac{x ^{n - 1}}{\mathrm{e}^x} {\rm{d}}x$$

等式的右面正好是$n \Gamma(n)\,$, 因此，递推公式为：

${\Gamma(n + 1) = n \Gamma(n)} \,$.

## 重要性质

- 当$z\to 0^+$时，$\Gamma(z)\to+\infty$

$\Gamma(z)\Gamma(1-z)=\frac{\pi}{\sin{\pi z}} \quad (0<\mathrm{Re}(z)<1)$.

由此可知当$\ z=\tfrac{1}{2}$时，$\Gamma\left(\tfrac{1}{2}\right)=\sqrt{\pi}$.

- 伽马函数还是负自然指数函数的梅林变换: $\Gamma(z)=\mathcal{M}\{e^{-x}\}(z).$

$\Gamma(z) \; \Gamma\left(z + \tfrac{1}{2}\right) = 2^{1-2z} \; \sqrt{\pi} \; \Gamma(2z)$。

$\Gamma(z) \; \Gamma\left(z + \tfrac{1}{m}\right) \; \Gamma\left(z + \tfrac{2}{m}\right) \cdots \Gamma\left(z + \tfrac{m-1}{m}\right) = (2 \pi)^{\frac{m-1}{2}} \; m^{\frac{1}{2} - mz} \; \Gamma(mz)$.

$\Gamma\left(n+\tfrac{1}{2}\right)=\frac{(2n)!\sqrt{\pi}}{n!4^n}$.

$$\Gamma(1/6) = \Gamma(1/3)^2 / \sqrt{\pi} * 2^{2/3} * \sin({\pi/3}).$$

$$\Gamma(5/6) = 1 / \Gamma(1/3)^2 * \sqrt{\pi}^3 * 2^{4/3} / \sqrt{3}.$$

$$\Gamma(1/10) = \Gamma(1/5) * \Gamma(2/5) / \sqrt{\pi} * 2^{4/5} * \sin({2*\pi/5}).$$

$$\Gamma(3/10) = \Gamma(1/5) / \Gamma(2/5) * \sqrt{\pi} / 2^{3/5} / \sin({3*\pi/10}).$$

$$\Gamma(7/10) = \Gamma(2/5) / \Gamma(1/5) * \sqrt{\pi} * 2^{3/5}.$$

$$\Gamma(9/10) = 1 / (\Gamma(1/5) * \Gamma(2/5)) * \sqrt{\pi}^3 / 2^{4/5} / (\sin(\pi/10) * \sin({2*\pi/5})).$$

此式可用来协助计算t分布几率密度函数、卡方分布几率密度函数、F分布几率密度函数等的累计几率。

- 极限性质

对任何实数α

$$\lim_{n\to\infty} \frac{\Gamma(n+\alpha)}{\Gamma(n)n^{\alpha}} = 1, \qquad \alpha\in\mathbf{R}$$

### 斯特灵公式

$\Gamma(z+1)$（蓝色）、$\sqrt{2\pi z}\left(\frac{z}{e}\right)^z$（橘色），数字越大$\sqrt{2\pi z}\left(\frac{z}{e}\right)^z,$会越趋近$\Gamma(z+1)$。但$\sqrt{2\pi z}\left(\frac{z}{e}\right)^z$会在负值则会因为出现虚数而无法使用。

斯特灵公式能用以估计$\Gamma(z)$函数的增长速度。公式为：

$$\Gamma(z+1)\sim\sqrt{2\pi z}\left(\frac{z}{e}\right)^z,$$

其中e约等于e。

### 特殊值

$$\begin{array}{rcccl} \Gamma\left(-\tfrac{3}{2}\right) &=& \tfrac{4}{3} \sqrt{\pi} &\approx& 2.363\,271\,801\,207 \\ \Gamma\left(-\tfrac{1}{2}\right) &=& -2\sqrt{\pi} &\approx& -3.544\,907\,701\,811 \\ \Gamma\left(\tfrac{1}{2}\right) &=& \sqrt{\pi} &\approx& 1.772\,453\,850\,906 \\ \Gamma(1) &=& 0! &=& 1 \\ \Gamma\left(\tfrac{3}{2}\right) &=& \tfrac{1}{2}\sqrt{\pi} &\approx& 0.886\,226\,925\,453 \\ \Gamma(2) &=& 1! &=& 1 \\ \Gamma\left(\tfrac{5}{2}\right) &=& \tfrac{3}{4}\sqrt{\pi} &\approx& 1.329\,340\,388\,179 \\ \Gamma(3) &=& 2! &=& 2 \\ \Gamma\left(\tfrac{7}{2}\right) &=& \tfrac{15}{8}\sqrt{\pi} &\approx& 3.323\,350\,970\,448 \\ \Gamma(4) &=& 3! &=& 6 \end{array}$$

连分数表示

伽马函数也可以在复数域表示为两个连分数之和：

$$\Gamma (z)=\cfrac{e^{-1}}{2+0-z+1\cfrac{z-1}{2+2-z+2\cfrac{z-2}{2+4-z+3\cfrac{z-3}{2+6-z+4\cfrac{z-4}{2+8-z+5\cfrac{z-5}{2+10-z+\ddots}}}}}}+\cfrac{e^{-1}}{z+0-\cfrac{z+0}{z+1+\cfrac{1}{z+2-\cfrac{z+1}{z+3+\cfrac{2}{z+4-\cfrac{z+2}{z+5+\cfrac{3}{z+6-\ddots}}}}}}}$$

## 导数

Γ函数（蓝色）、Γ函数的微分（橘色），其中，大于50与小于-20的部分被截掉。

对任何复数z，满足 Re(z) > 0，有

$$\frac{{\rm d}^n}{{\rm d}z^n}\,\Gamma(z) = \int_0^\infty t^{z-1} e^{-t} (\ln t)^{n} dt$$

于是，对任何正整数 m

$$\Gamma'(m+1) = m! \left( - \gamma + \sum_{k=1}^m\frac{1}{k} \right)\,$$

其中γ是欧拉-马歇罗尼常数。

## 复数值

$$\Gamma(x+{\rm{i}}y)=\left\{\int_1^{\infty}\frac{t^{x-1}}{\mathrm{e}^t}\cos (y\ln t){\rm{d}}t+\sum_{k=0}^{\infty}\frac{(-1)^k}{k!}\left[\frac{k+x}{(k+x)^2+y^2}\right]\right\}+{\rm{i}}\left\{\int_1^{\infty}\frac{t^{x-1}}{\mathrm{e}^t}\sin (y\ln t){\rm{d}}t-\sum_{k=0}^{\infty}\frac{(-1)^k}{k!}{\left[\frac{y}{(k+x)^2+y^2}\right]}\right\}\,$$

## 解析延拓

<image>

注意到在$\Gamma$函数的积分定义中若取$z \,$为实部大于零之复数、则积分存在，而且在右半复平面上定义一个全纯函数。利用函数方程

$$\Gamma(z)\Gamma(1-z)=\frac{\pi}{\sin{\pi z}} \quad (0 < \mathrm{Re}(z) < 1)$$

并注意到函数$\sin (\pi z) \,$在整个复平面上有解析延拓，我们可以在$\mathrm{Re}(z)<1$时设

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

从而将$\Gamma \,$函数延拓为整个复平面上的亚纯函数，它在$z=0,-1,-2,-3\cdots$有单极点，留数为

$$\mathrm{Res}(\Gamma, -n) = \dfrac{(-1)^n}{n!}.$$

## 程式实现

许多程式语言或试算表软件有提供Γ函数或对数的Γ函数，例如EXCEL。而对数的Γ函数还要再取一次自然指数才能获得Γ函数值。例如在EXCEL中，可使用GAMMALN函数，再用`EXP[GAMMALN(X)]`，即可求得任意实数的伽玛函数的值。

- 例如在EXCEL中：`EXP[GAMMALN(4/3)]`=gamma(4/3)

而在没有提供Γ函数的程式环境中，也能够过泰勒级数或斯特灵公式等方式来近似，例如Robert H. Windschitl在2002年提出的方法，其在十进制可获得有效数字八位数的精确度，已足以填满单精度浮点数的二进制有效数字24位：

$$\Gamma(z) \approx \sqrt{\frac{2 \pi}{z} } \left( \frac{z}{e} \sqrt{ z \sinh \frac{1}{z} + \frac{1}{810z^6} } \right)^{z}$$