RPGツクールと数学のブログ

RPGツクールと数学についてのブログです。

有理数の総和公式

過去ブログの転載です。

総和の公式はいくつかありますが、
有理式の総和は以下によってすべて求めることが可能です。

 \displaystyle \sum_{k=1}^{n} k^{m}=\frac{n}{m+1}\sum_{i=0}^{m} {}_{m+1}{\rm C}_i {\rm B}_{i} n^{m-i} (m \ge 0)

 \displaystyle \sum_{k=1}^{n} \frac{1}{k}=\gamma + \psi(n+1)

 \displaystyle \sum_{k=1}^{n} \frac{1}{k^{m}}=\zeta(m) + \frac{(-1)^{m-1}}{(m-1)!}\psi^{(m-1)}(n+1) (m \ge 2)

mは指数で、その値によって3パターンに分かれます。
Cは組み合わせ、Bはベルヌーイ数(B1=1/2)、γはオイラーの定数、ψ(n)はディガンマ関数、ψ^(m)(n)はポリガンマ関数、ζ(n)はリーマンゼータ関数を表します。リーマンゼータは、普通のゼータ関数です。

これらを用いると、有理式の総和公式はすべて導出できます。

例:Σ[k=1→n](k+3)/{k(k+1)(k+2)}

普通は、部分分数分解をして値を代入していき、項を順々に消していく手法が取られます。

(k+3)/{k(k+1)(k+2)}=1/2 {3/k-4/(k+1)+1/(k+2)}
ですから、k=1, 2, 3, ……, nと代入していくと

k=1 → 1/2 {3/1-4/2+1/3}
k=2 → 1/2 {3/2-4/3+1/4}
k=3 → 1/2 {3/3-4/4+1/5}
k=4 → 1/2 {3/4-4/5+1/6}
k=5 → 1/2 {3/5-4/6+1/7}
……
k=n → 1/2 {3/n-4/(n+1)+1/(n+2)}

斜めに見ると分かりやすいですが、足し引きして途中消えていきます。
最後に残るのは、

1/2 {3/1-4/2+3/2+1/(n+1)-4/(n+1)+1/(n+2)}

となりますので、通分していくと、

=1/4 {5-6/(n+1)+2/(n+2)}
=1/{4(n+1)(n+2)} {5(n+1)(n+2)-6(n+2)+2(n+1)}
=n(5n+11)/{4(n+1)(n+2)}

として求まります。

これを先程の公式で解くとすると、どうすれば良いでしょう。これには部分分数分解と変数変換を利用します。そうすることで、すべては公式の形に帰着できるようになります。

(k+3)/{k(k+1)(k+2)}=1/2 {3/k-4/(k+1)+1/(k+2)}
でしたので、1/2 {3Σ[k=1→n]1/k-4Σ[k=1→n]1/(k+1)+Σ[k=1→n]1/(k+2)}
となります。

ここで、第2項のk+1=t、第3項のk+2=uとおくと、
=1/2 {3Σ[k=1→n]1/k-4Σ[t=2→n+1]1/t+Σ[u=3→n+2]1/u}
となります。

Σ[k=a→b]f(k)=Σ[k=1→b]f(k)-Σ[k=1→a-1]f(k)
というのが自明ですので、それを使って分離します。なんだか定積分みたいですね。

=1/2 {3Σ[k=1→n]1/k-4(Σ[t=1→n+1]1/t-Σ[t=1→1]1/t)+(Σ[u=1→n+2]1/u-Σ[u=1→2]1/u)}
=1/2 {3Σ[k=1→n]1/k-4(Σ[t=1→n+1]1/t-1/1)+(Σ[u=1→n+2]1/u-1/1-1/2)}
=1/2 {3Σ[k=1→n]1/k-4Σ[t=1→n+1]1/t+Σ[u=1→n+2]1/u+5/2}

シグマの中身がすべて1/kの形になりましたので、
Σ[k=1→n]1/k=γ+ψ(n+1) より、

=1/2 {3(γ+ψ(n+1))-4(γ+ψ(n+2))+γ+ψ(n+3)+5/2}
=1/2 {3ψ(n+1)-4ψ(n+2)+ψ(n+3)+5/2}

