組合せ関数
| n! | 階乗 n (n-1) (n-2) ... 1 |
| n!! | 2重階乗 n (n-2) (n-4) ... |
| Binomial[n,m] | 2項係数  |
| Multinomial[n1,n2,...] | 多項係数 (n1+n2+...)!/ (n1!n2!...) |
| CatalanNumber[n] | カタラン数 cn |
| Subfactorial[n] | n 個のオブジェクトの乱列の数 |
| Fibonacci[n] | フィボナッチ数 Fn |
| Fibonacci[n,x] | フィボナッチ多項式 Fn (x) |
| LucasL[n] | リュカ数 Ln |
| HarmonicNumber[n] | 調和数 Hn |
| HarmonicNumber[n,r] | r 次の調和数  |
| BernoulliB[n] | ベルヌーイ数 Bn |
| BernoulliB[n,x] | ベルヌーイ多項式 Bn (x) |
| NorlundB[n,a] | Nörlund多項式 |
| NorlundB[n,a,x] | 一般化されたベルヌーイ多項式 |
| EulerE[n] | オイラー数 En |
| EulerE[n,x] | オイラーの多項式 En (x) |
| StirlingS1[n,m] | 第1種のスターリング数  |
| StirlingS2[n,m] | 第2種のスターリング数  |
| BellB[n] | ベル数 Bn |
| BellB[n,x] | ベル多項式 Bn (x) |
| PartitionsP[n] | 整数n を整数の和に分けるときの分け方の総数 p (n) |
| IntegerPartitions[n] | 整数の分け方 |
| PartitionsQ[n] | 整数n を互いに異なる整数の和に分けるときの分け方の総数 q (n) |
| Signature[{i1,i2,...}] | 順列の符号 |
順列組合せの関数
階乗関数
n!は,
n 個のものの並べ方の総数を与える.
n が整数でないとき,
n!の数値は
「特殊関数」で説明するガンマ関数から求められる.
2項係数の関数
Binomial[n, m]は,

と書ける.この関数は,並び順を考慮しないとき,
n 個のものの中からの
m 個のものの取出し方の数を与える.また,各種の木の枚挙問題に現れるカタラン(Catalan)数は,2項係数により,

の関係式で与えられる.
かく乱順列
Subfactorial[n]は,オブジェクトがひとつも固定されない
n 個のオブジェクトの置換の数を与える.このような置換は乱列と呼ばれる.かく乱順列は
n!
(-1)k/k!で与えられる.
多項係数
Multinomial[n1, n2, ...]は,
(N;n1, n2, ..., nm)=N!/ (n1!n2!... nm!)と書け,
N 個の異なるものを大きさ
ni の
m 個の集合に分ける方法の総数を表す(
N=
ni).
Mathematica は,整数の階乗に対しては厳密な整数で結果を返す.
| Out[1]= |  |
|
| Out[2]= |  |
|
Mathematica は,2項係数によっては,シンボル的な結果を返すこともできる.
| Out[3]= |  |
|
6+5=11個のものを6個と5個のものからなる組に分けるとき,分け方が何通りあるかを調べる.
| Out[4]= |  |
|
この結果は,  と同じである.
| Out[5]= |  |
|
フィボナッチの数
Fibonacci[n]は,
F1=F2=1のときに漸化式
Fn=Fn-1+Fn-2を満たす.この数は離散数学で広く使われる.
n を増加させると,
Fn/Fn-1は黄金比に近付く.リュカ数
LucasL[n]は,初期値が
L1=1と
L2=3の,フィボナッチ数と同じ循環関係を満足する.
フィボナッチの多項式
Fibonacci[n, x]は,式
t/ (1-xt-t2)=
Fn (x)tn の展開で得られる項
tn の係数に当たる.
調和数
HarmonicNumber[n]は
Hn=
1/i で与えられる.
r 次の調和数
HarmonicNumber[n, r]は

で与えられる.調和数は多くの組合せ論の推定問題で現れ,しばしば離散化された対数に相当する役割を演じる.
ベルヌーイの多項式
BernoulliB[n, x]は,母関数の関係式
tex t/ (et-1)=
Bn (x)tn/n! を満たす.また,
ベルヌーイ数BernoulliB[n]は,
Bn=Bn (0)で与えられる.
Bn は,近似積分で使われるオイラー・マクローリン(Euler-Maclaurin)総和の式における項の係数に当たる.ベルヌーイ数はジェノッチ数と
Gn=2 (1-2n)Bn.の関係にある.
ベルヌーイ数の近似値はさまざまな数値計算アルゴリズムで使われる.ベルヌーイ数の数値は,まず
BernoulliB[n]を使い厳密な有理値として求めておき,それに
Nを適用することで求められる.
オイラーの多項式
EulerE[n, x]は,母関数の関係式
2ex t/ (et+1)=
En (x)tn/n! を満たす.また,オイラー数
EulerE[n]は,

