多項定理

数学における**多項定理**（たこうていり、）とは、多項和 (multinomial) の冪を展開した式を表すものである。二項定理において項数を一般化したものである。

## 定理の主張
**多項公式** (multinomial formula) とは、正整数 , 非負整数  に対して、項和の任意の -冪を展開すると
: (x_1 + x_2 + \cdots + x_m)^n = \textstyle\sum\limits_{k_1+k_2+\cdots+k_m=n} \dbinom{n}{k_1, k_2, \ldots, k_m} {x_1}^{k_1} {x_2}^{k_2} \dotsb {x_m}^{k_m}
となることを示すものである。ここで係数  は多項係数と呼ばれ、
:\binom{n}{k_1, k_2, \ldots, k_m} = \frac{n!}{k_1!\, k_2! \cdots k_m!}
となる。また、 は非負整数であり、総和は  となるもの全てに亘って取る。従って、展開式の各項の次数は  となる。また、 はここでは、二項定理の場合と同様に、（ が零のときも含めて恒等的に） と定義している。
*  のとき、主張は二項定理である。

多重添字記法を用いると、定理の主張は
: (x_1+\cdots+x_m)^n = \textstyle\sum\limits_{|\alpha|=n} \dbinom{n}\alpha x^\alpha
略記できる。ここに、 であって、 および  に対して  である。

例えば、(a+b+c)^3 を展開すると、次のようになる：
:\begin{align}
(a+b+c)^3 &=(a+b+c)(a+b+c)(a+b+c) \\
  &=a^3+b^3+c^3+3a^2b+3ab^2+3b^2c+3bc^2+3c^2a+3ca^2+6abc
\end{align}

## 証明
### 組合せ論的証明
二項定理の組合せ論的証明と同様に証明できる。

個の  の積を一度に展開し切ることを考える。
:(x_1 + x_2 + \cdots + x_m)^n = \underbrace{(x_1 + x_2 + \cdots + x_m) \cdots (x_1 + x_2 + \cdots + x_m)}_{n \text{ factors}}
一度に展開すると、それぞれの  から  の1つだけを取った文字 個の総乗の総和となる。

これらの積のうち、並び替えて  になるものは、個の 、…、個の  を並べる場合の数だけあるから、多項係数 、すなわち  の係数は  となる。

### 指数について帰納法
二項定理と同様に、指数  についての数学的帰納法で証明できる。

 のとき、
:(x_1 + x_2 + \cdots + x_m)^1 = 1x_1 + 1x_2 + \cdots + 1x_m,
:\frac{1!}{1!\, 0!\,\cdots 0!} = 1
より成り立つ。

ある  について成り立つと仮定する。
:(x_1 + \cdots + x_m)^n = \textstyle\sum\limits_{k_1+\cdots+k_m=n} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m}
より、
:\hphantom{=} \; (x_1 + \cdots + x_m)^{n+1}
:= (x_1 + \cdots + x_m)(x_1 + \cdots + x_m)^n
:= (x_1 + \cdots + x_m)\textstyle\sum\limits_{k_1+\cdots+k_m=n} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m}
:=x_1 \textstyle\sum\limits_{k_1+\cdots+k_m=n} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m} + x_m \textstyle\sum\limits_{k_1+\cdots+k_m=n} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m}
:= \textstyle\sum\limits_{k_1+\cdots+k_m=n} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1+1} {x_2}^{k_2} \cdots {x_m}^{k_m} + \textstyle\sum\limits_{k_1+\cdots+k_m=n} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_{m-1}}^{k_{m-1}}{x_m}^{k_m+1}
:= \textstyle\sum\limits_{k_1+\cdots+k_m=n+1 \atop k_1 \geq 1} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m} + \textstyle\sum\limits_{k_1+\cdots+k_m=n \atop k_m \geq 1} \dbinom{n}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m}
:= \textstyle\sum\limits_{k_1+\cdots+k_m=n+1} \dbinom{n}{k_1-1,k_2,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m} + \textstyle\sum\limits_{k_1+\cdots+k_m=n+1} \dbinom{n}{k_1,\cdots,k_{m-1},k_m-1} {x_1}^{k_1} \cdots {x_m}^{k_m}
:\left( \because \binom{n}{\cdots,-1,\cdots} =0 \right)
:= \textstyle\sum\limits_{k_1+\cdots+k_m=n+1} \left[ \dbinom{n}{k_1-1,k_2,\cdots,k_m} + \cdots + \dbinom{n}{k_1,\cdots,k_{m-1},k_m-1} \right] {x_1}^{k_1} \cdots {x_m}^{k_m}
:= \textstyle\sum\limits_{k_1+\cdots+k_m=n+1} \dbinom{n+1}{k_1,\cdots,k_m} {x_1}^{k_1} \cdots {x_m}^{k_m}
最後の等号は
: \dbinom{n+1}{k_1,\cdots,k_m} = \dbinom{n}{k_1-1,k_2,\cdots,k_m} + \cdots + \dbinom{n}{k_1,\cdots,k_{m-1},k_m-1}
が成り立つことを用いたが、これは右辺の階乗表示：
:\frac{n!}{(k_1-1)! k_2! \cdots k_{m-1}!} + \cdots \frac{n!}{k_1! \cdots k_{m-1}! (k_m-1)!}
を通分すると左辺になることが示せる。

