组合函数

n!阶乘
n!!双阶乘
Binomial[n,m]二项式系数
Multinomial[n1,n2,...]多项式系数
CatalanNumber[n]Catalan 数
Hyperfactorial[n]超阶乘
BarnesG[n]Barnes G-函数
Subfactorial[n] 个对象的错位排列数目
Fibonacci[n]斐波那契数
Fibonacci[n,x]斐波那契多项式
LucasL[n]卢卡斯数
LucasL[n,x]卢卡斯多项式
HarmonicNumber[n]调和数
HarmonicNumber[n,r] 阶调和数
BernoulliB[n]贝努利数
BernoulliB[n,x]贝努利多项式
NorlundB[n,a]Nörlund 多项式
NorlundB[n,a,x]一般贝努利多项式
EulerE[n]欧拉数
EulerE[n,x]欧拉多项式
StirlingS1[n,m]第一类斯特林数
StirlingS2[n,m]第二类斯特林数
BellB[n]贝尔数
BellB[n,x]贝尔多项式
PartitionsP[n]整数 的无约束划分的分法数目
IntegerPartitions[n]整数的划分
PartitionsQ[n] 划分到不同部分的分法数目
Signature[{i1,i2,...}]排列的标记

组合函数.

阶乘函数 给出 个对象排列方法的数目. 对于非整数 的数值由 "特殊函数" 节讨论的伽马函数获得.

二项式系数 Binomial[n, m] 可以被写为 . 它给出 个对象的集合中选取 个对象,不考虑顺序的取法的数目. Catalan 数,它出现在各种树枚举问题中,由二项式系数表示为 .

子阶乘 Subfactorial[n] 给出 个对象的排列数目,其中没有任何对象的位置是固定的. 这样的排列称为错位排列. 子阶乘由 给出.

多项式系数 Multinomial[n1, n2, ...],表示为 ,给出把 个不同对象分到大小为 个集合中的分法的数目(其中 ).

Mathematica 给出整数阶乘的精确整数结果.
In[1]:=
Click for copyable input
Out[1]=
对于非整数,Mathematica 使用伽马函数计算阶乘.
In[2]:=
Click for copyable input
Out[2]=
对于某些二项式系数,Mathematica 能给出符号结果.
In[3]:=
Click for copyable input
Out[3]=
这里给出把 个对象分到包含 6 个和 5 个对象的集合中的分法的数目.
In[4]:=
Click for copyable input
Out[4]=
该结果与 相同.
In[5]:=
Click for copyable input
Out[5]=

斐波那契数 Fibonacci[n] 满足递归关系 . 它们出现在离散数学问题的广泛领域中. 对于足够大的 接近黄金分割. 卢卡斯数 LucasL[n] 满足与斐波那契数同样的递归关系,但是初始条件为 .

斐波那契多项式 Fibonacci[n, x] 作为展式 的系数出现.

调和数 HarmonicNumber[n] 给定; 阶调和数 HarmonicNumber[n, r] 给定. 调和数出现在许多组合估计问题中,常常起着算法的离散模拟的作用.

贝努利多项式 BernoulliB[n, x] 满足母函数关系 . 贝努利数 BernoulliB[n] 给定. 作为近似积分的欧拉——麦克劳林求和公式中项的系数出现. 贝努利数通过 与 盖诺奇数 联系起来.

贝努利数的数值在许多数值算法中都需要. 首先通过使用 BernoulliB[n] 求出精确的有理结果,再使用 N,总可以得到这个数值值.

欧拉多项式 EulerE[n, x] 有母函数 ,而欧拉数 EulerE[n] 所给出.

Nörlund 多项式 NorlundB[n, a] 满足母函数关系 . 当 时,Nörlund 多项式给出贝努利数. 对于 的其它正整数值,Nörlund 多项式给出高阶贝努利数. 一般贝努利多项式 NorlundB[n, a, x] 满足母函数关系 .

这里给出第二类贝努利多项式 .
In[6]:=
Click for copyable input
Out[6]=
也可以通过计算母函数的幂级数得到贝努利多项式.
In[7]:=
Click for copyable input
Out[7]=
BernoulliB[n] 给出贝努利数的精确有理数结果.
In[8]:=
Click for copyable input
Out[8]=

斯特林数出现在许多组合枚举问题中. 对于第一类斯特林数 StirlingS1[n, m] 给出包含 个圈的 个元素的排列数目. 斯特林数满足母函数关系 . 注意某些 的定义与 Mathematica 中的不同,差别在于因子 .

第二类斯特林数 StirlingS2[n, m] 给出把 个元素的集合分到 个非空子集的分法的数目,有时表示为 . 它们满足关系 .

贝尔数 BellB[n] 给出把 个元素的集合划分为非空子集的划分方法总数. 贝尔多项式 BellB[n, x] 满足母函数关系.

划分函数 PartitionsP[n] 给出把整数 写为正整数的和,不考虑顺序的方法的数目. PartitionsQ[n] 给出把整数 写为正整数的和,并且和中的整数是互不相同的写法的数目.

IntegerPartitions[n] 给出 的划分列表,其长度为 TemplateBox[{PartitionsP, paclet:ref/PartitionsP}, RefLink, BaseStyle -> InlineFormula][n].

这里给出一个第一类斯特林的数表.
In[9]:=
Click for copyable input
Out[9]=
斯特林数作为连乘中的系数出现.
In[10]:=
Click for copyable input
Out[10]=
这里给出 4 的划分.
In[11]:=
Click for copyable input
Out[11]=
这是由 PartitionsP[4] 给出的划分数目.
In[12]:=
Click for copyable input
Out[12]=
这里给出100的带和不带和式中项为不同的限制的划分的数目.
In[13]:=
Click for copyable input
Out[13]=
划分函数 一样渐近增长. 注意不能简单地使用 Plot 来生成像 PartitionsP 这样的函数的图形,因为这些函数只在整数自变量处求值.
In[14]:=
Click for copyable input
Out[14]=

本节中的绝大多数函数允许用户列举各种组合对象. 函数如 IntegerPartitionsPermutations 允许用户生成元素的各种组合的列表.

标记函数 Signature[{i1, i2, ...}] 给出排列的标记. 对偶排列(由偶次移项构成的)它等于 ,对奇排列它等于 . 标记函数可以看作是完全反对称的张量,Levi-Civita 符号 或 epsilon 符号.

ClebschGordan[{j1,m1},{j2,m2},{j,m}]Clebsch-Gordan 系数
ThreeJSymbol[{j1,m1},{j2,m2},{j3,m3}]Wigner 3-j 符号
SixJSymbol[{j1,j2,j3},{j4,j5,j6}]Racah 6-j 符号

旋转耦合系数.

Clebsch-Gordan系数和 -j 符号出现在量子力学中的角动量中,以及循环群应用的研究中. Clebsch-Gordan系数ClebschGordan[{j1, m1}, {j2, m2}, {j, m}] 给出量子力学的角动量状态 按照状态 的乘积展开的系数.

3-j 符号 或者 Wigner 系数 ThreeJSymbol[{j1, m1}, {j2, m2}, {j3, m3}] 是 Clebsch-Gordan 系数的更对称的形式. 在 Mathematica 中,Clebsch-Gordan系数根据 3-j 符号 来给出.

6-j 符号 SixJSymbol[{j1, j2, j3}, {j4, j5, j6}] 给出三个量子力学的解动量状态的耦合. Racah 系数 通过相位联系到 6-j 符号.

在 3-j 符号中可给出符号参数.
In[15]:=
Click for copyable input
Out[15]=
New to Mathematica? Find your learning path »
Have a question? Ask support »