阶乘

数学术语
收藏
0有用+1
0
阶乘(factorial)是基斯顿·卡曼(Christian Kramp,1760~1826)于1808年发明的运算符号 [1].正整数的阶乘定义为所有小于及等于该数的正整数的积,记为n!,例如5的阶乘表示为5!,其值为120:5!=1×2×3×4×5=120.
特别地,定义1!=1,0!=1.
阶乘运算满足递推公式n!=n·(n-1)!,除了自然数之外,阶乘亦可定义于整个实数(负整数除外),此时一般称其为伽玛函数.
阶乘被应用在许多数学领域中,最常应用在组合数学、代数学和数学分析中.在组合数学中,阶乘代表的意义为几个相异对象任意排列的数量,例如5!=120代表了5个相异对象共有120种排列法.在正整数的情形下,n的阶乘即组合数学中n的排列数.
中文名
阶乘
外文名
factorial
所属学科
数学
提出者
基斯顿卡曼(Christian Kramp)
发明时间
1808年

历史

播报
编辑
早在12世纪,印度学者就已有使用阶乘的概念来计算排列数的纪录 [2].今天使用的符号是由法国数学家基斯顿·卡曼于1808年引入的. [1]

定义

播报
编辑
对于一个正整数nn的阶乘可通过连乘积来定义:
[3]
用连乘积符号可以表示为:
从上述公式中,可以推导出递推关系式:
例:
.

零的阶乘

为了将递推关系式扩展到
需要定义0的阶乘:0!=1 [3]
因此由递推公式可以得到:
有几种独立的理由认为这个定义是和谐的:
1.当
时,
定义为“没有任何数字相乘的结果”,因此这是一个更广泛的定义“空积(emptyproduct)”的例子;
2.在组合数学中,对0个物品只有一种排列方式,即0个物品的全排列
[1]
3,同样,在空集合中选择0个元素组成不同组的方法只有一种,即
注:
都表示从
个不同元素中取出
个元素的组合数:
[3-4]
4.考虑r函数在
点处的情况,
,r函数需要满足该值才能在该点连续. [5]

性质

播报
编辑
阶乘函数的性质众多,这里只能简单列举几个常见的性质.

分析学方面

