πの桁を高速に計算する方法
チュドノフスキー法は、ラマヌジャンのπ公式に基づいてπの桁を高速に計算する方法である。1988年にチュドノフスキー兄弟によって発表され[1] 、 πを小数点以下10億桁まで計算するために使用された。 [2]
これは、2009年12月のπの2.7兆桁[3]、2011年10月の10兆桁[4] 、 [5] 2016年11月の22.4兆桁[6] 、 2018年9月~2019年1月の31.4兆桁[7] 、 2020年1月29日の50兆桁[8]、2021年8月14日の62.8兆桁[9]、2022年3月21日の100兆桁[10] 、 2024年3月14日の105兆桁[11]、2024年6月28日の202兆桁[12]の世界記録計算に使用されました。
アルゴリズム
このアルゴリズムは、否定されたヘーグナー数 、j関数、および次の急速に収束する一般化超幾何級数に基づいています。[13]この公式の詳細な証明は、ここ[14]で見つけることができます。

この恒等式はπを含むラマヌジャンの
いくつかの公式に似ており[ 13] 、ラマヌジャン-佐藤級数の例である。
このアルゴリズムの時間計算量はである。[15]
最適化
世界記録の計算に使用された最適化手法は、バイナリ分割と呼ばれます。[16] [信頼できない情報源? ]
バイナリ分割
の係数を合計から取り除き、次のように簡略化することができる。
とし、それを合計に代入します。
は と簡略化できるので、
の元の定義から、
この定義はに対して定義されていないので、和の最初の項を計算し、 の新しい定義を使用します。


とすると、

させて、

は計算できないので、代わりにとを計算します。 が に近づくにつれて、近似値はより良くなります。



の元の定義から、

関数を再帰的に計算する
次のような値を考える




再帰の基本ケース
考慮する




Pythonコード
#注: 極端な計算の場合は、他のコードを使用して GPU で実行することもできます。これは、これよりもはるかに高速です。
10進数をインポート
バイナリ分割の定義( a , b ):
b == a + 1の場合:
Pab = - ( 6 * a - 5 ) * ( 2 * a - 1 ) * ( 6 * a - 1 )
Qab = 10939058860032000 * a ** 3
Rab = パブ * ( 545140134 * a + 13591409 )
それ以外:
m = ( a + b ) // 2 です
Pam 、 Qam 、 Ram = binary_split ( a 、 m )
Pmb 、 Qmb 、 Rmb = binary_split ( m 、 b )
パブ = パム * パム
カブ = カアム * カム
Rab = Qmb * Ram + Pam * Rmb
Pab 、 Qab 、 Rabを返す
チュドノフスキーの定義( n ):
「「チュドノフスキーアルゴリズム」」」
P1n 、 Q1n 、 R1n = バイナリ分割( 1 、 n )
戻り値 ( 426880 * 小数点.小数点( 10005 ) . sqrt () * Q1n ) / ( 13591409 * Q1n + R1n )
print ( f "1 = { chudnovsky ( 2 ) } " ) # 3.141592653589793238462643384
小数点.getcontext ( ) . prec = 100 # 小数点精度の桁数
n が範囲( 2,10 )の 場合:
print ( f " { n } = { chudnovsky ( n ) } " ) # 3.14159265358979323846264338...
注記




参照
数学ポータル
参考文献
- ^ チャドノフスキー、デイビッド、チャドノフスキー、グレゴリー(1988)、ラマヌジャンによる近似と複素乗算、ラマヌジャン再考:100周年記念会議議事録
- ^ Warsi, Karl; Dangerfield, Jan; Farndon, John; Griffiths, Johny; Jackson, Tom; Patel, Mukul; Pope, Sue; Parker, Matt (2019). The Math Book: Big Ideas Simply Explained . New York: Dorling Kindersley Limited . p. 65. ISBN 978-1-4654-8024-8。
- ^ Baruah, Nayandeep Deka; Berndt, Bruce C.; Chan, Heng Huat (2009-08-01). 「1/π のラマヌジャン級数: 概要」. American Mathematical Monthly . 116 (7): 567–587. doi :10.4169/193009709X458555.
- ^ Yee, Alexander; Kondo, Shigeru (2011)、「10 兆桁の円周率: マルチコア システムで超幾何級数を高精度に合計するケース スタディ」、技術レポート、イリノイ大学コンピューター サイエンス学部、hdl :2142/28348
- ^ アロン、ジェイコブ(2012年3月14日)、「πの日に定数が衝突」、ニューサイエンティスト
- ^ 「円周率の22.4兆桁」www.numberworld.org。
- ^ 「Google Cloud が円周率の記録を破る」www.numberworld.org/。
- ^ 「円周率の記録がパソコンに戻る」www.numberworld.org/。
- ^ “Pi-Challenge - Weltrekordver such der FH Graubünden - FH Graubünden”. www.fhgr.ch 。2021年8月17日閲覧。
- ^ 「Google Cloud で円周率 100 兆桁を計算」。cloud.google.com。2022年 6 月 10 日閲覧。
- ^ Yee, Alexander J. (2024-03-14). 「105兆桁の円周率の新記録へ向けて邁進中」NumberWorld.org . 2024-03-16閲覧。
- ^ Ranous, Jordan (2024-06-28). 「StorageReview Labが202兆桁を超える円周率計算の世界記録を破る」StorageReview.com . 2024年7月20日閲覧。
- ^ ab Baruah, Nayandeep Deka; Berndt, Bruce C.; Chan, Heng Huat (2009)、「ラマヌジャンの 1/ π級数:概要」、American Mathematical Monthly、116 (7): 567–587、doi :10.4169/193009709X458555、JSTOR 40391165、MR 2549375
- ^ Milla, Lorenz (2018)、基本的な複素解析によるチュドノフスキー式の詳細な証明、arXiv : 1809.00533
- ^ 「y-cruncher - Formulas」。www.numberworld.org 。 2018年2月25日閲覧。
- ^ レイトン、ジョシュア(2023年9月)、πはどうやって兆桁まで計算されるのか?、YouTube