阶乘

在数学中，正整数的阶乘（factorial）是所有小于等于该数的正整数的积，记作formula_1，例如5的阶乘表示为formula_2，其值为120：
并定义，1的阶乘formula_3和0的阶乘formula_4都为1，其中0的阶乘表示一个空积。
1808年，基斯顿·卡曼引进这个表示法：formula_5，符号formula_6表示连续乘积，亦即formula_7。阶乘亦可以递回方式定义：formula_8，formula_9。除了自然数之外，阶乘亦可定义于整个实数（负整数除外），其与伽玛函数的关系为：
阶乘应用在许多数学领域中，最常应用在组合数学、代数学和数学分析中。在组合数学中，阶乘代表的意义为formula_11个相异物件任意排列的数量，例如前述例子，其代表了5个相异物件共有120种排列法。在正整数的情形下，formula_11的阶乘又可以称为n的排列数。
历史.
早在12世纪，印度学者就已有使用阶乘的概念来计算排列数的纪录。1677年时，法比安·斯特德曼使用来解释阶乘的概念。在描述递回方法之后，斯特德将阶乘描述为：「现在这些方法的本质是这样的：一个数字的变化数包含了所有比他小的数字（包括本身）的所有变化数……因为一个数字的完全变化数是将较小数字的变化数视为一个整体，并透过将所有数字的完整变化联合起来。」，其原文如下：
Now the nature of these methods is such, that the changes on one number comprehends 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.
而符号是由法国数学家克里斯蒂安·克兰普在1808年使用。
定义.
阶乘可透过连乘积来定义：
用连乘积符号可表示为：
从上述公式中，可以推导出递回关系式：
但递回定义须给出起点，因此需要定义零的阶乘。
除此之外，递回关系在阶乘函数中各个值皆成立，例如：
0的阶乘.
为了将递回关系式扩展到formula_17，因此需要定义0的阶乘：
可以得到：
有几个独立的理由认为这个定义是和谐的。 其中包括：
性质.
formula_1可质因子分解为formula_29，如formula_30。
计算.
计算formula_1时，若formula_11不太大，普通的科学计算机都可以计算，能够处理不超过formula_33（古高尔）数值的计算机可以计算至formula_34，而双精度浮点数的计算机则可计算至formula_35。
当formula_11很大时，可用斯特林公式估计：
formula_37
更精确的估计是：
formula_38
其中
formula_39
非正整数的阶乘.
阶乘原始的定义是在整数，为离散，然而在部分领域如机率论要探讨到连续或其他需求（如组合数当取出的数量大于原有的数量会出现负阶乘）时，则需要将阶乘从正整数推广到实数，甚至是复数。
Γ函数和Π函数.
除了非负整数之外，还可以为非整数值定义阶乘函数，但这需要使用更高级的数值分析方法。
可以透过插值的方式将阶乘两整数之间填入数值，但其插入的数值必须也要满足阶乘的递回定义。一个良好的插值结果是formula_40函数，其为所有非负整数和复数给出了定义，而当formula_41的实部为正时，可以透过下列瑕积分来计算formula_40函数值：
它与阶乘的关系是对于任何自然数n满足：
另外，我们也可利用此式以计算任意大于-1的实数的阶乘：
复数的阶乘.
可以透过formula_40函数来计算复数的阶乘。右图显示了复数阶乘之模与辐角的等值线
令formula_47为：
右图显示了几个模（绝对值）formula_49与辐角formula_50的几个等级，图表的绘制范围为formula_51, formula_52个单位长。较粗的铅直线为辐角值为formula_53的等值线。
细线表示模或辐角相等之函数值的位置。在每个负整数的位置为奇点，无法定义其模和辐角，并且在离奇点越近的地方，等值线的密度就越密集。
在时，可使用泰勒级数来计算：
formula_54
其中，为欧拉-马斯刻若尼常数、为黎曼ζ函数。部分计算机代数的系统存在可以直接产生这些展开式系数的语法。
较大的阶乘值可透过双伽玛函数积分的连续分数来近似，这个方法由T. J. Stieltjes于1894提出。
将阶乘写为formula_55，其中formula_56为：
Stieltjes给出了其连分数值：
前几项系数formula_59为：
负整数的阶乘.
负整数的阶乘可透过阶乘的递回定义formula_60逆推而得：
但由于在此定义下计算负一的阶乘会出现除以零（即formula_62），因此无法直接给出负整数的阶乘。
其他数学结构的阶乘.
透过伽玛函数或其展开式亦可以将阶乘扩展到其他能定义加法和乘法等基本运算的数学结构，如矩阵。
矩阵的阶乘具有如下性质：
并且formula_64，其中，formula_65是单位矩阵、formula_66是一个方阵，同时formula_67是一个非奇异矩阵。
换句话说，即矩阵formula_66为单位矩阵的纯量formula_11倍，其阶乘为formula_70，例如formula_71
对于一个可对角化矩阵formula_72其阶乘为：
其中，formula_74和formula_75是formula_76的特征值，分别为formula_77和formula_78，其中，formula_79
变化.
定义扩展.
阶乘的定义可推广到复数，其与伽玛函数的关系为：
伽玛函数满足formula_81，
另一种定义扩展是阿达马伽玛函数，但由于其不在所有实数上皆能满足阶乘的递回定义，只有在正整数上满足阶乘的递回定义formula_60因此比较少被拿出来讨论。
其后面的项formula_84只有在正整数的情形为零。也因为其有加上一项，也因此，此扩展在描述负阶乘时不会有除以零的情况，而使阿达马伽玛函数是一个处处连续、无奇点的函数。
双阶乘.
正整数的双阶乘表示小于等于该数的所有具相同奇偶性的正整数的乘积，即：
formula_88
广义的双阶乘.
无视上述定义的formula_89因为即使值的formula_90，双阶乘为奇数可扩展到最实数和复数formula_41的注意到，当formula_41是一个正的奇数则：
获得的表达接受一个以上公式formula_94和formula_95并表示在条件发生的阶乘函数的formula_96既可以看出（使用乘法定理）等同于一个给定在这里。
formula_97定义为所有复数除负偶数。
比较上式与formula_98的原始定义，广义的双阶乘在formula_98的计算上须包含formula_100，即
formula_101
其中 formula_102
使用它的定义，半径为formula_103的n维超球其体积可表示为：
多重阶乘.
formula_106被称为formula_11的formula_108重阶乘，定义为：
广义的多重阶乘.
能将多重阶乘推广到复数（甚至是四元数）
四次阶乘.
所谓的四次阶乘（又称四重阶乘） 不是 formula_111，而是 formula_112，前几个四次阶乘为
它也等于
过阶乘.
hyperfactorial（有时译作过阶乘）写作formula_114，其定义为：
hyper阶乘和阶乘差不多，但产生更大的数。hyper阶乘的增长速度却并非跟一般阶乘在大小上相差很远。
前几项的hyper阶乘为：
超阶乘.
1995年，尼尔·斯洛恩和西蒙·普劳夫定义了超阶乘（superfactorial）为首formula_11个阶乘的积。即formula_117。一般来说
前几项的超阶乘为：
另一种定义.
柯利弗德·皮寇弗在他的书"Key to Infinity"定义了另一个超阶乘，写作formula_119（ formula_120为!和S重叠在一起）：formula_121(4),表示hyper4，使用高德纳箭号表示法即formula_122。这个数列：
质数阶乘.
质数阶乘是所有小于或等于该数且大于或等于2的质数的积，自然数formula_11的质数阶乘，写作formula_129。
目前质数阶乘只能用递回方式定义，因为尚未找到一个能用基本函数表示所有质数的函数或一条包含所有质数的曲线
一般情况下质数阶乘定义为：
其中, formula_131是质数计数函数，小于或等于某个实数formula_11的质数的个数的函数formula_133。
自然数阶幂.
阶幂也称叠幂或者重幂记作formula_134（感叹号!写在自然数的右上角），它的定义是将自然数1至formula_11的数由大到小作幂指数重叠排列，数学定义如下：
其中formula_137，前几项的重幂数为：
1 , 2 , 9 , 262144 , ... 
第5个重幂数是一个有183231位阿拉伯数字组成的超大自然数，其值约为formula_138
另外一种定义则是每个阶幂都先取一次阶乘：
二次阶幂：
其中formula_11，formula_144，且formula_145。
倒数阶乘.
倒数阶乘是指所有小于及等于该数的正整数之倒数的积，其值与阶乘的倒数相同：
其无穷级数收敛在e：
考量阶乘可以表示为连续的伽玛函数，则有
这个值又称为。
反阶乘.
反阶乘是阶乘的反函数，用于求解指定的数是哪个数的阶乘。例如120的反阶乘为5，因为5的阶乘为120。反阶乘可以透过泰勒级数或反伽玛函数来评估与计算。
反阶乘可以用了推算某个数大约是多少的阶乘。
由于阶乘与伽玛函数之间的关联，反阶乘也可以透过反伽玛函数近似公式来估计：
因此，反阶乘也可以写成如下的渐近分析形式：
其中formula_151是朗伯W函数。这个公式是利用史特灵公式求逆得到的，因此也可以展开为渐近级数。