数学中,正整数的阶乘(英语:factorial)是所有小于等于该数的正整数,记为,例如5的阶乘表示为,其值为120

并定义,1的阶乘和0的阶乘都为1,其中0的阶乘表示一个空积[2]

实数范围内的阶乘函数,负整数除外[注 1]

1808年,基斯顿·卡曼引进这个表示法:,符号表示连续乘积,亦即。阶乘亦可以递归方式定义:。除了自然数之外,阶乘亦可定义于整个实数(负整数除外),其与伽玛函数的关系为:

阶乘应用在许多数学领域中,最常应用在组合数学代数学和数学分析中。在组合数学中,阶乘代表的意义为个相异对象任意排列的数量,例如前述例子,其代表了5个相异对象共有120种排列法。在正整数的情形下,的阶乘又可以称为n的排列数

历史

早在12世纪,印度学者就已有使用阶乘的概念来计算排列数的纪录[3]。1677年时,法比安·斯特德曼使用Change ringing英语Change ringing来解释阶乘的概念[5]。在描述递归方法之后,斯特德将阶乘描述为:“现在这些方法的本质是这样的:一个数字的变化数包含了所有比他小的数字(包括本身)的所有变化数……因为一个数字的完全变化数是将较小数字的变化数视为一个整体,并透过将所有数字的完整变化联合起来。”,其原文如下:

Now the nature of these methods is such, that the changes on one number comprehends [includes] the changes on all lesser numbers ... insomuch that a compleat Peal of changes on one number seemeth to be formed by uniting of the compleat Peals on all lesser numbers into one entire body.[6]

而符号n!是由法国数学家克里斯蒂安·克兰普在1808年使用[8]

定义

阶乘可透过连乘积来定义:

 

用连乘积符号可表示为:

 

从上述公式中,可以推导出递推关系式

 

但递归定义须给出起点,因此需要定义零的阶乘。 除此之外,递推关系在阶乘函数中各个值皆成立,例如:

 

0的阶乘

为了将递推关系式扩展 ,因此需要定义0的阶乘:

 

可以得到:

 

有几个独立的理由认为这个定义是和谐的。 其中包括:

  •  的情况, 定义为“没有任何数字相乘的结果”,所以更广泛之惯例的例子是以不存在任何约数的乘法单位元来当作其解。(参阅空积
  • 对于零个物品只有一种排列方式,因为没有任何东西可以置换,唯一的重新排列就是什么都不做。
  • 它使组合数学中的许多恒等式对所有适用的值皆有效,例如从空集合中选择0个元素的方法数,可由二项式系数给出:
 .
而从空集合中选择0个元素的方法数为一种,即没有任何东西可以取,唯一的取法就是什么都不做。定义 可以满足:
 .
更一般地,在 个相异元素的集合中取出 个相异元素的方法数,可由二项式系数给出:
 .
其方法数只有一种,即全部取出。定义 可以满足:
 
  • 此定义允许将许多公式更严谨地表达为幂级数,例如指数函数:
 

性质

 素因子分解 ,如 [9]

计算

阶乘与斯特灵公式
 (蓝色)、 (橘色),数字越大 会越趋近 。但 在负值则会因为出现虚数而无法使用。

计算 时,若 不太,普通的科学计算机都可以计算,能够处理不超过 古高尔)数值的计算机可以计算至 ,而双精度浮点数的计算机则可计算至 

 时,可用斯特林公式估计:  
更精确的估计是:  
其中  

部分函数值

