【πの話】 <円周率の計算の歴史>
計算した人 | 年代 | その結果 |
古代エジプト人 | BC4000年頃 | 3.1? |
アルキメデス | BC200年頃 | 3.14? |
フィボナッチ | 1200年頃 | 3.14156? |
関孝和 | 1700年頃 | 11桁 |
ニュートン | 1665年 | 16桁 |
マーチン | 1705年 | 100桁 |
シャンクス | 1874年 | 707桁 |
ENIAC | 1949年 | 2037桁 |
・・・ | ・・・ | ・・・ |
みなさんもご存知,πは円周率のことですが,大学で使っていた解析概論という本に
計算式が載っていました。
これは,無限級数が一様収束することを応用して,πの算出方法を見つけたもので,
ライプニッツの公式やマーチンの公式が有名です。<下式参照>
<ライプニッツの公式>
π=4(1−1/3+1/5−1/7+1/9−・・・)
※ご覧のとおり収束が緩慢なので,計算には不適当ですが,
これをもとにマーチンの公式が導きだされています。
<マーチンの公式>
π=16{1/5−1/(3×5^3)+1/(5×5^5)−1/(7×5^7)+・・・}
−4{1/239−1/(3×239^3)+1/(5×239^5)−1/(7×239^7)+・・・}
※この公式を使って,ウィリアム・シャンクスは,1873年に707桁まで計算しています。
★10年ぐらい前のことですが,上記のマーチンの公式を使って,
実際にBASICでプログラムを作って求めたことがあります。
約1000桁を求めるプログラムを,仕事の合間に,作るだけで約1週間かかり,
当時モニターで手に入れたFM−77で実行させたところ,40時間以上かかりました。
現在は,東大の金田研究室が500億桁以上の計算をしています。
(下記参照)
[πの部屋!] |
★マーチンの公式からπを求める考え方★
@A(N+1)=−A(N)/〔(2N−1)*25〕として,16{・・・}の部分を
交代級数として計算しながら,収束させていく。
AB(N+1)=B(N)/〔(2N−1)*239^2〕として,−4{・・・}の部分を
交代級数として計算しながら,収束させていく。
Bこのとき,それぞれの数値は,配列に分割していく。
例.1/3=0.333333 333333 333333 333333・・・・
↓ ↓ ↓ ↓
C(1) C(2) C(3) C(4) ・・・
Cそれぞれが収束したところで,A列とB列をたすとπになる。
<と簡単に書いたけど・・・プログラムにすると結構ややこしくて,面倒だった。
おまけに昔作ったプログラムは行方不明です・・・>