ディガンマ関数には次のような性質があります。階乗の逆数和版みたいな感じです。
ψ(n+1)=ψ(n)+1/n
これを利用してディガンマ関数をψ(n+1)にそろえていきましょう。

ψ(n+2)=ψ(n+1)+1/(n+1)
ψ(n+3)=ψ(n+2)+1/(n+2)=ψ(n+1)+1/(n+1)+1/(n+2)

従って、
=1/2 {3ψ(n+1)-4ψ(n+1)-4/(n+1)+ψ(n+1)+1/(n+1)+1/(n+2)+5/2}
=1/2 {-4/(n+1)+1/(n+1)+1/(n+2)+5/2}
見事、ディガンマ関数とオイラーの定数が消えました。

後は通分して、
=1/{4(n+1)(n+2)} {-6(n+2)+2(n+1)+5(n+1)(n+2)}
=n(5n+11)/{4(n+1)(n+2)}

となります。同じ答えが出てきました。

このようなやり方が果たして効率的かどうかというと、状況によるでしょう。ただ、初等関数では表せないものでも、一応何かしらの関数を用いてこのように、表すことはできます。

例:Σ[k=1→n]1/(k^2+1)

初等関数では表せません。しかし、ディガンマ関数を用いると表すことは出来ます。分母を複素数の範囲で因数分解すると、
Σ[k=1→n]1/{(k+i)(k-i)}
となりますから、部分分数分解ができて、
=i/2 Σ[k=1→n]{1/(k+i)-1/(k-i)}
となります。

第1項をk+i=t、第2項をk-i=uとおけば、
=i/2 {Σ[t=1+i→n+i]1/t-Σ[u=1-i→n-i]1/u}
=i/2 {Σ[t=1→n+i]1/t-Σ[t=1→i]1/t-Σ[u=1→n-i]1/u+Σ[u=1→-i]1/u}
もはやシグマの範囲として果たしていいのかどうか分からないですが、
ひとまず、いいものとして扱います。

=i/2 {γ+ψ(n+i+1)-γ-ψ(i+1)-γ-ψ(n-i+1)+γ+ψ(-i+1)}
=i/2 {ψ(n+i+1)-ψ(i+1)-ψ(n-i+1)+ψ(-i+1)}

わけのわからない式になりました。しかしWolfram Alphaでもこの値が出たのでまあ良いのでしょう。ディガンマ関数は複素数に対応しているので、一応計算は可能です。それがどんな値になるかは微妙ですが……

試しにn=3のときの値を求めてみましょう。
普通に足し算していくと、
k=1 → 1/(1^2+1)=1/2
k=2 → 1/(2^2+1)=1/5
k=3 → 1/(3^2+1)=1/10
ですから、1/2+1/5+1/10=4/5
となるはずです。果たして求まるでしょうか。

i/2 {ψ(n+i+1)-ψ(i+1)-ψ(n-i+1)+ψ(-i+1)}
に、n=3を代入すると、
=i/2 {ψ(i+4)-ψ(i+1)-ψ(-i+4)+ψ(-i+1)}
=i/2 {ψ(i+1)+1/(i+1)+1/(i+2)+1/(i+3)-ψ(i+1)-ψ(-i+1)-1/(-i+1)-1/(-i+2)-1/(-i+3)+ψ(-i+1)}
=i/2 {1/(i+1)+1/(i+2)+1/(i+3)-1/(-i+1)-1/(-i+2)-1/(-i+3)}
=i/2 {-i-2i/5-i/5}
=1/2 {1+2/5+1/5}
=4/5

ちゃんとなりました。が、確認の計算の方が絶対に速いです。例えばn=10000とかになってるときに、ディガンマ関数の複素数を近似計算するなどして求めるといった用途ぐらいにしか使えないでしょう。

例:Σ[k=1→n]1/(k^2+2k+1)

分母が2次式なら因数分解して部分分数分解すれば何でもできそうですが、これは分母を因数分解すると部分分数分解できない形になります。

1/(k^2+2k+1)=1/(k+1)^2