で与えられる.
Nörlund多項式
NorlundB[n, a]は母関数の関係式

を満足する.Nörlundは,
a=1のときベルヌーイ数を返す.
a が他の正の整数値である場合,Nörlund多項式は高次のベルヌーイ数を返す.一般化されたベルヌーイ多項式
NorlundB[n, a, x] は,簿関数の関係式

を満足する.
| Out[6]= |  |
|
また,実際に母関数に対してベキ級数を計算してもベルヌーイの項は求めることができる.
| Out[7]= |  |
|
| Out[8]= |  |
|
スターリング数は組合せ理論の枚挙問題によく現れる.第1種のスターリング数
StirlingS1[n, m]に対して,

は,ちょうど
m 回循環する
n 個の要素の順列の個数を返す.スターリング数は,母関数の関係式

を満たす.注意点として,

の定義によっては,
(-1)n-m の係数が付くため
Mathematica の定義と異なる場合がある.
第2種のスターリング数
StirlingS2[n, m]は

と記述されることもあるが,
n 個の要素を空でない
m 組の部分集合に分ける上で何通りの分け方があるかを返す.第2種のスターリング数は,

の関係式を満たす.
ベル数
BellB[n]は,要素数
n 個の集合を空ではない部分集合分割する方法の総数を与える.ベル多項式
BellB[n, x]は,生成関数関係

を満足する.
分割関数
PartitionsP[n]は,整数
n を正整数の和として順不同で組み合すとき,組合せ方が何通りあるかを返す.
PartitionsQ[n]は,和を構成する整数成分が相異するとき,整数
n の組合せ方が何通りあるかを返す.
| Out[9]= |  |
|
| Out[10]= |  |
|
| Out[11]= |  |
|
| Out[12]= |  |
|
100を何通りに分割できるかを調べる.最初は,項が相異なるとし,次は,制約を外した場合である.
| Out[13]= |  |
|
分割関数 p (n)は  に似た形で増加する.注意点として, PartitionsPのような整数だけを引数とする関数は, Plotでは直接プロットすることができない.
| Out[14]= |  |
|
ここで説明してきた関数のほとんどは,各種の組合せの数を数えるのに使われる.これらとは違って,
IntegerPartitionsや
Permutationsのような関数は,要素の組合せそのもののリストを生成するために使われる.
符号関数
Signature[{i1, i2, ...}]は順列の符号を返す.偶順列なら
+1を返し,奇順列なら
-1を返す.偶順列(もしくは,奇順列)とは順列が偶数回(奇数回)の互換(2つの要素の入れ替え)で得られることを指す.符号関数は,交代テンソルであるレビー・チビタ(Levi-Civita)の記号,または,イプシロン記号としてとらえることができる.
| ClebschGordan[{j1,m1},{j2,m2},{j,m}] | クレプシュ・ゴルダンの係数 |
| ThreeJSymbol[{j1,m1},{j2,m2},{j3,m3}] | ウィグナーの 3-j 記号 |
| SixJSymbol[{j1,j2,j3},{j4,j5,j6}] | ラカーの 6-j 記号 |
角運動量の合成に関する係数
クレプシュ・ゴルダン(Clebsch-Gordan)の係数と
n-j記号は,量子力学における角運動量の解析や,その他の回転群の応用の問題で使われる.クレプシュ・ゴルダンの係数
ClebschGordan[{j1, m1}, {j2, m2}, {j, m}]は,量子化された角運動量の状態
j, m
を展開したとき得られる項の係数を状態
j1, m1
j2, m2
の積で与える.
3-j記号あるいはウィグナー(Wigner)係数の
ThreeJSymbol[{j1, m1}, {j2, m2}, {j3, m3}]は,クレプシュ・ゴルダンの係数より高い対称性を持つ.
Mathematica における定義では,クレプシュ・ゴルダンの係数は,3-j記号に基づいた

の関係式で与えられる.
ラカー(Racah)の6-j記号
SixJSymbol[{j1, j2, j3}, {j4, j5, j6}]は,3つの量子論的な角運動量の取る結合状態を与える.ラカーの係数と6-j記号は1位相を介し関連している.
3-j記号でシンボル的なパラメータを使っても構わない.
| Out[15]= |  |
|