ベル多項式

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

組合せ数学におけるベル多項式(ベルたこうしき、: Bell polynomials)とは、エリック・テンプル・ベル英語版の名にちなむ、次の多項式で与えられる三角形配列のことである。

B_{n,k}(x_1,x_2,\dots,x_{n-k+1})
=\sum{n! \over j_1!j_2!\cdots j_{n-k+1}!}
\left({x_1\over 1!}\right)^{j_1}\left({x_2\over 2!}\right)^{j_2}\cdots\left({x_{n-k+1} \over (n-k+1)!}\right)^{j_{n-k+1}}.

ただしこの和は、

j_1+j_2+\cdots = k\quad\mbox{and}\quad j_1+2j_2+3j_3+\cdots=n

を満たすすべての非負整数の列 j1, j2, j3, ..., jnk+1 について取られている。

完全ベル多項式[編集]

次の和

B_n(x_1,\dots,x_n)=\sum_{k=1}^n B_{n,k}(x_1,x_2,\dots,x_{n-k+1})

はしばしば n完全ベル多項式と呼ばれる。それらと比較するために、上で定義された多項式 Bnk はしばしば「部分」ベル多項式と呼ばれる。

完全ベル多項式は次の等式を満たす。

B_n(x_1,\dots,x_n) = \det\begin{bmatrix}x_1 & {n-1 \choose 1} x_2 & {n-1 \choose 2}x_3 & {n-1 \choose 3} x_4 & {n-1 \choose 4} x_5 & \cdots & \cdots & x_n \\  \\
-1 & x_1 & {n-2 \choose 1} x_2 & {n-2 \choose 2} x_3 & {n-2 \choose 3} x_4 & \cdots & \cdots & x_{n-1} \\  \\
0 & -1 & x_1 & {n-3 \choose 1} x_2 & {n-3 \choose 2} x_3 & \cdots & \cdots & x_{n-2} \\  \\
0 & 0 & -1 & x_1 & {n-4 \choose 1} x_2 & \cdots  & \cdots & x_{n-3} \\  \\
0 & 0 & 0 & -1 & x_1 & \cdots & \cdots & x_{n-4} \\  \\
0 & 0 & 0 & 0 & -1 & \cdots & \cdots & x_{n-5} \\  \\
\vdots & \vdots & \vdots &  \vdots & \vdots & \ddots & \ddots & \vdots  \\  \\
0 & 0 & 0 & 0 & 0 & \cdots & -1 & x_1  \end{bmatrix}.

組合せ論的な意味[編集]

[編集]

例えば、次が得られる。

B_{6,2}(x_1,x_2,x_3,x_4,x_5)=6x_5x_1+15x_4x_2+10x_3^2.

なぜならば

6 の集合を 5 + 1 に分割する方法は 6 通り
6 の集合を 4 + 2 に分割する方法は 15 通り
6 の集合を 3 + 3 に分割する方法は 10 通り

だからである。同様に

B_{6,3}(x_1,x_2,x_3,x_4)=15x_4x_1^2+60x_3x_2x_1+15x_2^3

が得られる。なぜならば

6 の集合を 4 + 1 + 1 に分割する方法は 15 通り
6 の集合を 3 + 2 + 1 に分割する方法は 60 通り
6 の集合を 2 + 2 + 2 に分割する方法は 15 通り

だからである。

性質[編集]

  • B_{n,k}(1!,2!,\dots,(n-k+1)!) = \binom{n}{k}\binom{n-1}{k-1} (n-k)!

スターリング数とベル数[編集]

ベル多項式 Bn,k(x1,x2,...) のすべての x が 1 に等しいときの値は、第二種スターリング数である。すなわち

B_{n,k}(1,1,\dots)=S(n,k)=\left\{{n\atop k}\right\}

である。次の和

\sum_{k=1}^n B_{n,k}(1,1,1,\dots) = \sum_{k=1}^n \left\{{n\atop k}\right\}

は、n 番目のベル数で、これはサイズ n の集合の分割の数に等しい。

畳み込みの等式[編集]

数列 xn, yn, n = 1, 2, ..., に対し、ある種の畳み込みを次のように定める。

