此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.2)

3.2.5 组合函数

组合函数

阶乘函数 n! 给出 n 个对象排列方法的数目. 对非整数 nn! 的数值由 3.2.10 节讨论的 CapitalGamma 函数获得.
二项式系数 Binomial[n, m] 个对象,不考虑顺序 的取法的数目. Catalan 数,它出现在各种树权举问题中,由二项式系数 表示为  .
多项式系数  ,表为  ,给出把 N 个不同对象分到大小为  m 个集合中的分法的数目  .

Mathematica 给出整数阶乘的精确整数结果

对非整数,Mathematica 使用伽马函数计算阶乘

对某些二项式系数,Mathematica 能给出符号结果

这里给出把 6+5=11个对象分 到包含 6 个和 5 个对象的集合

中的分法的数目该结果与  相同


斐波那西数 Fibonacci[n]满足递归关系   .它们出现在离散数学问题的广泛领域中. 对足够大的 n 接近黄金分割. 斐波那西多项式
Fibonacci[n,x] 作为展式   的系数出现.
调和数 HarmonicNumber[n]由  给定; r 阶 调和数 HarmonicNumber[n,r] 由  给定.调和数出现在许多组合估计问题中,常常起着算法的离散模拟的作用.
贝努利多项式 BernoulliB[n,x]满足母函数关系  . 贝努利数 BernoulliB[n] 由  给定. Bn 作为近似积分 的欧拉 - 麦克劳林求和公式中项的系数出现 . 贝努利数的数值值在许多数值算法中都需要. 首先通过使用 BernoulliB[n] 求出精确的有理结果,再使用 N,总可以得到这个数值值.
欧拉多项式 EulerE[n,x]有母函数  ,而欧拉数 EulerE[n]由  给出. 欧拉数通过  与盖诺奇数联系起来.

这里给出第二类贝努利多项式

也可以通过计算母函数的幂级数得到贝努利多项式

 给出贝努利数的精确有理数结果

斯特林数出现在许多组合枚举问题中. 对第一类斯特林数 StirlingS1[n,m], 给出恰包含 m 个圈的 n 个元素 的排列数目. 斯特林数满足母函数关系  . 注意某些  的定义与 Mathematica 中的不同,差别在于因子  . 第二类斯特林数 StirlingS2[n,m]给出把 n 个元素的集合分到 m 个 非空子集的分法的数目. 它们满足关系  . 划分函数 PartitionsP[n]给出把整数 n 写为正整数的和,不考虑顺序的方法的数目. PartitionsQ[n]给出把整数 n 写为正整数的和,并且和中的整数是互不相同的 写法的数目.

这里给出一个第一类斯特林的数表

斯特林数作为连乘中的系数出现

这里给出 100 的带和不带和式中项为不同的限制的划分的数目

划分函数 p(n)  一样渐近增长. 注意不能简单地使用 Plot 来生成像 PartitionsP 这样的函数的图形,因为这些函数只在整数自变量处求值

本节中的函数允许用户列举各种组合对象. 在 1.8.14 节讨论的函数, 如 Partitions,则允许用户生成元素的各种组合的列表.
标记函数 Signature[  ,  , ...  ] 给出排列的标记. 对偶 排列 ( 由偶次移项构成的 ) 它等于 +1, 对奇排列它等于 -1, 标记函数可以看作 是完全反对称的张量,Levi-Civita 符号或ꛅ符号.

旋转耦合系数

Clebsch-Gordan 系数和  -j 符号出现在量子力学中的角动量中,以及循环群 应用的研究中. ClebschGordan[  ,   ,   ,   ,  j, m ] 给出量子力学的角动量状态 的乘积展开的系数. ThreeJSymbol[  ,   ,   ,   ,   ,   ] 是 Clebsch-Gordan 系数的更对称的形式. 在 Mathematica 中, Clebsch-Gordan 系数根据 3-j 符号 来给出. SixJSymbol[  ,  ,   ,   ,  ,   ] 给出三个量子力学的解动量状态的耦合. Racah 系数通过相位联系到 6-j 符号.

3-j 符号中可给出符号参数