Wolfram ResearchPRODUCTSPURCHASEFOR USERSCOMPANYOUR SITES
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.

Documentation / Mathematica / Mathematicaブック / Mathematicaを使った高等数学 / 関数  /

3.2.5 組合せ関数

順列組合せの関数

階乗関数 n!は, 個のものの並べ方の総数を与える. が整数でないとき, の数値は 3.2.10で説明するガンマ関数から求められる.

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

多項係数 Multinomial[, , ... ]は,と書け, 個の異なるものを 個の組に分け,各組に含まれる要素の個数が となるような分け方の総数を表す

Mathematicaは,整数の階乗に対しては厳密な整数で結果を返す.

In[1]:= 30!

Out[1]=

非整数の階乗は,ガンマ関数で評価される.

In[2]:= 3.6!

Out[2]=

Mathematicaは,2項係数によっては,シンボル的な結果を返すこともできる.

In[3]:= Binomial[n, 2]

Out[3]=

個のものを6個と5個のものからなる組に分けるとき,分け方が何通りあるかを調べる.

In[4]:= Multinomial[6, 5]

Out[4]=

この結果は, と同じである.

In[5]:= Binomial[11, 6]

Out[5]=

フィボナッチの数 Fibonacci[n]は, および漸化式 を満たす.この数は離散数学で広く使われる. を増加させると, は黄金比に近付く.

フィボナッチの多項式 Fibonacci[n, x]は,式 の展開で得られる項 の係数に当たる.

調和数HarmonicNumber[n]で与えられる. 次の調和数HarmonicNumber[n, r] で与えられる.調和数は多くの組合せ論の推定問題で現れ,しばしば離散化された対数に相当する役割を演じる.

ベルヌーイの多項式 BernoulliB[n, x]は,母関数の関係式 を満たす.また,ベルヌーイの多項式 BernoulliB[n]は, で与えられる. は,近似積分で使われるオイラー・マクローリン(Euler-Maclaurin)の和の式における項の係数にあたる.

ベルヌーイ数の近似値はさまざまな数値計算アルゴリズムで使われる.ベルヌーイ数の数値は,まず BernoulliB[n]を使い厳密な有理値として求めておき,それに Nを適用することで求められる.

オイラーの多項式 EulerE[n, x]は,母関数の関係式 を満たす.また,オイラー数 EulerE[n]は, で与えられる.オイラー数は, の関係式によりジェノッチ(Genocchi)数に関連している.

ベルヌーイの多項式の第2 を求める.

In[6]:= BernoulliB[2, x]

Out[6]=

また,実際に母関数に対してベキ級数を計算してもベルヌーイの項は求めることができる.

In[7]:= Series[t Exp[x t]/(Exp[t] - 1), {t, 0, 4}]

Out[7]=

BernoulliB[n]は,ベルヌーイ数を厳密な有理数として返す.

In[8]:= BernoulliB[20]

Out[8]=

スターリング数は組合せ理論の枚挙問題によく現れる.第1種のスターリング数 StirlingS1[n, m]に対して,は,ちょうど 回循環する 要素の順列の個数を返す.スターリング数は,母関数の関係式 を満たす.注意点として, の定義によっては, の係数が付くため Mathematicaの定義と異なる場合がある.

2種のスターリング数 StirlingS2[n, m]は, 個の要素を空でない 組の部分集合に分ける上で何通りの分け方があるかを返す.第2種のスターリング数は,の関係式を満たす.

分割関数 PartitionsP[n]は,整数 nを正整数の和として順不同で組み合すとき,組合せ方が何通りあるかを返す. PartitionsQ[n]は,和を構成する整数成分が相異するとき,整数 nの組合せ方が何通りあるかを返す.

1種のスターリング数の表を作る.

In[9]:= Table[StirlingS1[5, i], {i, 5}]

Out[9]=

積の展開項の係数がスターリング数にあたる.

In[10]:= Expand[Product[x - i, {i, 0, 4}]]

Out[10]=

100を何通りに分割できるかを調べる.最初は,項が相異なるとし,次は,制約を外した場合である.

In[11]:= {PartitionsQ[100], PartitionsP[100]}

Out[11]=

分割関数 に似た形で増加する.注意点として, PartitionsPのような整数だけを引数とする関数は, Plotでは直接プロットすることができない.

In[12]:= ListPlot[ Table[
N[Log[ PartitionsP[n] ]], {n, 100} ] ]

Out[12]=

本節で説明してきた関数は,各種の組合せの数を計算するのに使われる.これらとは違って, Permutationsのような関数は,要素の組合せそのもののリストを生成するために使われる.

符号関数 Signature[, , ... ]は順列の符号を返す.偶順列なら を返し,奇順列なら を返す.偶順列(もしくは,奇順列)とは順列が偶数回(奇数回)の互換(2つの要素の入れ替え)で得られることを指す.符号関数は,交代テンソルであるレビー・チビタ(Levi-Civita)の記号,または,イプシロン記号としてとらえることができる.

角運動量の合成に関する係数

クレプシュ・ゴルダン(Clebsch-Gordan)の係数と -j記号は,量子力学における角運動量の解析や,その他の回転群の応用の問題で使われる. ClebschGordan[, , , , j, m]は,量子化された角運動量の状態 を展開したとき得られる項の係数を状態 の積で与える.

ウィグナー(Wigner)-j記号 ThreeJSymbol[, , , , , ]は,クレプシュ・ゴルダンの係数より高い対称性を持つ. Mathematicaにおける定義では,クレプシュ・ゴルダンの係数は,-j記号に基づいた の関係式で与えられる.

ラカー(Racah)-j記号 SixJSymbol[, , , , , ]は,3つの量子論的な角運動量の取る結合状態を与える.ラカーの係数と6-j記号は1位相を介し関連している.

3-j記号でシンボル的なパラメータを使っても構わない.

In[13]:= ThreeJSymbol[{j, m}, {j+1/2, -m-1/2}, {1/2, 1/2}]

Out[13]=



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information


 © 2009 Wolfram Research, Inc.  Terms of Use  Privacy Policy |
Sign up for our newsletter: