7章 無限乗積 Π(1−xn)


題記の無限乗積、n=1から∞まで掛け合わせた時の展開式を調べてみる。
まずは、筆算で最初の数項の挙動を見てみよう。

n=1のとき
1−x
n=2のとき
(1−x)(1−x2)=1−x−x2+x3
n=3のとき
(1−x−x2+x3)(1−x3)= 1−x−x2+x4+x5−x6

これ以降の計算において、xのべきが1〜3の項が現れることはないので、
この時点で、3乗以下の項については、1−x−x2 であることが決定される。

これを一般化すると、xk以下の係数は、k番目までの積によって決定されることがわかる。
また、与えられたkに対して、xk以下の係数のみを知りたいのであれば、
k+1乗以上の項は計算する必要がない。また途中結果として保存する必要もない。
以上を元に、マクロを組んでみる。


ここでは、20番目までの係数を調べて見よう。
挿入(I)――マクロ(M)――モジュール(M) を選ぶとマクロ作成用のシートが挿入される。
そこに、以下のマクロを入力する。

'
'   a(i)=(1-x)(1-x^2)(1-x^3)(1-x^4)...
'
Sub Record2()
    Worksheets("Sheet2").Activate

    Dim a(20),  w(20)

    Cells(1,  1).Value = "n"
    Cells(1,  2).Value = "a(n)"

    a(0) = 1: a(1) = -1: limit = 20
    For i = 2 To limit
        For j = i To limit: w(j) = a(j) - a(j - i): Next j
        For j = i To limit: a(j) = w(j): Next j
    Next i

    For i = 0 To limit
        Cells(i + 2,  1).Value = i
        Cells(i + 2,  2).Value = a(i)
    Next i
End Sub

配列は0番目も使える。これにより、コーディングがかなり楽になる。
また「:」により、マルチステートメント(1行内に複数命令を記述すること)も使えるので、
見かけがすっきりとしたコードになる。
実行結果は以下のとおり。

 AB
1na(n)
201
31-1
42-1
530
640
751
860
971
1080
1190
12100
13110
1412-1
15130
16140
1715-1
18160
19170
20180
21190
22200

係数が0とならないベキを抜き出して見ると、

0、1、2、5、7、12、15、……

この数字の列は、どこかで見たような、……


実は上記の数字の列は、前の章で、sqrt(24n+1)が整数になるnの値として現れたものである。
そしてこの両者は無関係ではない。

|x| < 1 のとき、以下の等式が成り立つ。


Π
n=1
(1−xn) =
Σ
n=-∞
(-1) nn(3n-1)/2

これを、Euler の pentagonal number (5角数) thoerem と呼ぶ。
n(3n-1)/2 という式は、前章で、5以上の素数の2乗−1が24で割り切れることの証明で現れた式である。
5角数についてはこちらを参照のこと。

n(3n-1)/2 の値は以下のようになる。

 AB
1nn(3n-1)/2
2-315
3-27
4-12
500
611
725
8312

前頁 目次 次頁

E-mail : kc2h-msm@asahi-net.or.jp
三島 久典