next up previous
Next: 3.1.3 色々な 公式を比較する Up: 3.1 どの方法を使う? Previous: 3.1.1 とにかく早く安心したい

3.1.2 AGM でやってみようか

どうしてそれで良いかを理解するのはさておき、 AGM 法の計算 (例えば Salamin-Brent のアルゴリズム) は比較的単純で、 十進 BASIC でプログラムを書くのも簡単です。
Salamin-Brent のアルゴリズム (別名 Gauss-Legendre のアルゴリズム)
$ a=1$, $ b=1/\sqrt{2}$ として、

(1) $\displaystyle \left\{ \begin{array}{ll} a_0:=a,\quad b_0:=b,  [0.5em] a_{n+1}...
...m] c_n:=\sqrt{a_n^2-b_n^2} & \quad\mbox{($n=0,1,2,\cdots$)} \end{array} \right.$

で定義された数列を用いて

$\displaystyle \pi_n:=\frac{2 a_{n+1}^2}{1-\dsp\sum_{k=0}^n 2^k c_k^2}
$

とおくとき、

$\displaystyle \lim_{n\to\infty}\pi_n=\pi$   (単調増加)$\displaystyle .
$

通常のプログラミング言語では、 多数桁の数同士の四則演算を実現するのは大変なのですが、 十進 BASIC では 1000 桁までの計算は、 特別なことをしないで出来てしまいますから。


next up previous
Next: 3.1.3 色々な 公式を比較する Up: 3.1 どの方法を使う? Previous: 3.1.1 とにかく早く安心したい
Masashi Katsurada
平成20年10月18日