### 項数について帰納法
二項定理を既知とすると、項数  について数学的帰納法により証明できる。

まず  のとき、 であり両辺は単項で  に等しい。

次に、 に対して多項定理が成り立つと仮定する。
: (x_1+x_2+\cdots+x_m+x_{m+1})^n = (x_1+x_2+\cdots+x_{m-1}+(x_m+x_{m+1}))^n
に帰納法の仮定を適用して
: \begin{align}
  &= \textstyle\sum\limits_{k_1+k_2+\cdots+k_{m-1}+K=n} \dbinom{n}{k_1,k_2,\ldots,k_{m-1},K} {x_1}^{k_1}{x_2}^{k_2} \cdots {x_{m-1}}^{k_{m-1}} (x_m+x_{m+1})^K \\
  &= \textstyle\sum\limits_{k_1+k_2+\cdots+k_{m-1}+K=n} \left( \dbinom{n}{k_1,k_2,\ldots,k_{m-1},K} {x_1}^{k_1}{x_2}^{k_2} \cdots {x_{m-1}}^{k_{m-1}} \sum\limits_{k_m+k_{m+1}=K} \dbinom{K}{k_m,k_{m+1}} {x_m}^{k_m}{x_{m+1}}^{k_{m+1}} \right) \\
  &(\text{binomial theorem}) \\
  &= \textstyle\sum\limits_{k_1+k_2+\cdots+k_{m-1}+K=n} \sum\limits_{k_m+k_{m+1}=K} \dbinom{n}{k_1,k_2,\ldots,k_{m-1},K} \dbinom{K}{k_m,k_{m+1}} {x_1}^{k_1}{x_2}^{k_2} \cdots {x_{m-1}}^{k_{m-1}} {x_m}^{k_m}{x_{m+1}}^{k_{m+1}} \\
  &= \textstyle\sum\limits_{k_1+k_2+\cdots+k_{m-1}+k_m+k_{m+1}=n} \dbinom{n}{k_1,k_2,\ldots,k_{m-1},k_m,k_{m+1}} {x_1}^{k_1}{x_2}^{k_2}\cdots {x_{m-1}}^{k_{m-1}}{x_m}^{k_m}{x_{m+1}}^{k_{m+1}} \\
  &(\text{refer the below described Annotation}) \\
\end{align}
を得る。最後の等号は
:\binom{n}{k_1,k_2,\ldots,k_{m-1},K}\binom{K}{k_m,k_{m+1}} = \binom{n}{k_1,k_2,\ldots,k_{m-1},k_m,k_{m+1}}
が成り立つことを用いたが、これは例えば階乗による表示を用いれば
:\frac{n!}{k_1! k_2! \cdots k_{m-1}!K!} \frac{K!}{k_m! k_{m+1}!}=\frac{n!}{k_1! k_2! \cdots k_{m+1}!}
と示せる。

## 応用例
### 一般ライプニッツ則
3個以上の函数の積の高階導函数に対しても、一般のライプニッツの法則を適用することができる：
* (f_1 \cdots f_m)^{(n)} = \textstyle\sum\limits_{k_1+\cdots+k_m=n} \dbinom{n}{k_1, \cdots, k_m} {f_1}^{(k_1)} \cdots {f_m}^{(k_m)}

## 参考文献

## 関連項目
* 多項分布

## 外部リンク
* 
* `mutinom.m` function in Specfun (since 1.1.0) package of Octave-Forge for GNU Octave. SVN version
*