考虑
,其增长速率比指数函数
要快,但比双指数函数
要慢(a,b>0).事实上,
的增长速率与
相同.原因是
注:这里的约等号事实上并不严谨,对上述命题的严谨证明如下:
由关系式
推出
但是,
因此当
时,有
由于当
时有
,公式
的相对误差当
时趋于零 [5].
经典的斯特林公式(Stirling's approximation)如下:
事实上,这是公式
上的特殊情况这个公式意味着我们可以通过
来近似的估计
的大小.斯特林公式给出了这个渐进级数的第一项,当项数增加时,可以得到更精确的结果,如
另一个版本是使用奇数级指数函数来近似. [5]

数论方面

整数的阶乘定义意味着
可分为小于等于
的素因子的乘积,
的素因子
的指数由勒让德公式(Legendre'sformula)给出:
注:设
为任意实数,则
表示不超过x的最大整数.
由此可推出
的标准分解式为
例1:求 100!中 3 的指数.
解:
例2:
是勒让德公式的一个特殊情况,
给出了
这个数字末尾的0的数量(即正好可以被10的
次幂整除).事实上,由勒让德公式知
的指数总是大于
的指数,这样每个因子5才能与一个因子2配对.
关于可分性的另一个结果是威尔逊定理(Wilson'stheorem):一个自然数
是质数当且仅当
. [6]
对非负整数
,满足
事实上,只需要考虑
是整数即可. [7]
次本原多项式,定义
.那么
整除
. [7]
有无限多的阶乘等于其他阶乘的乘积,如果$n$ 本身就是阶乘的乘积,那么
自然也是阶乘的乘积(这是平凡的).目前已知的不平凡的例子只有
,
[8].

计算

播报
编辑
阶乘是科学计算器中常见的功能,计算
时,若
不太大,普通的科学计算机都可以计算,能够处理不超过
数值的计算机可以计算至
,而双精度浮点数的计算机则可计算至
很大时,可用斯特林公式估计:
更精确的估计是使用
等方法。
下面介绍一个简单的计算阶乘的例子:计算10的阶乘的C语言代码如下.
#include<stdio.h> int main(){ int n,x; for(n=x=1;x<=10;++n){ x*=n; } printf("%d\t%d\n",n,x); }

部分计算值

n
n!
0
1
1
1
2
2
3
6
4
24
5
120
6
720
7
5040
8
40320
9
362880
10
3628800
11
39916800
12
479001600
13
6227020800
14
87178291200
15
1307674368000
16
20922789888000
17
355687428096000
18
6402373705728000
19
121645100408832000
20
2432902008176640000
25
1.551121004×1025
50
3.041409320×1064
70
1.197857167×10100
100
9.332621544×10157
450
1.733368733×101000
1000
4.023872601×102567
3249
6.412337688×1010000
10000
2.846259681×1035659
25206
1.205703438×10100000
100000
2.824229408×10456573
205023
2.503898932×101000004
1000000
8.263931688×105565708
10100

非正整数的阶乘

播报
编辑
有无限多的方法可以将阶乘延拓成一个连续函数,最广泛使用的一种形式是Γ函数(gamma function)。

Γ函数

除了非负整数之外,还可以为非整数值定义阶乘函数,但这需要使用更高级的数值分析方法.
称特殊函数
为第二类欧拉积分.也称为欧拉Γ函数(伽玛函数). Γ函数有如下性质:
a.定义域
由于Γ函数仅当
时在下限零处收敛,而在上限无穷远处,由于快速递减因子
,对任何
都收敛.
于是Γ函数定义域为
.
b.光滑性和导数形式
Γ函数是无限次可微的,且
c.递推公式
Γ函数的递推公式如下:
因为
.我们推出,当
时,
d.欧拉-高斯公式
通常称下面的等式
为欧拉-高斯公式.
e.余元公式
当时,称Γ函数的自变量α与1-α是互余的,因此等式
叫做Γ函数的余元公式.
f.Beta函数与gamma函数的联系
[5]

Γ函数的一些例子

例1:
[5]
注意到
注:
名叫欧拉-泊松积分,其值为
[5]另一种方法是通过余元公式:
带入
直接得到结果. [5]
函数图像
例2:Γ函数的函数图像如下:

复数的阶乘

Γ函数也可以解析延拓到复数的半平面
上(
在半平面
上是一个全纯函数),其形式仍为
.
事实上,Γ函数在整个复平面
上定义了一个亚纯函数,其所有的奇点出现在所有的非正整数
上,Γ函数在
处的留数是
.
Γ函数在ℂ上仍然满足5.1部分的性质全部性质,此处不再赘述 [9].
复数域函数图像
复数域上的Γ函数图像如下:

拓展

播报
编辑

双阶乘

自然数的双阶乘用表示.双阶乘表示不超过n且与n有相同奇偶性的所有正整数的乘积.若n是自然数,则
例:
,约定
[10].

多重阶乘

被称为nk重阶乘,其定义为
,多重阶乘的一个特殊情况就是双阶乘.

递进阶乘和递降阶乘

递进阶乘:
递降阶乘:
[11]

过阶乘

Hyperfactorial(有时译作过阶乘)定义为
[12].

超阶乘

超阶乘(superfactorial)有两种定义,一个是Sloane和Plouffe的定义.
自然数n的超阶乘的定义为
[13].
另一个定义是柯利弗德·皮寇弗(CliffordA. Pickover)在他的书Keys to Infinity中提出的
[14].

素数阶乘

素数阶乘(primorial)是所有小于或等于该数且大于或等于2的素数的积,自然数n的素数阶乘,写作n#.
其中
是素数计数函数,表示小于或等于某个实数
的素数的个数. [15]

阶幂

阶幂(Exponential factorial)也称叠幂或者重幂. 它的定义是将自然数1至n的数由大到小作幂指数重叠排列:
.其中
,前几项重幂数为1,2,9,262144,...

交替阶乘

交替阶乘(Subfactorial)的定义为对n个物体进行置换(排列),其中没有物体出现在其自然位置的排列的个数(即derangements),写作
.
[16]