主题
Search

Pi 迭代


pi 可以使用多种迭代算法计算得出。其中最著名的算法阿基米德算法(由普法夫于 1800 年推导得出)和 Brent-Salamin 公式。Borwein 等人 (1989) 讨论了 p 阶迭代算法。

Brent-Salamin 公式是一种二次收敛算法。

另一种二次收敛算法(Borwein 和 Borwein 1987,第 46-48 页)通过定义以下公式获得

x_0=sqrt(2)
(1)
y_1=2^(1/4)
(2)

x_n=1/2(x_(n-1)^(1/2)+x_(n-1)^(-1/2))
(3)
y_n=(y_(n-1)x_(n-1)^(1/2)+x_(n-1)^(-1/2))/(y_(n-1)+1).
(4)

那么

 pi_n=pi_(n-1)(x_n+1)/(y_n+1),
(5)

其中 pi_0=2+sqrt(2)pi_n 单调递减至 pi

 pi_n-pi<10^(-2^(n+1))
(6)

对于 n>=2

一种三次收敛算法,它收敛到最接近 pi 倍数的 f_0 是简单的迭代

 f_n=f_(n-1)+sin(f_(n-1))
(7)

(Beeler等人 1972)。例如,应用于 23 得到序列 23, 22.1537796, 21.99186453, 21.99114858, ...,它收敛到 7pi approx 21.99114858

一种四次收敛算法通过令

y_0=sqrt(lambda^*(r))
(8)
alpha_0=alpha(r),
(9)

然后定义

y_n=(1-(1-y_(n-1)^4)^(1/4))/(1+(1-y_(n-1)^4)^(1/4))
(10)
alpha_n=(1+y_n)^4alpha_(n-1)-4^nsqrt(r)y_n(1+y_n+y_n^2).
(11)

那么

 pi=lim_(n->infty)1/(alpha_n)
(12)

alpha_n 四次收敛到 1/pi

 alpha_n-1/pi<16·4^nsqrt(r)e^(-4^npisqrt(r))
(13)

(Borwein 和 Borwein 1987,第 170-171 页;Bailey 1988,Borwein等人 1989)。该算法基于 4 阶的模方程恒等式。取特殊情况 r=2 得到 y_0=sqrt(2)-1alpha_0=2(sqrt(2)-1)^2=6-4sqrt(2)

一种五次收敛算法通过令

s_0=5(sqrt(5)-2)
(14)
alpha_0=1/2.
(15)

然后令

 s_n=(25)/((z+x/z+1)^2s_(n-1)),
(16)

其中

x=5/(s_n)-1
(17)
y=(x-1)^2+7
(18)
z=[1/2x(y+sqrt(y^2-4x^3))]^(1/5).
(19)

最后,令

 alpha_(n+1)=s_n^2alpha_n-5^n[1/2(s_n^2-5)+sqrt(s_n(s_n^2-2s_n+5))],
(20)

那么

 0<alpha_n-1/pi<16·5^ne^(-pi5^n)
(21)

(Borwein等人 1989)。该算法基于 5 阶的模方程恒等式。

从任何正整数 n 开始,向上舍入到最接近 n-1 的倍数,然后向上舍入到最接近 n-2 的倍数,依此类推,直到最接近 1 的倍数。令 f(n) 表示结果。那么比率

 lim_(n->infty)(n^2)/(f(n))=pi.
(22)

David (1957) 将此结果归功于 Jabotinski 和 Erdős,并给出了更精确的渐近结果

 f(n)=(n^2)/pi+O(n^(4/3)).
(23)

序列 {f(n)} 中的前几个数字是 1, 2, 4, 6, 10, 12, 18, 22, 30, 34, ... (OEIS A002491)。

另一种算法归功于 Woon (1995)。定义 a(0)=1

 a(n)=sqrt(1+[sum_(k=0)^(n-1)a(k)]^2).
(24)

可以通过归纳法证明

 a(n)=csc(pi/(2^(n+1))).
(25)

对于 n=0,恒等式成立。如果它对于 n<=t 成立,那么

 a(t+1)=sqrt(1+[sum_(k=0)^tcsc(pi/(2^(k+1)))]^2),
(26)

但是

 csc(pi/(2^(k+1)))=cot(pi/(2^(k+2)))-cot(pi/(2^(k+1))),
(27)

所以

 sum_(k=0)^tcsc(pi/(2^(k+1)))=cot(pi/(2^(t+2))).
(28)

因此,

 a(t+1)=csc(pi/(2^(t+2))),
(29)

因此恒等式对于 n=t+1 成立,并且通过归纳法,对于所有非负 n 都成立,且

lim_(n->infty)(2^(n+1))/(a(n))=lim_(n->infty)2^(n+1)sin(pi/(2^(n+1)))
(30)
=lim_(n->infty)2^(n+1)pi/(2^(n+1))(sin(pi/(2^(n+1))))/(pi/(2^(n+1)))
(31)
=pilim_(theta->0)(sintheta)/theta=pi.
(32)

另请参阅

阿基米德算法, Brent-Salamin 公式, Pi, Pi 的位数, Pi 公式

使用 Wolfram|Alpha 探索

参考文献

Bailey, D. H. "使用 Borwein 的四次收敛算法计算 pi29360000 位十进制数字。" Math. Comput. 50, 283-296, 1988.Beeler, M. et al. 项目 140,出自 Beeler, M.; Gosper, R. W.; 和 Schroeppel, R. HAKMEM. Cambridge, MA: MIT 人工智能实验室, Memo AIM-239, p. 69, Feb. 1972. http://www.inwap.com/pdp10/hbaker/hakmem/pi.html#item140.Borwein, J. M. 和 Borwein, P. B. Pi & the AGM: 解析数论和计算复杂性研究。 New York: Wiley, 1987.Borwein, J. M.; Borwein, P. B.; 和 Bailey, D. H. "拉马努金、模方程和 Pi 的近似值,或如何计算十亿位 Pi。" Amer. Math. Monthly 96, 201-219, 1989.David, Y. "关于通过筛选过程生成的序列。" Riveon Lematematika 11, 26-31, 1957.Sloane, N. J. A. 序列 A002491/M1009,在“整数序列在线百科全书”中。Woon, S. C. "问题 1441。" Math. Mag. 68, 72-73, 1995.

在 Wolfram|Alpha 中被引用

Pi 迭代

请引用为

Weisstein, Eric W. "Pi 迭代。" 来自 MathWorld——Wolfram Web 资源。 https://mathworld.net.cn/PiIterations.html

学科分类