ちょっとやってみたかったことをやってみようかなと思いまして、



この前、3月14日の記事でも書いたんだけど、いろいろな数学者が円周率を求めようと様々な近似式を編み出してきた。

その時代では最速な方法も、時が経つに連れ、もっと収束が速い方法が登場してくる。

速い、遅いという表現では、同じくらいの速度のもので比べてどっちが速いとか遅いということは、あまり語られて来なかったと思う。

まぁ、前置きはこれくらいにして、偉大な数学者たちと近似式を紹介する。


それでは、第一レースの紹介です。


【ライプニッツ級数】
ゴットフリート・ヴィルヘルム・ライプニッツ(ドイツ・1646年7月1日~1716年11月14日)



+と-が交互に現れることからも解るが、振動しながら収束していく。

そこで、



このように2項を()でまとめて1項とすると、各項は正で、+だけの式となり、単調増加関数となり、下から収束させることも出来る。

また、



このように2項を()でまとめて1項にすると、各項は正で、-だけとなり、単調減少関数となり、上から収束させることも出来る。

ライプニッツからの出馬は、とりあえずこれくらいにしておこう。


続いて、

【ウォリス積】
ジョン・ウォリス(イングランド・1616年11月23日~1703年10月28日)



今度は積です。
%演算子は、前者を後者で割った余りという演算です。

これも、1未満と1超過を交互に掛けていることから、振動しながら収束します。

というわけで、



このように2項を()でまとめて1項とすると、分母の方が分子よりも1小さいので、1超過を掛け続けることになり、単調増加関数となり、下から収束する。

また、



このように2項を()でまとめて1項とすると、分母の方が分子よりも1大きいので、1未満を掛け続けることになり、単調減少関数となり、上から収束する。

ウォリスの出馬もこれくらいにしておきます。


これらの数式をプログラミングして、どのくらいの速度で収束しているのかを比べてみようというのが、今回の企画の趣旨です。

これら6式と、内接正多角形の辺、内接する正多角形の面積、外接する正多角形の辺・面積の3式を加えた9式で競争させます。
 


【第一レース】

10n


































10n






10n







10n






100 0 0 1 0 0 0 0 0 0
101 1 1 2 1 1 1 1 0 1
102 2 2 3 2 2 3 4 2 3
103 3 4 3 3 3 3 5 5 4
104 4 5 4 4 5 4 8 7 7
105 5 5 6 5 5 4 10 9 9
106 6 7 6 6 6 6 12 11 10
107 7 8 7 7 7 7 14 13 13
108 8 8 9 8 8 8 15 15 15
109 9 10 9 9 9 9 18 17 17
1010 10 11 10 10 11 10 20 19 19


とても収束が遅いグループです。
10n項まで求めると、n桁正しい円周率が求まるというイメージです。
参考に内接・外接する正10n角形の辺の長さや面積から円周率を求めた場合と見比べてみると解りますが、これらは三角関数の精度がそれだけ必要になりますので、参考ということです。



縦軸が正しい円周率の桁数、横軸は項数ですが、10の冪乗であることを注意。

ライプニッツ級数も、ウォリス積も、それほど速度に違いはありませんでした。
敷いて言えば、下から収束させるほうが収束が多少速いように思えますが、そもそもが遅いので、挟み撃ちするとか別の方法も考えられますね。


続いて、第二レースの紹介です。


【マーダヴァ】
サンガマグラーマのマーダヴァ(インド・1340年~1425年)
ライプニッツ級数を発見したとも言われているが、今回は別の式です。



この時代にarctanですから凄いです。

これも振動するので、下から収束と上から収束の出馬としておきます。


ここからは、arctanを使った式です。


【マチンの公式(1706年)】
ジョン・マチン(英・1680年頃~1751年6月9日)




【オイラーによる公式(1748年)】
レオンハルト・オイラー(スイス・1707年4月15日~1783年9月18日)




【ガウスによる公式(1863年)】
ヨハン・カール・フリードリヒ・ガウス(ドイツ・1777年4月30日~1855年2月23日)




【ストマ―による公式(1896年)】
フレドリック・カール・ミュラーツ・ストマー(ノルウェー・1874年9月3日~1957年8月13日)




【高野喜久雄による公式(1982年)】
高野喜久雄(日本・1927年11月20日~2006年5月1日)




arctan系はこれくらいにしておきます。


続いて、連分数を2つ。


【冪乗型連分数】
ウイリアム・ブラウンカー(イングランド・1620年頃~1684年4月5日)



どこで区切るかは色々有るかとは思いますが、
赤文字の部分を初項としてπを導くことにします。
4/π=1+1/3=4/3
π=3を初項とします。


【階乗型連分数】
発見者不明



どこで区切るかは色々あるかとは思いますが、
赤文字の部分を初項としてπを導くことにします。
π/2=0!+1!/3=1+1/3=4/3
π=8/3を初項とします。


連分数はこの2つとします。


