2018年3月14日水曜日

【Debianのすゝめ】pi 円周率の計算 ポンコツマシンで一億桁

piノススメ
アルキメデスの定理である円周率を任意の精度で計算
本プログラムは、アルキメデスの定理である円周率を任意の精度で計算します。きわめて高速で、精度を制限するのはあなたのマシンのメインメモリ量だけです。実際の計算を任せられるCLNライブラリに、無理難題を押し付けるパッケージです。この小数点以下の数字をランダムな数字として使ったり、あるいはそこに秘められたメッセージを探すのにも使えるかもしれません:)。
https://packages.debian.org/stretch/piより引用

ポンコツマシンで夢の一億桁
piさんは、CLNライブラリさんに無理難題を押し付け、精度を制限するのはメモリ量だけだそうです。CLNライブラリさんがどなたかも、出てきた答えが正しいのかも、僕にはまったく判りませんが、メモリ1GBのポンコツマシンに頑張ってもらいました。
 一千万桁で   二分三十秒
 二千万桁で   六分〇〇秒
 五千万桁で  十七分三十秒
 一 億 桁で 三十九分〇〇秒 かかりました。

「ふ~ん」って流されてしまいそうですが、これはこれで凄いと思いたいです。Wikipedia の円周率の歴史に、計算時間は判りませんが1985年で1752万桁とあるので、2004年のポンコツマシンでも80年代のコンピュータに比べれば、かなり進化しているってことです。そう思うと凄いでしょ。当たり前?そうですか。そうですよね。でも一億桁ですよ。

計算結果
# pi 1001 小数点以下、千桁
3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196 4428810975 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 4543266482 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 9171536436 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036 5759591953 0921861173 8193261179 3105118548 0744623799 6274956735 1885752724 8912279381 8301194912 9833673362 4406566430 8602139494 6395224737 1907021798 6094370277 0539217176 2931767523 8467481846 7669405132 0005681271 4526356082 7785771342 7577896091 7363717872 1468440901 2249534301 4654958537 1050792279 6892589235 4201995611 2129021960 8640344181 5981362977 4771309960 5187072113 4999999837 2978049951 0597317328 1609631859 5024459455 3469083026 4252230825 3344685035 2619311881 7101000313 7838752886 5875332083 8142061717 7669147303 5982534904 2875546873 1159562863 8823537875 9375195778 1857780532 1712268066 1300192787 6611195909 2164201989

# pi 100000001 小数点以下、一億桁
3.1415926535 8と、ずぅ~っと続いて 下11桁は20187751592

アルキメデスとアインシュタイン
三月十四日は円周率の日。またアインシュタインの誕生日であることから、数学の日でもあるようです。なので、自分の中ではいちばん数学らしい数字の集まり、円周率πを計算してみようと思ったのでした。

ですが、アルキメデスの使った円周率の計算方法も知りません。調べてみると、当時は小数点という概念もなかったみたいです。それでも、アルキメデス以前から22/7という近似値は知られていたらしいので、おどろきです。アルキメデスって紀元前の人ですよ。

結局、古代の人の足元にも及ばない僕の代わりに、ポンコツマシンの中のpiさんに計算してもらいました。案の定、僕が答えを見ても、アルキメデスやアインシュタインのような天才とは違い、小数点以下の数字に秘められたメッセージなどは見つけられませんでした:)。