■円周率の計算(その6)
17世紀になってイギリスのニュートン,ドイツのライプニッツによる微分積分学の確立以降は,収束する無限級数を使ってπの計算がなされました.今回のコラムではarctan(x)のテイラー展開公式
arctan(x)=x−x^3/3+x^5/5−x^7/7+・・・
を用いたπの級数公式を紹介します.
===================================
【1】グレゴリー・ライプニッツ級数
πと関連をもつ無限級数として最初に発見されたものは,1671年に発見されたグレゴリー・ライプニッツ級数
π/4=arctan1
=1/1−1/3+1/5−1/7+1/9−1/11+・・・
=Σ(−1)^(n-1)・1/(2n+1)
があげられます.ライプニッツはπ/4がすべての奇数の逆数を交互に加えたり引いたりしてえられる無限級数の和に一致するという事実に対して「神は奇数で楽しむ」と書いていて,この式に自然の神秘の深遠さを感じ,外交官への道から数学の研究の道に転じたといわれています.
arctan1=π/4を利用したこの展開公式は簡単な形の式ですが,ゆっくりとしか収束しないので,20項まで計算しても3.042までしか求まらないし,3.14まで一致するのに300項も必要です.第n項まで計算したときの誤差は大体1/(2n+3)になり,1000項まで計算してもせいぜい3桁ぐらいです.したがって,グレゴリー・ライプニッツ級数はπの近似値を求めるのには実用的ではありません.
===================================
【2】オイラー級数
グレゴリー・ライプニッツ級数は項数をのばすごとにπの上下の限界を示しうるものですが,収束の緩慢な点が致命的でした.そこで,オイラーは,公式
arctana+arctanb=arctan((a+b)/(1−ab))
を使ってグレゴリー・ライプニッツ級数よりもっと速く収束する次のような無限級数を作っています(1737年).
arctan1=arctan(1/n)+arctan(1/m)
を満足させるn,mを求めてみると
1=(1/n+1/m)/(1−1/nm)
m=(n+1)/(n−1)
n=2,m=3を代入すると
arctan(1/1)=arctan(1/2)+arctan(1/3)
は傾き1/2と1/3の坂の角度が傾き1/1すなわとちょうど45°になることを示しています.
π/4=arctan1
=arctan(1/2)+arctan(1/3)
=(1/2−1/3・2^3+1/5・2^5−1/7・2^7+・・・) +(1/3−1/3・3^3+1/5・3^5−1/7・3^7+・・・)
この級数はグレゴリー・ライプニッツ級数ほどは悪くありませんが,それでもなお良い値がでるまでの計算回数は多くなります.
[補]オイラーは
arctan(1/1)=2arctan(1/3)+arctan(1/7)
arctan(1/1)=5arctan(1/7)+2arctan(1/18)−2arctan(1/57)
なども発見しています.
なお,オイラー級数Σ1/n^sの収束の精度も良くありません.オイラーの第1級数:1/1^2+1/2^2+1/3^2+1/4^2+・・・=π^2/6を使って,π^2/6を小数点以下7桁まで正確に求めるためには,だいたい1000万項までの計算が必要になります.
===================================
【3】マーチン級数
πを計算するための無限級数のうちでもっともポピュラーなものはニュートンと同時代のマーチンによって発見された次のような式です(1706年).
π/4=4arctan(1/5)−arctan(1/239)
=4(1/5−1/3・5^3+1/5・5^5−1/7・5^7+・・・) −(1/239−1/3・239^3+1/5・239^5−・・・)
第2項の級数は非常に収束が速く,第1項の級数も1/5^2=0.04ぐらいの比で次々に小さくなりますから,数値計算に十分使えます.マーチンの級数の計算誤差は4/(2n+3)・(1/5)^2n+3ぐらいで,マーチン自身はこの公式のよってπの値を100桁ほど求めました.計算機のない時代のことですから,当然手計算であって神業ともいうべき話です.
この種のarctan(x)の展開公式はかなり多く知られていて,分数を組み合わせて1をつくるパズルのようなものですが,項数が少なく分母が大きいものほど有効です.その計算量は本質的にはO(n^2)になります.
マーチンの級数はarctanを2つ使ってπを表現する公式の中で最良のものです.マーチンの級数は収束が極めて急速で,コンピュータの時代に移った後もたくさんの人に利用され,はじめてコンピュータを用いてπの値を計算したノイマンはマーチンの公式を使って70時間かかって2037桁まで正しい値を求めています(1949年).
[補]arctan(1/n)を2項まで使って,πを表現する方法はステルマーの定理より次の5つしかありません.
π=4arctan(1/1)
π=4arctan(1/2)+4arctan(1/3)
π=8arctan(1/2)−4arctan(1/7)
π=8arctan(1/3)+4arctan(1/7)
π=16arctan(1/5)−4arctan(1/239)
===================================
【4】ステルマーの定理
ここでは,任意のarctan(1/n)を2項に分解することを考えてみます.
arctan(1/n)=arctan(1/p)+arctan(1/q)
公式
arctana+arctanb=arctan((a+b)/(1−ab))
を使うと,
1/n=(1/p+1/q)/(1−1/pq)
n=(pq−1)/(p+q)
q=(np+1)/(p−n)
ここで,p=n+mとおくと
q=n+(n^2+1)/m
arctan(1/n)=arctan(1/(n+m))+arctan(m/(n^2+mn+1))
したがって,n^2+1=kmなるkが存在するならばqは整数になることがわかります.
n^2+1の最大素因数pが2n以上となる正整数nをステルマー数と呼びます.n=3のとき,3^2+1=10=2・5→p=5ですから,3はステルマー数ではありません.同様に,
n=7 7^2+1=50=2・5^2 → p=5
n=18 18^2+1=325=5^2・13→p=13
n=57 57^2+1=3250→p=2・5^3・13→p=13
n=239 239^2+1=2・13^4→p=13
もステルマー数ではありません.
一方,n=2のとき,2^2+1=5→p=5ですから,2はステルマー数です.最初の30個のステルマー数は,
n=1,2,4,5,6,9,10,11,12,14,15,16,19,20,22,23,24,25,26,27,28,29,33,34,35,36,37,39,40,42
n^2+1=kmのときだけ
arctan(1/n)=arctan(1/(n+m))+arctan(1/(n+k))が成り立つのですが,ステルマーはどんなarctan(x)もnがステルマー数になっているarctan(1/n)の和として一意に表されることを発見しました.
[補]m=n^2+1のとき,
arctan(1/n)=Σarctan1/{(n^2+1)k^2−(n−1)^2k−(n−1)}
===================================