部分的阶乘值(OEIS数列A000142
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.5511210043331×1025
50 3.0414093201713×1064
70 1.197857166997×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 1010101.9981097754820

非正整数的阶乘

阶乘原始的定义是在整数,为离散,然而在部分领域如概率论要探讨到连续或其他需求(如组合数当取出的数量大于原有的数量会出现负阶乘)时,则需要将阶乘从正整数推广到实数,甚至是复数。

Γ函数和Π函数

 
伽马函数将阶乘函数为非整数插值。主要线索是阶乘函数的递推关系在连续的伽马函数中也存在。

除了非负整数之外,还可以为非整数值定义阶乘函数,但这需要使用更高级的数值分析方法。

可以透过插值的方式将阶乘两整数之间填入数值,但其插入的数值必须也要满足阶乘的递归定义。一个良好的插值结果是 函数,其为所有非负整数和复数给出了定义,而当 的实部为正时,可以透过下列瑕积分来计算 函数值:

 

它与阶乘的关系是对于任何自然数n满足:

 

另外,我们也可利用此式以计算任意大于-1的实数的阶乘:

 

复数的阶乘

 
复数阶乘之模与辐角的等值线

可以透过 函数来计算复数的阶乘。右图显示了复数阶乘之模与辐角的等值线

 为:

 

右图显示了几个模(绝对值) 与辐角 的几个等级,图表的绘制范围为 ,  个单位长。较粗的铅直线为辐角值为 的等值线。

细线表示模或辐角相等之函数值的位置。在每个负整数的位置为奇点,无法定义其模和辐角,并且在离奇点越近的地方,等值线的密度就越密集。

|z| < 1时,可使用泰勒级数来计算:

 

其中,γ欧拉-马斯刻若尼常数ζ(z)黎曼ζ函数。部分计算机代数的系统存在可以直接产生这些展开式系数的语法。

z z!
实数
1、2、3、4、5 1、2、6、24、120 (OEIS数列A000142
    OEIS数列A019704
复数
   OEIS数列A212877)、(OEIS数列A212878
   
   
四元数
   
   
   
 
阶乘的色相环复变函数图形。颜色越深代表绝对值越接近零;颜色越接近白色代表绝对值趋于无穷。其中红色为正实数、青蓝色为负实数。

较大的阶乘值可透过双伽玛函数积分的连续分数来近似,这个方法由T. J. Stieltjes于1894提出。

将阶乘写为 ,其中 为:

 

Stieltjes给出了其连分数值:

 

前几项系数 [10]

n an
0  
1  
2  
3  
4  
5  
6  

负整数的阶乘

负整数的阶乘可透过阶乘的递归定义 逆推而得:

 

但由于在此定义下计算负一的阶乘会出现除以零(即 ),因此无法直接给出负整数的阶乘。

其他数学结构的阶乘

透过伽玛函数或其展开式亦可以将阶乘扩展到其他能定义加法和乘法等基本运算的数学结构,如矩阵[11]

矩阵的阶乘具有如下性质:

 

并且 ,其中, 是单位矩阵、 是一个方阵,同时 是一个非奇异矩阵[12]

换句话说,即矩阵 为单位矩阵的标量 倍,其阶乘为 ,例如 

对于一个可对角化矩阵 其阶乘为:

 [12]

其中,   特征值,分别为  ,其中, [12]

变化

定义扩展

 
伽玛函数

阶乘的定义可推广到复数,其与伽玛函数的关系为:

 

伽玛函数满足 

另一种定义扩展是阿达马伽玛函数,但由于其不在所有实数上皆能满足阶乘的递归定义,只有在正整数上满足阶乘的递归定义 因此比较少被拿出来讨论。

 

其后面的项 只有在正整数的情形为零。也因为其有加上一项,也因此,此扩展在描述负阶乘时不会有除以零的情况,而使阿达马伽玛函数是一个处处连续、无奇点的函数。

递进/递降阶乘

  • 递进阶乘: 
  • 递降阶乘: 
  •  

双阶乘

正整数的双阶乘表示小于等于该数的所有具相同奇偶性的正整数的乘积,即:

 

广义的双阶乘

无视上述定义的 因为即使值的 ,双阶乘为奇数可扩展到最实数和复数 的注意到,当 是一个正的奇数则:

 

获得的表达接受一个以上公式  并表示在条件发生的阶乘函数的 既可以看出(使用乘法定理)等同于一个给定在这里。

 定义为所有复数除负偶数。

比较上式与 的原始定义,广义的双阶乘在 的计算上须包含 ,即

 

其中  

使用它的定义,半径为 n维超球其体积可表示为:

  n=1,3,5,...
  n=2,4,6,...

多重阶乘

 被称为  重阶乘,定义为:

 

广义的多重阶乘

能将多重阶乘推广到复数(甚至是四元数

 

四次阶乘

所谓的四次阶乘(又称四重阶乘) 不是  ,而是  ,前几个四次阶乘

1, 2, 12, 120, 1680, 30240, 665280, ....

它也等于

 

过阶乘

hyperfactorial(有时译作过阶乘)写作 ,其定义为:

 

hyper阶乘和阶乘差不多,但产生更大的数。hyper阶乘的增长速度却并非跟一般阶乘在大小上相差很远。 前几项的hyper阶乘为:

1, 4, 108, 27648, 86400000, ... (OEIS数列A002109

超阶乘

1995年,尼尔·斯洛恩西蒙·普劳夫定义了超阶乘(superfactorial)为首 个阶乘的积。即 。一般来说

 

前几项的超阶乘为:

1, 2, 12, 288, 34560, 24883200, ... (OEIS数列A000178

另一种定义

柯利弗德·皮寇弗在他的书Key to Infinity定义了另一个超阶乘,写作  为!和S重叠在一起): (4),表示hyper4,使用高德纳箭号表示法 。这个数列:

 
 
 ,读作6个6重幂。
  =  ,一直写24个24,读作24个24重幂。

素数阶乘

素数阶乘是所有小于或等于该数且大于或等于2的素数的积,自然数 素数阶乘,写作 

目前素数阶乘只能用递归方式定义,因为尚未找到一个能用基本函数表示所有素数函数或一条包含所有素数曲线

一般情况下素数阶乘定义为:

 

其中,  素数计数函数,小于或等于某个实数 的素数的个数的函数 

自然数阶幂

阶幂也称叠幂或者重幂记作 (感叹号!写在自然数的右上角),它的定义是将自然数1至 的数由大到小作幂指数重叠排列,数学定义如下:

 

其中 ,前几项的重幂数为:

1 , 2 , 9 , 262144 , ... (OEIS数列A049384

第5个重幂数是一个有183231位阿拉伯数字组成的超大自然数[13][14],其值约为 

另外一种定义则是每个阶幂都先取一次阶乘:

 
前几个阶乘阶幂为:
1, 2, 36, 48708493958471199415506599153950129703565945470976, ... (OEIS数列A073581
第5个阶乘阶幂值已大于 [15][16],其值约为 

二次阶幂:

 
前几个二次阶幂为:
1, 2, 81...
第4个阶乘阶幂值已大于 ,其值约为 

相应地, 次阶幂定义如下:

 

其中  ,且 

倒数阶乘

倒数阶乘是指所有小于及等于该数的正整数之倒数的积,其值与阶乘的倒数相同:

 

其无穷级数收敛在e[17]

 

考量阶乘可以表示为连续的伽玛函数,则有

 

这个值又称为弗朗桑-罗宾逊常数英语Fransén–Robinson_constant[18]

反阶乘

 
反阶乘的复变函数图形

反阶乘是阶乘的反函数,用于求解指定的数是哪个数的阶乘。例如120的反阶乘为5,因为5的阶乘为120。反阶乘可以透过泰勒级数或反伽玛函数来评估与计算。

反阶乘可以用了推算某个数大约是多少的阶乘。

由于阶乘与伽玛函数之间的关联,反阶乘也可以透过反伽玛函数近似公式来估计:

 

因此,反阶乘也可以写成如下的渐近分析形式:[19]

 

其中 朗伯W函数。这个公式是利用史特灵公式求逆得到的,因此也可以展开为渐近级数。

符号史

  • 瑞士数学家欧拉(Euler, L.)于1751年用大写字母 表示 阶乘 
  • 意大利数学家鲁菲尼(Ruffini, P.)在1799年出版的方程著述中,用小写字母 表示 阶乘。
  • 德国数学家高斯(Gauss, C.F)于1818年则用 表示n阶乘。
  • 用符号 表示 阶乘的方法起源于英国,尚不能确定其创始人,1827年,由雅来特(Jarrett)的建议得以流行,现代有时亦用此阶乘符号。
  • 现在通用的阶乘符号 是法国数学家克拉姆(Kramp, C.)于1808年最先提出来的,后经德国数学家、物理学家格奥尔格·欧姆(Ohm, M.)等人的倡议而流行起来,直用到现在。

参见

注释

  1. ^ 例如:   
  2. ^ The publisher of Stedman 1677[4] is given as "W.S." who may have been William Smith, possibly acting as agent for the Society of College Youths, to which society the "Dedicatory" is addressed.

参考文献

  1. ^埃里克·韦斯坦因. Factorial. MathWorld. 
  1. ^ Graham, Ronald L.; Knuth, Donald E.; Patashnik, Oren, 具體數學, Reading, MA: Addison-Wesley, 1988, ISBN 0-201-14236-8 
  2. ^ Graham,Knuth & Patashnik 1988[1], p.111
  3. ^ Biggs, Norman L. The roots of combinatorics. Historia Mathematica. May 1979, 6 (2): 109–136. ISSN 0315-0860. doi:10.1016/0315-0860(79)90074-0 –通过ScienceDirect. 
  4. ^ 4.0 4.1 4.2 Stedman, Fabian, Campanalogia, London, 1677 [注 2]
  5. ^ Stedman 1677[4], pp. 6–9.
  6. ^ Stedman 1677[4], p. 8.
  7. ^ Higgins, Peter, Number Story: From Counting to Cryptography, New York: Copernicus, 2008, ISBN 978-1-84800-000-1 
  8. ^ Higgins 2008,[7] p. 12
  9. ^ 潘承洞. 《数论基础》. 现代数学基础 (丛书). 高等教育出版社. 2012年12月. ISBN 9787040364729 (中文(中国大陆)). 
  10. ^ 5.10. Digital Library of Mathematical Functions. [2010-10-17]. (原始内容存档于2010-05-29). 
  11. ^ Abul-Dahab, MA and Bakhet, AK. A certain generalized gamma matrix functions and their properties. J Anal Number Theory. 2015, 3: 63––68. 
  12. ^ 12.0 12.1 12.2 Cardoso, Joao R and Sadeghi, Amir. Computation of matrix gamma function. arXiv preprint arXiv:1806.10554. {2018. 
  13. ^ print len(str(6**(5**(4**(3**2)))))页面存档备份,存于互联网档案馆[连结内容执行超时]
  14. ^ Wolfram, Stephen. " ". from Wolfram Alpha: Computational Knowledge Engine, Wolfram Research. [2018-11-19] (英语). 
  15. ^ Wolfram, Stephen. " ". from Wolfram Alpha: Computational Knowledge Engine, Wolfram Research. [2018-11-19] (英语). 
  16. ^ Sloane, N.J.A. (编). Sequence A073581 (Factorials successively exponentiated). The On-Line Encyclopedia of Integer Sequences. OEIS Foundation. a(5) > 10^(10^50). 
  17. ^ Iwanami Sūgaku Jiten Fourth, Tokyo: Iwanami Shoten, 2007, ISBN 978-4-00-080309-0, MR 2383190 (日语)  142.D
  18. ^ Finch, S. R. "Fransén-Robinson Constant." §4.6 in Mathematical Constants. Cambridge, England: Cambridge University Press, pp. 262-264, 2003.
  19. ^ Amenyou, Folitse Komla; Jeffrey, David. "Properties and Computation of the inverse of the Gamma Function" (学位论文): 28. 2018 [2023-10-03]. (原始内容存档于2022-05-09).