単純で美しいが収束が遅い級数を用いて、円周率の値を効率的に計算する方法を示す。
奇数で構成される単純な円周率の級数 4/1-4/3+4/5-4/7+4/9-… は、発見者の名前からグレゴリー級数やライプニッツ級数と呼ばれる事が多い。1670年頃の発見であるが、1400年頃にインドで既に発見されていた。その発見者の名前からマーダヴァ級数と呼ぶこともある。(マーダヴァ・)グレゴリー・ライプニッツ級数と連名で呼ぶこともある。収束が遅くて実用的でない級数の代表となっているが、思われている以上に効率良く円周率を計算できる事を示す。
円周率を計算する場合、4/1-4/3+4/5-4/7+4/9-… よりも奇数の立方数を引いた
(4-13)/1-4/(3-33)+4/(5-53)-4/(7-73)+4/(9-93)-… を使用すると収束が速い。「立方数等の逆数和」を参照。
絶対値が 4/k の項、あるいは 4/(k-k3) の項までの部分和をそれぞれ S1(k),S3(k) とすると
S1(104+1)=3.1417926135957928…
S3(104+1)=3.1415926535877944…
しかし収束が速い式を使用する方が、効率的(計算量が小)であるかは別問題である。例えば
S1(11)=2.97604617604617604617…
S3(11)=3.14271284271284271284…
であるが
S1( 9)=3.33968253968253968253…
S3( 9)=3.13968253968253968253…
となり S3(9) の値は簡単な計算で済む S1(9) から0.2を引くだけで求まってしまう。
その理由は次の式を見れば明らかである。
1/(33-3)-1/(53-5)+1/(73-7)-1/(93-9)
=(1/4+1/8-1/3)-(1/8+1/12-1/5)+(1/12+1/16-1/7)-(1/16+1/20-1/9)
=(1/4-1/3)-(-1/5)+(-1/7)-(1/20-1/9)
=-3/4+(1/1-1/3+1/5-1/7+1/9)-1/20
つまり部分和で消去されずに残る最後の部分を補正すれば、収束の速い式と同じ値になる。
(4-13)/1-4/(3-33)+4/(5-53)-4/(7-73)+4/(9-93) = 4/1-4/3+4/5-4/7+4/9 - 2/10
S1(9) の場合とは異なり見ても気が付かないが、S1(11) の場合も補正すれば
2.97604617604617604617… + 2/12 = 3.14271284271284271284… = S3(11) となる。
このことは
収束の速い複雑な式 = 収束の遅い単純な式 + 補正項
と表現でき、式の単純さと収束の速さを両立できる。
この補正部分は、偶数のオイラー数(1,-1,5,-61,1385,-50521,…)の2倍で表すことができる。
CONTINUED FRACTIONS OF TAILS OF HYPERGEOMETRIC SERIES を参照。
漸近展開
例えば S1(104-1) と π の値は次の通り。異なる数字が現れた桁より後にも正しい数字が出現している。
3.14139265359179323836264339547950011419817981883455321969651876254589…
3.14159265358979323846264338327950288419716939937510582097494459230781…
参考: 後にも正しい数字が出現する現象は円周率の級数に限らない。他の級数や乗積や連分数でも経験する事がある。真の値との差が規則正しいパターンであるかが、値の一致度の参考情報となる。
差の半分 (S1(104-1)-π)/2 と その補数にはオイラー数が現れている。
1 5 1385 (2702765) …
-0.00009999999900000004999999390000138499949479027027630063921291488096…
0.99990000000099999995000000609999861500050520972972369936078708511903… (補数)
-1 -61 -50521 (-199360981) …
6個のオイラー数により補正した値は次の通り。
S1(104-1)+2(1/104-1/1012+5/1020-61/1028+1385/1036-50521/1044)
=3.14159265358979323846264338327950288419716939883455321969651876254589…
通常は5000項の計算で小数点以下3桁しか求まらないとされてしまうが、全部で5006項の計算で小数点以下44桁の正しい値が求まっている。
オイラー数は直接の計算が複雑であり、En≒2(n!)(2/π)n+1 のオーダーで増加する巨大な整数であるので、扱いが面倒である。オイラー数と連分数の関係を利用して補正すると簡単な式になる。
「ζ(k)と母関数 オイラー数とタンジェント数の母関数」を参照。
割り算が6回の連分数により補正した値は次の通り。
S1(104-1)+2/(104+12/(104+22/(104+32/(104+42/(104+52/(104))))))
=3.14159265358979323846264338327950288419716939927142602315064591140428…
4/1-4/3+4/5-4/7+4/9-…で円周率を計算する場合、部分和を連分数により補正すると効率が良い。「級数と乗積 円周率と黄金比」を参照。
1/k5 程度の速さで収束する円周率の式に等しい式の例は
32/(12*3*52)+32/(52*7*92)
={(1/12+1/32-1/1+1/3)-(1/32+1/52-1/3+1/5)}+{(1/52+1/72-1/5+1/7)-(1/72+1/92-1/7+1/9)}
= 2-2/1+2/3-2/5+2/7-1/9-1/92
従って
4-26{1/(12*3*52)+1/(52*7*92)} = (4/1-4/3+4/5-4/7+4/9)-2/9+2/92 = 3.14215…
この補正項は拡張するとタンジェント数の2倍で表すことができる。オイラー数との関係は
「ζ(k)と母関数 オイラー数とタンジェント数(1)」を参照。
漸近展開
6個のタンジェント数により補正した値は次の通り。
S1(104-1)+2(1/9999-1/99992+2/99994-16/99996+272/99998-7936/999910+353792/999912)
=3.14159265358979323846264338327950288419716939937555381249473583689992…
オイラー数を使用しない補正項の級数は、「ζ(k)と母関数 オイラー数とタンジェント数の母関数」での式
を利用すると
例えば
バーゼル問題の答えとして知られるオイラー級数 π2/6=1/12+1/22+1/32+1/42+… に対する同様の式は
あるいは
例えば
円周率を4/1-4/3+4/5-…-4/(10^m-1) までの値により、多数決原理で求める。
1 2 3
1234567890123456789012345678901234567
3.1395926555897832385846406133805394790… 10^3-1までの値
3.1413926535917932383626433954795001141… 10^4-1までの値
3.1415726535897952384626423832795041041… 10^5-1までの値
3.1415906535897932404626433832695028841… 10^6-1までの値
3.14159265358979323846264338327950?1?41… 多数決による値
3.1415926535897932384626433832795028841… 正確な値
10^3-1から10^6-1までの4個の値により、小数点以下32桁まで正しい値が求まっている。
正しくない数字の出現には周期性があるため、重みづけをすればより多くの正しい数字が求まるはずだ。