題記の無限乗積、n=1から∞まで掛け合わせた時の展開式を調べてみる。
まずは、筆算で最初の数項の挙動を見てみよう。
これ以降の計算において、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 iEnd Sub
配列は0番目も使える。これにより、コーディングがかなり楽になる。
また「:」により、マルチステートメント(1行内に複数命令を記述すること)も使えるので、
見かけがすっきりとしたコードになる。
実行結果は以下のとおり。
A B 1 n a(n) 2 0 1 3 1 -1 4 2 -1 5 3 0 6 4 0 7 5 1 8 6 0 9 7 1 10 8 0 11 9 0 12 10 0 13 11 0 14 12 -1 15 13 0 16 14 0 17 15 -1 18 16 0 19 17 0 20 18 0 21 19 0 22 20 0
係数が0とならないベキを抜き出して見ると、
0、1、2、5、7、12、15、……
この数字の列は、どこかで見たような、……
実は上記の数字の列は、前の章で、sqrt(24n+1)が整数になるnの値として現れたものである。
そしてこの両者は無関係ではない。
|x| < 1 のとき、以下の等式が成り立つ。
∞
Π
n=1(1−xn) = ∞
Σ
n=-∞(-1) n x n(3n-1)/2
これを、Euler の pentagonal number (5角数) thoerem と呼ぶ。
n(3n-1)/2 という式は、前章で、5以上の素数の2乗−1が24で割り切れることの証明で現れた式である。
5角数についてはこちらを参照のこと。
n(3n-1)/2 の値は以下のようになる。
A B 1 n n(3n-1)/2 2 -3 15 3 -2 7 4 -1 2 5 0 0 6 1 1 7 2 5 8 3 12
前頁 | 目次 | 次頁 |
---|