【ラマヌジャンによる級数】
シュリニヴァーサ・ラマヌジャン(インド・1887年12月22日~1920年4月26日)


まったく新しい方法です。
モジュラー関数という考え方です。

 

【第二レース】

n












































1 1 1 1 2 2 3 2 4 1 0 7
2 1 2 2 3 4 5 4 7 2 0 16
3 2 4 3 4 6 8 6 10 2 1 24
4 2 5 4 6 7 11 8 14 3 1 32
5 3 6 6 8 9 13 10 17 4 2 40
6 4 7 6 9 11 16 12 22 4 2 48
7 4 8 7 10 11 19 13 25 5 2 54
8 5 9 9 12 14 21 15 29 6 2 64
9 6 10 9 13 16 24 17 32 7 3 71
10 6 11 10 15 18 26 19 35 8 4 78
11 6 12 11 17 20 28 21 37 9 4 87
12 7 13 11 18 22 31 23 42 9 4 95
13 7 14 13 19 23 33 25 46 10 5 104
14 8 15 15 20 25 36 26 48 10 5 112
15 9 16 16 22 27 39 28 53 12 5 119
16 9 17 16 23 29 42 30 56 11 5 128
17 9 18 17 25 29 43 32 59 14 5 136
18 10 19 18 26 31 47 34 62 13 6 143
19 10 20 19 28 33 49 36 66 15 6 151
20 11 20 20 30 35 52 38 69 16 7 160
21 11 22 21 31 37 54 40 73 16 7 168
22 12 23 22 31 39 57 41 76 17 7 176
23 11 24 23 33 40 59 43 78 18 8 183
24 13 25 24 35 42 62 45 83 19 8 192
25 13 26 25 37 43 65 46 86 19 8 198
26 14 26 26 38 45 67 48 90 20 8 207
27 15 27 27 39 47 69 50 93 21 9 216
28 15 29 28 41 48 72 52 96 22 9 223
29 16 30 29 41 50 74 54 99 22 10 231
30 16 30 29 44 52 76 56 103 23 10 239
31 16 31 31 44 54 78 57 106 24 10 248
32 17 31 32 46 56 82 59 110 25 11 255
33 17 34 33 48 57 85 61 114 26 11 264
34 18 35 33 48 59 87 63 117 26 11 271
35 18 35 34 50 61 89 65 121 27 12 280
36 19 36 36 52 62 92 67 124 28 12 287
37 19 38 37 54 64 95 68 127 29 12 295
38 20 38 37 55 66 96 70 131 29 12 303
39 20 39 37 56 68 99 72 133 30 13 311
40 20 40 40 58 69 102 74 137 31 13 319
41 21 41 40 59 71 104 76 141 31 13 327
42 22 42 41 60 72 107 78 144 33 14 335
43 22 43 43 61 74 110 78 148 33 14 344
44 23 44 43 63 76 112 81 151 33 14 351
45 23 45 43 65 77 115 83 155 35 14 360
46 24 46 46 66 80 117 84 158 36 14 367
47 24 47 46 68 81 120 87 161 36 15 375
48 25 48 47 69 83 122 88 163 37 15 383
49 25 48 49 70 85 125 90 168 38 15 390
50 26 49 50 72 86 127 92 171 37 16 398
51 26 51 50 73 88 130 94 175 39 16 407
52 26 52 51 75 90 131 96 178 40 16 415
53 27 52 52 76 91 135 97 181 41 17 423
54 27 53 53 76 93 137 100 184 41 17 431
55 28 55 54 78 95 140 101 188 42 18 439
56 29 56 54 80 96 142 102 192 43 18 447
57 29 57 56 81 98 145 104 195 44 18 455
58 30 58 57 83 100 147 107 199 43 18 463
59 29 58 57 85 102 149 108 202 45 19 471
60 30 59 59 86 103 152 110 205 46 19 479
61 31 60 60 87 105 155 112 207 47 19 486
62 31 62 61 88 107 158 113 212 48 20 495
63 32 62 61 90 108 160 116 215 48 20 503
64 31 63 63 91 109 162 118 219 50 20 511
65 33 64 64 93 112 165 119 222 49 20 519
66 34 64 65 93 113 166 120 226 51 20 526
67 33 66 65 95 115 170 123 229 52 21 535
68 35 67 66 96 117 172 125 232 53 21 543
69 34 68 68 98 119 175 126 235 53 22 551
70 35 69 68 100 120 178 129 239 54 22 559
71 36 70 70 101 121 179 130 243 55 22 567
72 36 70 71 102 124 183 131 244 54 22 575
73 37 72 71 104 125 185 133 248 56 23 583
74 38 73 73 105 127 188 135 253 57 23 591
75 37 74 73 106 128 189 138 256 58 23 599
76 38 75 74 108 130 193 139 259 57 24 607
77 37 75 75 110 132 195 141 263 59 24 615
78 39 76 76 111 134 197 143 266 60 24 622
79 40 78 77 112 136 200 145 270 61 25 630
80 40 79 77 113 137 203 147 273 61 25 638
81 40 80 78 115 139 206 148 276 62 26 646
82 41 81 78 117 141 208 150 279 63 26 655
83 41 82 78 118 142 210 151 283 64 26 663
84 42 82 82 120 144 213 153 286 65 26 671
85 43 84 83 121 146 216 155 290 66 26 679
86 43 84 84 122 147 218 157 293 66 27 687
87 43 84 85 123 149 221 159 297 67 27 695
88 44 86 86 125 151 223 161 300 68 27 703
89 43 87 87 126 153 225 163 303 68 27 711
90 45 88 87 127 153 228 163 306 69 28 719
91 46 89 89 128 156 231 167 310 70 29 727
92 46 90 90 131 158 233 168 313 71 29 735
93 46 91 91 132 159 235 170 316 72 29 742
94 47 92 92 134 161 238 172 320 72 30 751
95 47 93 93 135 163 241 174 324 73 30 759
96 48 93 94 136 163 242 175 326 73 30 761
97 49 94 95 138 166 246 177 330 75 30 775
98 48 96 95 139 166 247 179 334 75 30 782
99 50 96 97 140 168 251 181 337 76 31 791
100 49 98 97 142 171 253 183 341 77 31 798

 