この場合は、変数変換して二乗になってる方の公式を使えば良い話です。

Σ[k=1→n]1/k^m=ζ(m)+(-1)^(m-1)/(m-1)! ψ^(m-1)(n+1)
m≧2のときに使える公式です。この場合はm=2なので代入すると、

Σ[k=1→n]1/k^2=ζ(2)-ψ^(1)(n+1)

となり、ζ(2)=π^2/6ですから、

Σ[k=1→n]1/k^2=π^2/6-ψ^(1)(n+1)

となります。ψ^(1)(n)はトリガンマ関数です。
これはディガンマ関数を一階微分したもので、次の性質があります。

ψ^(1)(n+1)=ψ^(1)(n)-1/n^2

一般にポリガンマ関数は次の性質があります。

ψ^(m)(n+1)=ψ^(m)(n)+(-1)^m m!/n^(m+1)

m=0のときがディガンマ関数、m=1のときがトリガンマ関数ですね。
m=2、3、……となっていくと、テトラガンマ、ペンタガンマ、と続いていきます。

Σ[k=1→n]1/(k+1)^2
k+1=tとおくと、
=Σ[t=2→n+1]1/t^2
=Σ[t=1→n+1]1/t^2-Σ[t=1→1]1/t^2
=Σ[t=1→n+1]1/t^2-1/1
ですから、さっきの公式を当てはめると、
=π^2/6-ψ^(1)(n+2)-1
となります。

n=3のときを代入して確かめてみましょう。

k=1 → 1/(1+1)^2=1/4
k=2 → 1/(2+1)^2=1/9
k=3 → 1/(3+1)^2=1/16
全部足して、1/4+1/9+1/16=61/144
本当になるでしょうか。

n=3を代入して、π^2/6-ψ^(1)(5)-1となります。

ψ^(1)(5)の値がなければなりませんが、
実はポリガンマ関数は次のような特殊値を持ちます。

ψ^(m)(1)=(-1)^(m+1) m! ζ(m+1)

つまり、ψ^(1)(1)=ζ(2)=π^2/6です。
この形になるように式をいじりましょう。

π^2/6-ψ^(1)(5)-1
=π^2/6-ψ^(1)(1)+1/1^2+1/2^2+1/3^2+1/4^2-1
=π^2/6-π^2/6+1/1^2+1/2^2+1/3^2+1/4^2-1
=1/4+1/9+1/16
=61/144

……なんだか誤魔化されたかのような感じですね。

例:Σ[k=1→n](k^2+2k+2)

それぞれ分けて総和の公式を使えば良いだけです。しかし、平方完成することで次のようになります。

Σ[k=1→n](k^2+2k+2)
=Σ[k=1→n]{(k+1)^2+1}
k+1=tとおくと、
=Σ[t=2→n+1](t^2+1)
=Σ[t=1→n+1](t^2+1)-Σ[t=1→1](t^2+1)
=Σ[t=1→n+1]t^2+Σ[t=1→n+1]1 -2
=Σ[t=1→n+1]t^2+ n+1 -2
=n-1+Σ[t=1→n+1]t^2

Σ[k=1→n]k^2は高校で習う公式ですが、せっかくなので導出してみましょう。

Σ[k=1→n]k^m=n/(m+1) Σ[i=0→m] m+1Ci Bi n^(m-i)
ですので、m=2を代入すると、
Σ[k=1→n]k^2=n/3 Σ[i=0→2] 3Ci Bi n^(2-i)
=n/3 (B0 n^2+3B1 n+3B2)
ベルヌーイ数はB0=1、B1=1/2、B2=1/6ですから、
=n/3 (n^2+3/2 n+1/2)
=n(2n^2+3n+1)/6
=n(n+1)(2n+1)/6
となります。

よって、
Σ[k=1→n](k^2+2k+2)
=n-1+Σ[t=1→n+1]t^2
=n-1+(n+1)(n+2)(2n+3)/6
=n(2n^2+9n+19)/6
となります。

なんだか色々な問題が解けるようになりそうですが、問題を解くという面では基本的に非効率なようです。

どうしても一般式で表すことができない場合に使うと良いかも知れません。