(x \diamondsuit y)_n = \sum_{j=1}^{n-1} {n \choose j} x_j y_{n-j}
.

ここで直和の上下限は 0 と n ではなく、1 と n − 1 であることに注意されたい。

x_n^{k\diamondsuit}\, を次の列の第 n 番目の項とする。

\displaystyle\underbrace{x\diamondsuit\cdots\diamondsuit x}_{k\ \mathrm{factors}}.\,

このとき、次が成り立つ。

B_{n,k}(x_1,\dots,x_{n-k+1}) = {x_{n}^{k\diamondsuit} \over k!}.\,

例えば、 B_{4,3}(x_1,x_2) を計算する。このとき

 x = ( x_1 \ , \ x_2 \ , \ x_3 \ , \ x_4 \ , \dots )
 x \diamondsuit x = ( 0,\  2 x_1^2 \ ,\  6 x_1 x_2 \ , \  8 x_1 x_3 + 6 x_2^2 \ , \dots )
 x \diamondsuit x \diamondsuit x = (  0 \ ,\ 0 \  , \ 6 x_1^3 \ , \ 36 x_1^2 x_2 \ , \dots )

であるため、

 B_{4,3}(x_1,x_2) = \frac{ ( x \diamondsuit x \diamondsuit x)_4 }{3!} = 6 x_1^2 x_2

となる。

ベル多項式の応用[編集]

ファー・ディ・ブルーノの公式[編集]

ベル多項式を用いることで、ファー・ディ・ブルーノの公式英語版は次のように書き表すことが出来る。

{d^n \over dx^n} f(g(x)) = \sum_{k=1}^n f^{(k)}(g(x)) B_{n,k}\left(g'(x),g''(x),\dots,g^{(n-k+1)}(x)\right).

同様に、冪級数版のファー・ディ・ブルーノの公式も、ベル多項式を用いて次のように表すことが出来る。今

f(x)=\sum_{n=1}^\infty {a_n \over n!} x^n \qquad
\mathrm{and} \qquad g(x)=\sum_{n=1}^\infty {b_n \over n!} x^n

とすれば、

g(f(x)) = \sum_{n=1}^\infty
{\sum_{k=1}^{n} b_k B_{n,k}(a_1,\dots,a_{n-k+1}) \over n!} x^n

となる。特に、完全ベル多項式は、形式的冪級数の指数関数の中に、次のように現れる。

\exp\left(\sum_{n=1}^\infty {a_n \over n!} x^n \right)
= \sum_{n=0}^\infty {B_n(a_1,\dots,a_n) \over n!} x^n.

モーメントとキュムラント[編集]

次の和

B_n(\kappa_1,\dots,\kappa_n)=\sum_{k=1}^n B_{n,k}(\kappa_1,\dots,\kappa_{n-k+1})

は、初めの n 個のキュムラントが κ1, ..., κn であるような確率分布nモーメントである。言い換えると、n 次モーメントとは初めの n 個のキュムラントによって評価される n 次完全ベル多項式である。

二項型の多項式列による表現[編集]

任意のスカラー列 a1, a2, a3, ... に対し、次を定める。

p_n(x)=\sum_{k=1}^n B_{n,k}(a_1,\dots,a_{n-k+1}) x^k.

このとき、この多項式列は二項型英語版である。すなわち、二項等式

p_n(x+y)=\sum_{k=0}^n {n \choose k} p_k(x) p_{n-k}(y)

n ≥ 0 に対して成立する。実際、次の結果が得られる。

定理 すべての二項型の多項式列はこの形式で表現できる。

h(x)=\sum_{n=1}^\infty {a_n \over n!} x^n

とすれば、冪級数を純粋に形式的に取ることで、すべての n に対し

h^{-1}\left( {d \over dx}\right) p_n(x) = n p_{n-1}(x)

が成り立つ。

ソフトウェア[編集]

  • ベル多項式、完全ベル多項式および一般化ベル多項式は、Mathematicaにおいては BellY で、Maple においては BellB で、Sage においては bell_polynomial で計算することが出来る。

関連項目[編集]

参考文献[編集]