円周率に対するBBP桁抽出アルゴリズムとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 円周率に対するBBP桁抽出アルゴリズムの意味・解説 

円周率に対するBBP桁抽出アルゴリズム

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/02 06:54 UTC 版)

ベイリー=ボールウェイン=プラウフの公式」の記事における「円周率に対するBBP桁抽出アルゴリズム」の解説

円周率 π の十六進数でのn目を返す数式定義したい。この式を使ってスピゴット・アルゴリズムを実装するためには、いくつかの操作が必要である。 はじめに、公式を次のように変形する必要がある。 π = 4 ∑ k = 0 ∞ 1 ( 16 k ) ( 8 k + 1 ) − 2 ∑ k = 0 ∞ 1 ( 16 k ) ( 8 k + 4 ) − ∑ k = 0 ∞ 1 ( 16 k ) ( 8 k + 5 ) − ∑ k = 0 ∞ 1 ( 16 k ) ( 8 k + 6 ) {\displaystyle \pi =4\sum _{k=0}^{\infty }{\frac {1}{\left(16^{k}\right)(8k+1)}}-2\sum _{k=0}^{\infty }{\frac {1}{\left(16^{k}\right)(8k+4)}}-\sum _{k=0}^{\infty }{\frac {1}{\left(16^{k}\right)(8k+5)}}-\sum _{k=0}^{\infty }{\frac {1}{\left(16^{k}\right)(8k+6)}}} さて、ある特定の値nについて、最初の和をとると、n番目の項をはさんで和が無限大分かれる。 ∑ k = 0 ∞ 1 ( 16 k ) ( 8 k + 1 ) = ∑ k = 0 n 1 ( 16 k ) ( 8 k + 1 ) + ∑ k = n + 1 ∞ 1 ( 16 k ) ( 8 k + 1 ) {\displaystyle \sum _{k=0}^{\infty }{\frac {1}{\left(16^{k}\right)(8k+1)}}=\sum _{k=0}^{n}{\frac {1}{\left(16^{k}\right)(8k+1)}}+\sum _{k=n+1}^{\infty }{\frac {1}{\left(16^{k}\right)(8k+1)}}} ここで 16 n {\displaystyle 16^{n}} を掛けると、十六進数小数点小数部と整数部の分かれ目)はn位になる。 ∑ k = 016 n − k 8 k + 1 = ∑ k = 0 n 16 n − k 8 k + 1 + ∑ k = n + 116 n − k 8 k + 1 {\displaystyle \sum _{k=0}^{\infty }{\frac {16^{n-k}}{8k+1}}=\sum _{k=0}^{n}{\frac {16^{n-k}}{8k+1}}+\sum _{k=n+1}^{\infty }{\frac {16^{n-k}}{8k+1}}} 逆に2番目の和は、k > n のとき、分子分母より大きくなることはないので、整数生成することはできない。したがって最初の和の整数除去するトリックが必要である。そのトリックとは mod 8k + 1 である。そうすると最初分数部分の和は ∑ k = 0 n 16 n − k mod ( 8 k + 1 ) 8 k + 1 + ∑ k = n + 116 n − k 8 k + 1 {\displaystyle \sum _{k=0}^{n}{\frac {16^{n-k}{\bmod {(}}8k+1)}{8k+1}}+\sum _{k=n+1}^{\infty }{\frac {16^{n-k}}{8k+1}}} となる。 合同演算子が常に分数和だけを残すことを保証していることに注目。16n−k mod (8k + 1) を高速かつ効率的に計算するために、冪剰余アルゴリズム使用される実行積が1より大きくなると、各和実行積と同じよう合同演算とられるさて、計算完了するには、これを4つ和に順番適用する必要がある。これが終わると、4つの和は π に戻される。 4 Σ 1 − 2 Σ 2 − Σ 3 − Σ 4 {\displaystyle 4\Sigma _{1}-2\Sigma _{2}-\Sigma _{3}-\Sigma _{4}} 正確なのは分数部だけなので、目的取り出すには、最終和の整数部を取り除き16倍してこの位置の十六進数を「かすめ取る必要がある理論上は、使用した計算精度までの次のも正確である)。 この処理は、長い乗算を行うのと似ているが、いくつかの中間列の和を実行するだけでよい。カウントされないキャリー存在するが、コンピュータ通常多くビット32または64に対して演算行い丸めるため、我々は最上位にしか興味がない。ある計算が、99999999999という数字小さな数字例えば1)を足すのに失敗するようなもので、その誤差最上位伝播していく可能性がある。

※この「円周率に対するBBP桁抽出アルゴリズム」の解説は、「ベイリー=ボールウェイン=プラウフの公式」の解説の一部です。
「円周率に対するBBP桁抽出アルゴリズム」を含む「ベイリー=ボールウェイン=プラウフの公式」の記事については、「ベイリー=ボールウェイン=プラウフの公式」の概要を参照ください。

ウィキペディア小見出し辞書の「円周率に対するBBP桁抽出アルゴリズム」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


このページでは「ウィキペディア小見出し辞書」から円周率に対するBBP桁抽出アルゴリズムを検索した結果を表示しています。
Weblioに収録されているすべての辞書から円周率に対するBBP桁抽出アルゴリズムを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書から円周率に対するBBP桁抽出アルゴリズム を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

円周率に対するBBP桁抽出アルゴリズムのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



円周率に対するBBP桁抽出アルゴリズムのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのベイリー=ボールウェイン=プラウフの公式 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS