この記事は日曜数学 Advent Calendar 2024 の 2 日目の記事です。
数学の世界には二項係数を含む等式がたくさんあります。例えば
k=0∑n(k2k)(n−k2(n−k))=4nという等式があります。このような等式はどう証明したらよいでしょうか?
今回は generatingfunctionology という本で紹介されている Snake Oil method という手法を紹介します。
(これは Bing Image Creator で生成した Snake Oil method のイラストです)
Snake Oil method
#
Snake Oil method は二項係数を含む和を計算するときに役立ちます。大まかな流れは次のようなものです。
- 母関数を考える。
- 和の順序を入れ替える。
- 係数を見る。
具体例を見る前に、基本的な等式を 2 つ紹介します。まずは
(1+x)n=k=0∑n(kn)xkです。これは通常の二項定理です。次は
(1−x)n+11=k=0∑(kn+k)xkです。これは負の二項定理と呼ばれることもあります。
これを踏まえたうえで、Snake Oil method を使った等式の証明を見ていきましょう。
練習
#
まずは
k≥0∑(kn−k)を計算します。ただし n は非負整数です。母関数
f(x)=n=0∑∞k≥0∑(kn−k)xnを考えます。そして和の順序を入れ替えて
f(x)=k=0∑∞n=k∑∞(kn−k)xnとなります。m=n−k とおくと
f(x)=k=0∑∞m=0∑∞(km)xm+k=k=0∑∞xkm=0∑∞(km)xmとなります。二項定理を用いることができ
f(x)=k=0∑∞xk(1+x)k=k=0∑∞(x+x2)k=1−x−x21となり、母関数を閉じた形で表すことができました。f(x) の xn の係数を an とおくと、an+2=an+1+an をみたします。初期値を考えることで、an はフィボナッチ数 Fn+1 であることがわかります。よって
k≥0∑(kn−k)=Fn+1であることがわかりました。
Hockey-stick identity
#
次は
k=0∑n(rr+k)を計算しましょう。r,n は非負整数です。母関数は
f(x)=n=0∑∞k=0∑n(rr+k)xnとなります。和の順序を入れ替えて
f(x)=k=0∑∞n=k∑∞(rr+k)xn=k=0∑∞(rr+k)1−xxk=1−x1k=0∑∞(rr+k)xkとなります。負の二項定理を使うと
f(x)=(1−x)r+21となります。再び負の二項定理を用いることで、f(x) の xn の係数は (nr+n+1) であることがわかります。よって
k=0∑n(rr+k)=(nr+n+1)です。
最初の等式
#
最初に載せた等式
k=0∑n(k2k)(n−k2(n−k))=4nを Snake Oil method で示してみましょう。
f(x)=n=0∑∞k=0∑n(k2k)(n−k2(n−k))xnとおきます。和の順序を入れ替えて
f(x)=k=0∑∞n=k∑∞(k2k)(n−k2(n−k))xn=k=0∑∞(k2k)xkn=k∑∞(n−k2(n−k))xn−k=(k=0∑∞(k2k)xk)2となります。ここで
k=0∑∞(k2k)xk=1−4x1が成り立ちます。これは右辺を (1−4x)−1/2 とみなすことで二項定理から証明できます。これを用いると
f(x)=1−4x1となるので、xn の係数は 4n です。よって示されました。
この等式を組合せ論的に解釈して証明するのはある程度の難しさがあると思います。(Stanley, Enumerative Combinatorics の一章の演習問題 3 (c) の解説を参照)
実践編
#
2023年のある日、このようなツイートを見かけました。
https://x.com/Ototo_/status/1706801579133980948
次の等式が予想されていました。
k=0∑m2k+1(−1)k(km)=(2m+3)k=0∑m2k+3(−1)k(km)二項係数の和を含む等式なので、Snake Oil method が使えるのではないかと思い実践してみました。
まず左辺の母関数 f(x) を考えます。
f(x)=m≥0∑k=0∑m2k+1(−1)k(km)xm=k≥0∑m≥k∑2k+1(−1)k(km)xm=k≥0∑2k+1(−1)kxkn≥0∑(kn+k)xn=k≥0∑2k+1(−1)kxk⋅(1−x)k+11さらに計算できそうですが、ここで止めておきます。
次は右辺の母関数 g(x) を計算しますが、その前に
m≥k∑(km)xm=(1−x)k+1xkの両辺を微分して x 倍することで
m≥k∑m(km)xm=(1−x)k+2xk(k+x)が得られることを用います。
g(x)=m≥0∑k=0∑m(2m+3)2k+3(−1)k(km)xm=k≥0∑m≥k∑(2m+3)2k+3(−1)k(km)xm=k≥0∑2k+3(−1)k[2(1−x)k+2xk(k+x)+3(1−x)k+1xk]=k≥0∑2k+3(−1)k(1−x)k+2xk(2k+3−x)=k≥0∑(−1)k(1−x)k+2xk+k≥0∑2k+3(−1)k+1(1−x)k+2xk+1=1−x1+k≥1∑2k+1(−1)k(1−x)k+1xk=k≥0∑2k+1(−1)k(1−x)k+1xkこうして、f(x)=g(x) がわかりました。
Snake Oil method を実践できて嬉しかったです。
当時この証明を本人にリプライしましたが、そのときのアカウントを削除したため現在は読めなくなっています。
おわりに
#
Snake Oil method はいかがだったでしょうか?
代数的な計算が好きな人におすすめです。
もちろんすべての等式を Snake Oil method で証明できるわけではないと思うのでそこは注意が必要です。