阶乘是基斯顿·卡曼(ChristianKramp,1760~1826)于 1808 年发明的运算符号.
历史
早在12世纪,印度学者就已有使用阶乘的概念来计算排列数的纪录.今天使用的符号是由法国数学家基斯顿·卡曼于1808年引入的.
定义
用连乘积符号可以表示为:
从上述公式中,可以推导出递推关系式:
例:.
零的阶乘
为了将递推关系式扩展到 ,需要定义0的阶乘:0!=1
因此由递推公式可以得到:
有几种独立的理由认为这个定义是和谐的:
1.当时,定义为“没有任何数字相乘的结果”,因此这是一个更广泛的定义“空积(emptyproduct)”的例子;
2.在组合数学中,对0个物品只有一种排列方式,即0个物品的全排列;
3,同样,在空集合中选择0个元素组成不同组的方法只有一种,即;
注: 与都表示从个不同元素中取出个元素的组合数:
4.考虑r函数在点处的情况,,r函数需要满足该值才能在该点连续.
性质
阶乘函数的性质众多,这里只能简单列举几个常见的性质.
分析学方面
考虑,其增长速率比
指数函数要快,但比双指数函数要慢(a,b>0).事实上, 的增长速率与相同.原因是
注:这里的约等号事实上并不严谨,对上述命题的严谨证明如下:
由关系式
推出
但是,
因此当时,有
由于当时有,公式的相对误差当时趋于零.
经典的
斯特林公式(Stirling's approximation)如下:
事实上,这是公式在上的特殊情况这个公式意味着我们可以通过来近似的估计的大小.斯特林公式给出了这个渐进
级数的第一项,当项数增加时,可以得到更精确的结果,如
另一个版本是使用奇数级指数函数来近似.
数论方面
整数的阶乘定义意味着可分为小于等于的素因子的乘积,的素因子的指数由勒让德公式(Legendre'sformula)给出:
注:设为任意实数,则表示不超过x的最大整数.
由此可推出的标准分解式为
例1:求100!中3的指数.
解:
例2: 是勒让德公式的一个特殊情况,给出了这个数字末尾的0的数量(即正好可以被10的次幂整除).事实上,由勒让德公式知的指数总是大于的指数,这样每个因子5才能与一个因子2配对.
关于可分性的另一个结果是
威尔逊定理(Wilson'stheorem):一个自然数是质数当且仅当.
对非负整数和,满足事实上,只需要考虑是整数即可.
若是次本原多项式,定义.那么整除.
有无限多的阶乘等于其他阶乘的乘积,如果$ 本身就是阶乘的乘积,那么自然也是阶乘的乘积(这是平凡的).目前已知的不平凡的例子只有,,.
计算
阶乘是科学计算器中常见的功能,计算时,若不太大,普通的科学计算机都可以计算,能够处理不超过数值的计算机可以计算至69!,而
双精度浮点数的计算机则可计算至170!
当很大时,可用斯特林公式估计:
更精确的估计是使用等方法。
下面介绍一个简单的计算阶乘的例子:计算10的阶乘的
C语言代码如下.
#include
intmain()
{
int n, x;
for(n = x = 1; n <= 10; ++n) {
x *= n;
}
return 0;
}
部分计算值
非正整数的阶乘
有无限多的方法可以将阶乘延拓成一个连续函数,最广泛使用的一种形式是Γ函数(gamma function)。
Γ函数
除了非负整数之外,还可以为非整数值定义阶乘函数,但这需要使用更高级的数值分析方法.
称特殊函数为第二类欧拉积分.也称为欧拉Γ函数(伽玛函数). Γ函数有如下性质:
a.定义域
由于Γ函数仅当时在下限零处收敛,而在上限无穷远处,由于快速递减因子,对任何都收敛.
于是Γ函数定义域为.
b.光滑性和导数形式
Γ函数是无限次可微的,且
c.递推公式
Γ函数的递推公式如下:因为.我们推出,当时,
d.欧拉-高斯公式
通常称下面的等式
为欧拉-高斯公式.
e.余元公式
当时,称Γ函数的自变量α与1-α是互余的,因此等式叫做Γ函数的余元公式.
f.Beta函数与gamma函数的联系
Γ函数的一些例子
例1:
注意到
注:名叫欧拉-泊松积分,其值为另一种方法是通过余元公式:带入直接得到结果.
例2:Γ函数的函数图像如下:
复数的阶乘
Γ函数也可以解析延拓到复数的半平面上(在半平面上是一个全纯函数),其形式仍为.
事实上,Γ函数在整个复平面上定义了一个亚纯函数,其所有的奇点出现在所有的非正整数上,Γ函数在处的留数是.
Γ函数在ℂ上仍然满足5.1部分的性质全部性质,此处不再赘述.
复数域上的Γ函数图像如下:
拓展
双阶乘
自然数的双阶乘用表示.双阶乘表示不超过n且与n有相同奇偶性的所有正整数的乘积.若n是自然数,则,。
例:,,,约定.
多重阶乘
被称为n的k重阶乘,其定义为,多重阶乘的一个特殊情况就是双阶乘.
递进阶乘和递降阶乘
递进阶乘:
递降阶乘:
过阶乘
Hyperfactorial(有时译作过阶乘)定义为.
超阶乘
超阶乘(superfactorial)有两种定义,一个是Sloane和Plouffe的定义.
自然数n的超阶乘的定义为.
另一个定义是柯利弗德·皮寇弗(CliffordA. Pickover)在他的书Keys to Infinity中提出的.
素数阶乘
素数阶乘(primorial)是所有小于或等于该数且大于或等于2的素数的积,自然数n的素数阶乘,写作n#.
其中是素数计数函数,表示小于或等于某个实数的素数的个数.
阶幂
阶幂(Exponential factorial)也称叠幂或者重幂. 它的定义是将自然数1至n的数由大到小作幂指数重叠排列:.其中且,前几项重幂数为1,2,9,262144,...
交替阶乘
交替阶乘(Subfactorial)的定义为对n个物体进行置换(排列),其中没有物体出现在其自然位置的排列的个数(即derangements),写作.