1着:ラマヌジャン
2着:高野喜久雄
3着:ガウス
 

インドの魔術師ラマヌジャンが圧倒的速度で逃げ切りました。
高野喜久雄やガウスが他のarctan系よりも有利になった要因は、arctan自体の項数が多かった事によるものと思われる。
arctan自体の項数が3項であるガウスとストマ―で、これだけの差が出るのも面白い事実です。


縦軸が正しい円周率の桁数、横軸が項数です。

グラフにすると、圧倒的なラマヌジャンの速度が解ります。
いずれも、多少の揺れはあるが、ほぼ直線、つまり等速運動と考えて良いですね。

マーダヴァや連分数型は、このレースでは遅い方ですが、第一レースに入れてしまうと、圧倒的な速度で逃げ切ってしまいます。


続いて、第三レースの紹介です。


【ガウス=ルジャンドルのアルゴリズム】
アドリアン=マリ・ルジャンドル(フランス・1752年9月18日~1833年1月10日)



算術幾何平均による漸化式での収束です。

参考までに、2nとラマヌジャンを入れました。
 

【第三レース】

n








2n




0 0 1 7
1 3 2 16
2 8 4 24
3 19 8 32
4 41 16 40
5 84 32 48
6 171 64 54
7 345 128 64
8 694 256 71
9 1392 512 78
10 2788 1024 87
11 5582 2048 95
12 11171 4096 104
13 22348 8192 112
14 44701 16384 119
15 89410 32768 128
16 178825 65536 136
17 357656 131072 143
18 715318 262144 151
19 1430645 524288 160
20 2861297 1048576 168




ガウス=ルジャンドルの圧勝です。
あれだけ速いと言われたラマヌジャンを、平面に押しつぶしてしまう脅威の加速。
2nは、倍々になっていくグラフ、ドラえもんのバイバインだと思ってください。
それをも上回る加速ですね。

今後、ガウス=ルジャンドルを上回るものが登場し、第三レースも楽しくなっていくのでしょうか。
それとも、第四レースが行われるのか。
どちらにしても楽しみですね。


総評

第一レースがy=log(x)のグラフ
第二レースがy=ax+bのグラフ
第三レースがy=axのグラフ
という圧倒的な次元の異なるグラフということがお解りいただけたでしょうか。

各項の計算量が多くなると、プログラミング的には遅くなるということはありますが、そこは無視して、何回反復させれば、10進数としてみてどれだけ正しい円周率の桁数が求まるかというところに重点を置いております。

振動する式において、2項を1項にまとめて、下から収束、上から収束、ということは、速度は倍になるということでもあります。
また、下から収束、上から収束を使って、算術幾何平均ということも出来るのでしょう。

コンピューターによる円周率の桁数の競争は、アルゴリズムの出来の良さだけではなく、コンピューター自身の性能の差や、ハードウェアを分散させるなどのアイディアによって、もともとの数式の持つポテンシャルが解りにくくなるというところでもあります。

このアルゴリズムを使って、このハードウェアで、何時間掛かって、何桁求めた、と言われても、掛かった時間の短さ、桁数の多さ、くらいしかでしか凄さが解りにくいということです。

同じ土俵で、どれだけの差が出るのかというのは、実際にプログラミングして自分のパソコンなりで性能差を比べないと実感出来なかったりする。

ただ、皆が皆が、プログラミング出来るのか、プログラミングに長けているか、ということではないので、性能差を比べるには同じ土俵におけるグラフが直感的に解りやすいということです。

但し、各式の持つ計算量、計算の難しさは、また別の話しですので、実際にプログラミングしてみて、ボトルネックになるところなどが解ったりもします。


ではでは