
結局今回は使わなかった Nexus 7 のアプリ、C4droid (C/C++ compiler)

探しましたがな。
John Wallis(1616/11/23-1703/10/28) の Arithmetica Infinitorum (1656)に出てくる、いわゆるウォリス積

かっちょよく書くと

無限乗積だ!こりやぁ収束遅いわ。式はとっても美しいんだけど。ちょっと見てみる?

ここがexcel2010の底だよー。初めて見たでしょ。
Excel2010の行を使い尽くしてみた。超弩級に重たい。D列が近似値で、E列が真値との誤差。1,048,573回回しても小数点以下5桁までしか正しくないことが分かる。
何故、斯様な式を examples としたのか、全く意図がわからない。関孝和遺編「括要算法 貞」の、355/113 = 3.141592920・・・の方がよっぽどましだ。
ちなみに、おなじみ、Machinの公式。


arctan をTaylor展開する。9回回して小数点以下14桁をクリア。
いつもの「GNU/Linux上で円周率の計算をおこなう

初期値

に対し

を行うと円周率の近似値は


わずか3回のループで小数点以下14桁をクリア。実はこの時点で小数点以下18桁までクリアしている。このアルゴリズム、pn が曲者で、1024ループあたりで変数がオーバーフローしてしまう。浮動小数点で計算するのはこの辺が限度ということだ。
実際の多桁円周率計算は、多倍長整数で計算しなければならない。
最近のトレンドは、Chudnovsky algorithm だそうな。

一項目、640320^(3/2) / 12 / 13591409 を電卓で計算すると、3.1415926535897342076684535915783・・・すげ!
二項目で27桁まで計算できちゃうみたい。
円周率を1億桁計算しました! — その試行錯誤の詳しい経緯と結果

Machin と Gauss_AGM の xlsx ファイルを下に置いとくので好きにして頂戴。Wallis は、70MByteもあって、ppblog に撥ねられちゃったので断念。残念。
「ウォリス一万尺」バージョンを置いときました。小数点以下3桁あたりをうろちょろしています。最終行を思う存分コピーしてください。パソコン固まっても知らないよ。自己責任。
Comments