如何理解Gamma函数?

数系从整数扩张到实数,其实并不是一件简单的事情。
光增加实数本身意义不大,对应的计算规则也需要跟着扩张。否则就好像兑换了比特币,但发现没有消费场景,这就尴尬了。
比如,我们知道:
$$x^2=x*x$$
通过极限理论,可以把乘方扩展到实数范围,比如:
$$x^\pi\quad x^e$$
那么,下面这两个针对正整数的运算是否可以扩展到实数范围:
  • 阶乘:$n!$
  • 求导:$f^{(n)}(x)$
1 0的阶乘是多少?
阶乘是定义在正整数上的,比如:
$$ \begin{aligned} &1!=1\\ &2!=2\times 1 = 2\\ &3!=3\times 2\times 1 = 6\\ &\cdots \end{aligned} $$
那么:
$$0!=?$$
定义0的阶乘等于多少,数学家最主要考虑的是自洽。
自洽的意思是说,数学是环环相扣的,增加一个新的定义,必须让之前的公理、公式都成立。否则得不偿失。
我们来考虑$e^x$的泰勒展开:
$$ e^x=\sum_{n=0}^{+\infty}\frac{x^n}{n!} $$
那么令$x=0$有:
$$ \begin{aligned} e^0 &=\sum_{n=0}^{+\infty}\frac{0^n}{n!}\\ &=\frac{0^0}{0!}+\frac{0^1}{1!}+\frac{0^2}{2!}+\cdots\\ &=1 \end{aligned} $$
已知$0^0=1$(关于这个的定义又是另外的故事了,这里不讨论),于是,必须定义:
$$0^0=0!=1$$
才能让上面这个等式成立,才能自洽。
2 插值的游戏
现在我们知道了:
$$ \begin{aligned} &0!=1\\ &1!=1\\ &2!=2\times 1 = 2\\ &3!=3\times 2\times 1 = 6\\ &\cdots \end{aligned} $$
放在坐标轴上也就是这些点:
要把阶乘扩展到实数,最自然的想法就是找到一条穿过这些点的线,比如:
这种折线我们一般不考虑,性质太差,好多地方不可导,这样插值在数学里面意义不大。
牛顿插值法(可以参考此文):
看着还行,但是插值点多了之后(下面增加了$4!,5!,6!$三个插值点),图像就很曲折:
伯努利、欧拉、哥德巴赫尝试过各种插值法(详见神奇的伽马函数)。
我这里介绍一种插值方法,考虑这个积分:
$$ \int_0^{\infty}e^{ax}dx=-\frac{1}{a},a < 0 $$
两边对$a$求$n$次导:
$$ \begin{aligned} \frac{d^n}{da^n}\int_0^{\infty}e^{ax}dx &=\int_0^{\infty}\frac{d^n}{da^n}e^{ax}dx\\ &=\int_0^{\infty}x^ne^{ax}dx\\ &=\frac{(-1)^{n+1}n!}{a^{n+1}} \end{aligned} $$
即得到:
$$ \int_0^{\infty}x^ne^{ax}dx=\frac{(-1)^{n+1}n!}{a^{n+1}} $$
令$a=-1$,得到:
$$ \int_0^{\infty}x^ne^{-x}dx=n! $$
这个就是我们要的插值函数,稍微换一下符号,写作(高斯就是这么标记的):
$$ \prod(x)=\int_0^{\infty}t^xe^{-t}dx $$
此时有:
$$ \begin{aligned} &\prod(0)=0!=1\\ &\prod(1)=1!=1\\ &\prod(2)=2!=2\times 1 = 2\\ &\prod(3)=3!=3\times 2\times 1 = 6\\ &\cdots \end{aligned} $$
欧拉和勒让德把这个稍微改动了一下,就是现在用的Gamma函数:
$$ \Gamma(x)=\int_0^{\infty}t^{x-1}e^{-t}dx $$
此时有:
$$ \begin{aligned} &\Gamma(1)=0!=1\\ &\Gamma(2)=1!=1\\ &\Gamma(3)=2!=2\times 1 = 2\\ &\Gamma(4)=3!=3\times 2\times 1 = 6\\ &\cdots \end{aligned} $$
图像如下:
可能大家非常不习惯,为啥:
$$\Gamma(x)=(x-1)!$$
大家猜测这样定义的话,欧拉后来定义的beta函数会比较对称:
$$ {\displaystyle B (x,y)={\frac {\Gamma (x)\,\Gamma (y)}{\Gamma (x+y)}}.} $$
否则按照高斯的标记法,beta函数得长这个样子:
$$ {\displaystyle B (x,y)={\frac {\prod (x)\,\prod (y)}{\prod (x+y+1)}}.} $$
可能到时候同学们又会抱怨beta函数难以记住了。
哎,总之阴差阳错,gamma函数就是长这个样子了。就好像圆的周长是:
$$2\pi R$$
为什么会多个$2$啊?这也是欧拉给我们留下的数学遗产。
3 Gamma函数唯一吗?
其实,能够完成插值的函数不止一个,有非常多,比如:
再比如:
要我说,上面这两个插值函数还好一些,不像Gamma函数在$x\le 0$的时候,还有非常多的点取不到值,也不单调。
数学家也无法彼此说服,直到Bohr-Mullerup定理出现,平息了大部分的争论。
Bohr-Mullerup定理说的是,Gamma函数是唯一在定义域$(0,\infty)$中,满足以下三个条件的函数:
  • $f(1)=1$
  • $f(x+1)=xf(x)$
  • $log f(x)$是凸函数
前面两个条件不说了,以上的插值函数都满足,数学家最看中的是最后一个条件。
怎么说呢?最后这个条件说明这个函数性质良好,在可选的插值函数中选择一个这样的函数,数学家很满意。
当然,其他的插值函数在某些条件下也是有用的,具体可以参看这篇文章
4 分数导数
要是对$x^n$求导,令:
$$f(x)=x^n$$
有:
$$f^{(k)}(x)=\frac{n!}{(n-k)!}x^{n-k}$$
那么用Gamma函数来重新定义结果:
$$f^{(k)}(x)=\frac{\Gamma(n+1)}{\Gamma(n-k+1)}x^{n-k}$$
这样,导数又可以扩展到分数阶,比如:
$$f^{(\frac{1}{2})}(x)=\frac{\Gamma(\frac{1}{2}+1)}{\Gamma(n-\frac{1}{2}+1)}x^{n-\frac{1}{2}}$$
确实,这是分数微积分的起点。
5 总结
从整数到实数,数系的扩张很不简单,需要数学家们付出巨大的努力。通过Gamma函数可见一斑。
关于数系的扩张,也曾经写过几篇相关的文章:
本文参考:
关注马同学
马同学高等数学
微信公众号:matongxue314