这个计算器能做什么
本工具采用算术-几何平均(AGM)迭代算法来计算数学常数圆周率 π。与传统的级数展开相比,基于 AGM 的方法收敛速度快得惊人:二次高斯-勒让德法每迭代一步,正确位数大约翻一倍;四次 Borwein 法每步翻四倍;九次算法则每步乘以九。这些都是已公开发表的标准数值算法,在任何地方运算结果都完全一致——这是纯粹的数学,不涉及任何单位,也不受任何国家或地区规则的限制。
使用方法
先选择一个「计算公式」(默认的二次高斯-勒让德法已能满足绝大多数需求),再设定你想要的「位数」,还可以选填一个「最大迭代次数」上限(设为 100 已绰绰有余——大约 6 次迭代就能达到 50 位精度)。计算器会不断迭代,直到估计值在当前工作精度下不再变化为止,随后给出 π 的数值、所用的迭代次数,以及最后一步的变化量大小。
公式详解
高斯-勒让德算法(Salamin-Brent,1976 年)的初始值设为 \(a_0 = 1\)、\(b_0 = 1/\sqrt{2}\)、\(t_0 = 1/4\)、\(p_0 = 1\)。每次迭代先算出新的算术平均值 \(a\),再算出几何平均值 \(b = \sqrt{a \cdot b}\),接着用 \(t\) 减去 \(p \cdot (a - a_{\text{new}})^2\) 来更新 \(t\),并把 \(p\) 翻倍。当前估计值为 $$\pi = \frac{(a + b)^2}{4t}.$$ 由于算术平均与几何平均会以二次速度收敛到同一个 AGM 公共值,误差在每一步都会以平方级别缩小。
实例演算
以上述初始值采用二次算法:第 1 次迭代得到约 \(3.140579\)(3 位正确),第 2 次迭代得到 \(3.14159264\)(8 位),第 3 次迭代得到 \(3.141592653589793\)——这正是 IEEE 双精度运算所能提供的全部精度。第 4 步已无任何变化,因此循环在 3 次迭代后停止。
常见问题
为什么数值只能精确到大约 15 位?本次重写版本使用 IEEE 双精度浮点数,大约只能携带 15–16 位有效数字。下拉菜单中更高的位数选项,表示底层 AGM 算法在采用任意精度运算时所能达到的目标精度。
三种方法给出的答案会不同吗?不会——它们最终都收敛到同一个 π 值,区别只在于到达该值的速度有多快(即所需迭代次数)。
「最后一步变化量」是什么意思?它指最后两个估计值之间差值的绝对大小,可用来快速衡量迭代收敛得有多紧密。