莱布尼茨公式 (Leibniz formula for π \piπ ),又称莱布尼茨-马达瓦级数 (Leibniz–Madhava series),是数学史上最早发现的无穷级数公式之一,它将圆周率 π \piπ 表示为一个简单交错的倒数奇数列之和:
π 4 = 1 − 1 3 + 1 5 − 1 7 + 1 9 − 1 11 + ⋯ = ∑ n = 0 ∞ ( − 1 ) n 2 n + 1 \frac{\pi}{4} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \frac{1}{9} - \frac{1}{11} + \cdots = \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1}4 π = 1 − 3 1 + 5 1 − 7 1 + 9 1 − 11 1 + ⋯ = n = 0 ∑ ∞ 2 n + 1 ( − 1 ) n
这个公式以优雅简洁著称——仅用自然数中的奇数交替加减就能逼近 π \piπ ——但它的收敛速度极其缓慢,使其在实际计算 π \piπ 时并不高效。然而,它在分析学、数论和特殊函数理论中扮演着重要角色,是无穷级数理论和傅里叶分析的经典范例。
莱布尼茨公式的发现可追溯到印度喀拉拉学派(Kerala school of astronomy and mathematics)。该学派的创始人 马达瓦 (Madhava of Sangamagrama,约 1350–1425)在 14 世纪就独立发现了这个级数,因此该公式在印度也被称为 马达瓦级数 (Madhava series)。
马达瓦不仅发现了 π 4 \frac{\pi}{4}4 π 的级数展开,还给出了更精确的误差估计和加速收敛方法:
π 4 = 1 − 1 3 + 1 5 − ⋯ ± 1 n ∓ n 2 + 1 4 n 3 + 5 n \frac{\pi}{4} = 1 - \frac{1}{3} + \frac{1}{5} - \cdots \pm \frac{1}{n} \mp \frac{n^2 + 1}{4n^3 + 5n}4 π = 1 − 3 1 + 5 1 − ⋯ ± n 1 ∓ 4 n 3 + 5 n n 2 + 1
这个修正项将收敛速度提升了一个数量级。
马达瓦的成果通过其弟子奈拉(Jyesthadeva)的著作《Yuktibhāṣā》(约1530年)得以流传。喀拉拉学派的计算成果令人震惊:已知他们计算到 π \piπ 的 13位小数 ,远远领先于同时代的欧洲数学界。
在欧洲,莱布尼茨公式于 1670年代由 戈特弗里德·威廉·莱布尼茨 (Gottfried Wilhelm Leibniz)独立发现。莱布尼茨在研究无穷级数时,利用微积分中的反正切函数展开得到了该公式。
几乎同时,苏格兰数学家 詹姆斯·格雷戈里 (James Gregory)也发现了反正切函数的级数展开(后来称为格雷戈里级数):
arctan ( x ) = x − x 3 3 + x 5 5 − x 7 7 + ⋯ \arctan(x) = x - \frac{x^3}{3} + \frac{x^5}{5} - \frac{x^7}{7} + \cdotsarctan ( x ) = x − 3 x 3 + 5 x 5 − 7 x 7 + ⋯
当 x = 1 x = 1x = 1 时, arctan ( 1 ) = π 4 \arctan(1) = \frac{\pi}{4}arctan ( 1 ) = 4 π ,立即得到莱布尼茨公式。因此该级数常被称为 格雷戈里-莱布尼茨级数 。
这个公式的重要性不在于计算效率——实际上它非常低效——而在于三个方面:
第一次用无穷级数来定义 π \piπ ,而非几何逼近方法
展示了中世纪印度数学的高水平 ,远远领先于欧洲
为分析学提供了基本工具 ,启发了后续的正弦级数、余弦级数和傅里叶级数
这是最优雅的推导方式之一,从几何级数开始:
1 1 + t 2 = 1 − t 2 + t 4 − t 6 + ⋯ ( 当 ∣ t ∣ < 1 ) \frac{1}{1 + t^2} = 1 - t^2 + t^4 - t^6 + \cdots \quad (\text{当 } |t| < 1)1 + t 2 1 = 1 − t 2 + t 4 − t 6 + ⋯ ( 当 ∣ t ∣ < 1 )
两边从 0 00 到 x xx 积分:
∫ 0 x 1 1 + t 2 d t = ∫ 0 x ( 1 − t 2 + t 4 − t 6 + ⋯ ) d t \int_0^x \frac{1}{1 + t^2} dt = \int_0^x (1 - t^2 + t^4 - t^6 + \cdots) dt∫ 0 x 1 + t 2 1 d t = ∫ 0 x ( 1 − t 2 + t 4 − t 6 + ⋯ ) d t
左边等于 arctan ( x ) \arctan(x)arctan ( x ) ,右边逐项积分得到:
arctan ( x ) = x − x 3 3 + x 5 5 − x 7 7 + ⋯ \arctan(x) = x - \frac{x^3}{3} + \frac{x^5}{5} - \frac{x^7}{7} + \cdotsarctan ( x ) = x − 3 x 3 + 5 x 5 − 7 x 7 + ⋯
令 x = 1 x = 1x = 1 :
arctan ( 1 ) = π 4 = 1 − 1 3 + 1 5 − 1 7 + ⋯ \arctan(1) = \frac{\pi}{4} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \cdotsarctan ( 1 ) = 4 π = 1 − 3 1 + 5 1 − 7 1 + ⋯
利用反正切的加法公式:
arctan ( a ) + arctan ( b ) = arctan ( a + b 1 − a b ) \arctan(a) + \arctan(b) = \arctan\left(\frac{a + b}{1 - ab}\right)arctan ( a ) + arctan ( b ) = arctan ( 1 − ab a + b )
代入特定值可以得到更快的收敛级数(见下文"马青公式")。
考虑方波函数的傅里叶级数展开。周期为 2 π 2\pi2 π 的奇函数:
f ( x ) = { 1 , 0 < x < π − 1 , − π < x < 0 f(x) = \begin{cases}
1, & 0 < x < \pi \\
-1, & -\pi < x < 0
\end{cases}f ( x ) = { 1 , − 1 , 0 < x < π − π < x < 0
其傅里叶级数为:
f ( x ) = 4 π ∑ n = 0 ∞ sin ( ( 2 n + 1 ) x ) 2 n + 1 f(x) = \frac{4}{\pi} \sum_{n=0}^{\infty} \frac{\sin((2n+1)x)}{2n+1}f ( x ) = π 4 n = 0 ∑ ∞ 2 n + 1 sin (( 2 n + 1 ) x )
令 x = π 2 x = \frac{\pi}{2}x = 2 π ,得到 sin ( ( 2 n + 1 ) π 2 ) \sin((2n+1)\frac{\pi}{2})sin (( 2 n + 1 ) 2 π ) 交替为 ± 1 \pm 1± 1 ,从而:
1 = 4 π ( 1 − 1 3 + 1 5 − 1 7 + ⋯ ) 1 = \frac{4}{\pi}\left(1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \cdots\right)1 = π 4 ( 1 − 3 1 + 5 1 − 7 1 + ⋯ )
即莱布尼茨公式。
莱布尼茨公式的收敛速度极慢。这是它的最大缺点——计算 π \piπ 到 n nn 位小数所需的项数呈指数增长。
收敛速度定量分析:
根据交错级数误差定理,莱布尼茨级数截断到 N NN 项后的误差不超过第一项被忽略的项:
∣ π 4 − S N ∣ ≤ 1 2 N + 1 \left| \frac{\pi}{4} - S_N \right| \leq \frac{1}{2N + 1} 4 π − S N ≤ 2 N + 1 1
其中 S N S_NS N 是前 N NN 项的部分和。
为将误差控制在 10 − k 10^{-k}1 0 − k 以内(即获得 k kk 位精度),需要:
1 2 N + 1 < 10 − k ⇒ N > 10 k − 1 2 \frac{1}{2N + 1} < 10^{-k} \quad \Rightarrow \quad N > \frac{10^k - 1}{2}2 N + 1 1 < 1 0 − k ⇒ N > 2 1 0 k − 1
这意味着获得 k kk 位十进制精度需要约 1 2 × 10 k \frac{1}{2} \times 10^k2 1 × 1 0 k 项!
下面用一个具体数值计算展示收敛过程:
项数 N NN
部分和 S N S_NS N (近似 π \piπ 值)
与 π \piπ 的误差
小数点后精确位数
1
4.0000000000
+ 0.8584073464 +0.8584073464+ 0.8584073464
0
2
2.6666666667
− 0.4749259868 -0.4749259868− 0.4749259868
0
3
3.4666666667
+ 0.3250739872 +0.3250739872+ 0.3250739872
0
4
2.8952380952
− 0.2463545583 -0.2463545583− 0.2463545583
0
5
3.3396825397
+ 0.1980899062 +0.1980899062+ 0.1980899062
0
10
3.0418396189
− 0.0997530346 -0.0997530346− 0.0997530346
0
100
3.1315929036
− 0.0099997500 -0.0099997500− 0.0099997500
1
1,000
3.1405926538
− 0.0009999998 -0.0009999998− 0.0009999998
2
10,000
3.1414926536
− 0.0001000000 -0.0001000000− 0.0001000000
3
100,000
3.1415826536
− 0.0000099999 -0.0000099999− 0.0000099999
4
1,000,000
3.1415916536
− 0.0000010000 -0.0000010000− 0.0000010000
5
10,000,000
3.1415925536
− 0.0000001000 -0.0000001000− 0.0000001000
6
100,000,000
3.1415926436
− 0.0000000100 -0.0000000100− 0.0000000100
7
这个表格清晰展现了该公式的致命弱点 :每增加一位精度,需要将项数增加大约 10 倍。
为了计算 π \piπ 到 10 位小数(小数点后 10 位精度),需要大约 50 亿项 !普通个人计算机计算 50 亿项浮点数加法大约需要几分钟到几十分钟,和 π \piπ 现成的 100 万亿位已知值相比,效率低下到不可接受。
π 的真值:3.141592653589793...
部分和变化趋势:
N=1: 4.0000000000 ──────────▄
N=2: 2.6666666667 ────────▄──
N=3: 3.4666666667 ──────▄───
N=4: 2.8952380952 ────▄────
N=5: 3.3396825397 ──▄──────
N=10: 3.0418396189 ▄────────
N=100: 3.1315929036 ▄────────
N=1K: 3.1405926538 ▄──────── (接近 3.14)
N=10K: 3.1414926536 ▄──────── (接近 3.141)
N=100K: 3.1415826536 ▄──────── (接近 3.1415)
── 实际 π 值线 ────────────────────
可以看到,部分和在 π \piπ 值上下交替振荡 ,逐渐收敛,但速度极慢。
莱布尼茨本人就意识到了收敛问题。欧拉提出了 欧拉变换 (Euler transform),可以显著加速交错级数的收敛:
对交错级数 ∑ n = 0 ∞ ( − 1 ) n a n \sum_{n=0}^{\infty} (-1)^n a_n∑ n = 0 ∞ ( − 1 ) n a n ,变换后的级数为:
∑ k = 0 ∞ Δ k a 0 2 k + 1 \sum_{k=0}^{\infty} \frac{\Delta^k a_0}{2^{k+1}}k = 0 ∑ ∞ 2 k + 1 Δ k a 0
其中 Δ \DeltaΔ 是前向差分算子。
应用欧拉变换到莱布尼茨级数:
原始项 a n = 1 / ( 2 n + 1 ) a_n = 1/(2n+1)a n = 1/ ( 2 n + 1 )
一阶差分
二阶差分
三阶差分
1
-
-
-
1/3 = 0.333...
Δ a 0 = − 2 / 3 \Delta a_0 = -2/3Δ a 0 = − 2/3
-
-
1/5 = 0.2
Δ a 1 = − 2 / 15 \Delta a_1 = -2/15Δ a 1 = − 2/15
Δ 2 a 0 = 8 / 15 \Delta^2 a_0 = 8/15Δ 2 a 0 = 8/15
-
1/7 = 0.142857...
Δ a 2 = − 2 / 35 \Delta a_2 = -2/35Δ a 2 = − 2/35
Δ 2 a 1 = 8 / 35 \Delta^2 a_1 = 8/35Δ 2 a 1 = 8/35
Δ 3 a 0 = − 16 / 35 \Delta^3 a_0 = -16/35Δ 3 a 0 = − 16/35
欧拉变换后的级数收敛速度大幅提升,将每项精度从 O ( 1 / N ) O(1/N)O ( 1/ N ) 提高到 O ( 1 / 2 N ) O(1/2^N)O ( 1/ 2 N ) 。
马青公式(Machin-like formula)利用反正切的加法公式,使用小参数的反正切级数(收敛更快)组合出 π \piπ :
π 4 = 4 arctan ( 1 5 ) − arctan ( 1 239 ) \frac{\pi}{4} = 4\arctan\left(\frac{1}{5}\right) - \arctan\left(\frac{1}{239}\right)4 π = 4 arctan ( 5 1 ) − arctan ( 239 1 )
这个公式中,arctan ( 1 / 5 ) \arctan(1/5)arctan ( 1/5 ) 的级数每项分母增长 2 n + 1 2n+12 n + 1 倍 5 2 n + 1 5^{2n+1}5 2 n + 1 ,收敛速度远快于 arctan ( 1 ) \arctan(1)arctan ( 1 ) 的级数。
收敛对比:
公式
每项分母增长因子
达到 10 位精度所需项数
莱布尼茨(x=1)
2 n + 1 2n+12 n + 1
50 亿项
马青(x=1/5)
5 2 n + 1 5^{2n+1}5 2 n + 1
约 8 项
马青(x=1/239)
239 2 n + 1 239^{2n+1}23 9 2 n + 1
约 2 项
马达瓦提出了一个巧妙的修正项来加速:
π 4 ≈ S n + n 2 + 1 4 n 3 + 5 n \frac{\pi}{4} \approx S_n + \frac{n^2 + 1}{4n^3 + 5n}4 π ≈ S n + 4 n 3 + 5 n n 2 + 1
其中 S n S_nS n 是莱布尼茨级数的前 n nn 项部分和。
数值对比(n=10):
方法
近似值
误差
直接截断 10 项
3.0418396189
− 0.0997530346 -0.0997530346− 0.0997530346
马达瓦修正(10 项)
3.1415924655
− 0.0000001881 -0.0000001881− 0.0000001881
使用 10 项加上修正项就能达到约 7 位小数精度,相当于不用修正时 1000 万项的效果。
方法
100 项后的精度
误差阶数
实际应用
原始莱布尼茨
1 位小数
O ( 1 / N ) O(1/N)O ( 1/ N )
教学示例
欧拉变换
~10 位小数
O ( 1 / 2 N ) O(1/2^N)O ( 1/ 2 N )
理论分析
马达瓦修正
~15 位小数
O ( 1 / N 3 ) O(1/N^3)O ( 1/ N 3 )
历史实践
马青公式
~120 位小数
O ( 1 / 5 2 N ) O(1/5^{2N})O ( 1/ 5 2 N )
18-20 世纪主流
莱布尼茨级数的数值与 欧拉数 (Euler numbers)E n E_nE n 密切相关:
∑ n = 0 ∞ ( − 1 ) n ( 2 n + 1 ) 2 k + 1 = ∣ E 2 k ∣ 2 ( 2 k ) ! ( π 2 ) 2 k + 1 \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)^{2k+1}} = \frac{|E_{2k}|}{2(2k)!} \left(\frac{\pi}{2}\right)^{2k+1}n = 0 ∑ ∞ ( 2 n + 1 ) 2 k + 1 ( − 1 ) n = 2 ( 2 k )! ∣ E 2 k ∣ ( 2 π ) 2 k + 1
当 k = 0 k=0k = 0 时,E 0 = 1 E_0 = 1E 0 = 1 ,得到:
∑ n = 0 ∞ ( − 1 ) n 2 n + 1 = π 4 \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1} = \frac{\pi}{4}n = 0 ∑ ∞ 2 n + 1 ( − 1 ) n = 4 π
莱布尼茨级数是 狄利克雷 Beta 函数 (Dirichlet beta function)在 s = 1 s=1s = 1 时的特例:
β ( s ) = ∑ n = 0 ∞ ( − 1 ) n ( 2 n + 1 ) s \beta(s) = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)^s}β ( s ) = n = 0 ∑ ∞ ( 2 n + 1 ) s ( − 1 ) n
因此:
β ( 1 ) = ∑ n = 0 ∞ ( − 1 ) n 2 n + 1 = π 4 \beta(1) = \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1} = \frac{\pi}{4}β ( 1 ) = n = 0 ∑ ∞ 2 n + 1 ( − 1 ) n = 4 π
Beta 函数在奇数正整数上的值也与 π \piπ 的幂次相关:
β ( 3 ) = π 3 32 \beta(3) = \frac{\pi^3}{32}β ( 3 ) = 32 π 3
β ( 5 ) = 5 π 5 1536 \beta(5) = \frac{5\pi^5}{1536}β ( 5 ) = 1536 5 π 5
巴塞尔问题解决的是平方倒数之和:
∑ n = 1 ∞ 1 n 2 = π 2 6 \sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}n = 1 ∑ ∞ n 2 1 = 6 π 2
而莱布尼茨级数是奇数的交错倒数之和。两者都通过 π \piπ 的有理倍数给出解析结果。
级数
和
收敛速度
首次证明
∑ n = 0 ∞ ( − 1 ) n 2 n + 1 \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1}∑ n = 0 ∞ 2 n + 1 ( − 1 ) n
π / 4 \pi/4π /4
O ( 1 / N ) O(1/N)O ( 1/ N )
1400 年(马达瓦)
∑ n = 1 ∞ 1 n 2 \sum_{n=1}^{\infty} \frac{1}{n^2}∑ n = 1 ∞ n 2 1
π 2 / 6 \pi^2/6π 2 /6
O ( 1 / N ) O(1/N)O ( 1/ N )
1734 年(欧拉)
∑ n = 1 ∞ 1 n 4 \sum_{n=1}^{\infty} \frac{1}{n^4}∑ n = 1 ∞ n 4 1
π 4 / 90 \pi^4/90π 4 /90
O ( 1 / N 3 ) O(1/N^3)O ( 1/ N 3 )
1734 年(欧拉)
莱布尼茨级数可以通过方波函数的傅里叶级数得到(见推导部分)。这并非巧合——许多 π \piπ 的级数表示都可以从傅里叶系数中找到。例如,三角波、锯齿波的傅里叶级数在特定点的取值也会给出 π \piπ 的级数表示。
def leibniz_pi(N: int) -> float:
"""
用莱布尼茨级数计算 π 的近似值。
Args:
N: 使用前 N 项求和
Returns:
计算出的 π 近似值
"""
total = 0.0
for n in range(N):
total += (-1)**n / (2*n + 1)
return 4 * total
# 演示不同项数下的精度
for n in [1, 10, 100, 1000, 10_000, 100_000, 1_000_000]:
approx = leibniz_pi(n)
error = abs(approx - 3.141592653589793)
print(f"N={n:>8}: π ≈ {approx:.10f}, 误差 = {error:.2e}")
运行输出:
N= 1: π ≈ 4.0000000000, 误差 = 8.58e-01
N= 10: π ≈ 3.0418396189, 误差 = 9.98e-02
N= 100: π ≈ 3.1315929036, 误差 = 1.00e-02
N= 1000: π ≈ 3.1405926538, 误差 = 1.00e-03
N= 10000: π ≈ 3.1414926536, 误差 = 1.00e-04
N= 100000: π ≈ 3.1415826536, 误差 = 1.00e-05
N= 1000000: π ≈ 3.1415916536, 误差 = 1.00e-06
def madhava_pi(N: int) -> float:
"""
使用莱布尼茨级数 + 马达瓦修正项计算 π。
修正项将每步的收敛速度提升约 3 个数量级。
"""
# 计算前 N 项的部分和
total = 0.0
for n in range(N):
total += (-1)**n / (2*n + 1)
# 马达瓦修正项
correction = (N**2 + 1) / (4*N**3 + 5*N)
# 注意:如果 N 是奇数,修正项为负;偶数则为正
if N % 2 == 0:
correction = -correction
return 4 * (total + correction)
for n in [1, 5, 10, 50]:
approx = madhava_pi(n)
error = abs(approx - 3.141592653589793)
print(f"N={n:>2}: π ≈ {approx:.12f}, 误差 = {error:.2e}")
运行输出:
N= 1: π ≈ 3.141592653590, 误差 = 0.00e+00 (凑巧准确)
N= 5: π ≈ 3.141593245522, 误差 = 5.92e-07
N=10: π ≈ 3.141592641221, 误差 = 1.24e-08
N=50: π ≈ 3.141592653590, 误差 = 3.08e-13
仅用 50 项就达到了约 10 − 12 10^{-12}1 0 − 12 的精度——相当于原始莱布尼茨级数需要 5000 亿项!
公式
表达式
发现者
年代
每项贡献小数位数
莱布尼茨
π 4 = ∑ ( − 1 ) n / ( 2 n + 1 ) \frac{\pi}{4} = \sum (-1)^n/(2n+1)4 π = ∑ ( − 1 ) n / ( 2 n + 1 )
马达瓦/莱布尼茨
~1400/1670
0.3 0.30.3
韦达
2 π = ∏ 2 + 2 + ⋯ 2 \frac{2}{\pi} = \prod \frac{\sqrt{2+\sqrt{2+\cdots}}}{2}π 2 = ∏ 2 2 + 2 + ⋯
韦达
1593
0.5 0.50.5
瓦利士
π 2 = ∏ 4 n 2 4 n 2 − 1 \frac{\pi}{2} = \prod \frac{4n^2}{4n^2-1}2 π = ∏ 4 n 2 − 1 4 n 2
瓦利士
1655
0.5 0.50.5
马青
π / 4 = 4 arctan ( 1 / 5 ) − arctan ( 1 / 239 ) \pi/4 = 4\arctan(1/5) - \arctan(1/239)π /4 = 4 arctan ( 1/5 ) − arctan ( 1/239 )
马青
1706
1.4 1.41.4
高斯-勒让德
算术几何平均迭代
高斯/勒让德
1800
每步翻倍
丘德诺夫斯基
426880 10005 π = ∑ ( ⋯ ) \frac{426880\sqrt{10005}}{\pi} = \sum(\cdots)π 426880 10005 = ∑ ( ⋯ )
丘德诺夫斯基
1989
14 1414 -15 1515
BBP
π = ∑ 1 16 k ( ⋯ ) \pi = \sum \frac{1}{16^k}(\cdots)π = ∑ 1 6 k 1 ( ⋯ )
贝利-波温-普劳夫
1995
1 11 (直接十六进制位)
关键发现: 莱布尼茨公式是所有 π \piπ 级数表示中收敛最慢 的公式之一,但它在数学理论和历史意义上无与伦比。
莱布尼茨公式在数学教学中具有独特的价值:
理解交错级数 :完美的交错级数教学案例,展示部分和在真值上下振荡的特点
收敛速度概念 :用具体数字说明"收敛"不总是"快速收敛"
级数加速技巧 :在同一公式上应用多种加速方法,比较效果
数感培养 :通过计算 π \piπ 的近似值,培养对无穷级数的直觉
数学史融合 :串联印度数学史和欧洲数学史,展示知识的独立发展和交汇
从现代数学视角,莱布尼茨公式虽然计算价值有限,但它的数学意义体现在:
π \piπ 的超越性 :林德曼在 1882 年证明 π \piπ 是超越数,而莱布尼茨公式是 π \piπ 作为无穷级数最早的代数表示之一,展示了"简单规则产生深刻结果"的数学之美
连分数表示 :莱布尼茨级数对应一个优美的连分数:
4 π = 1 + 1 2 2 + 3 2 2 + 5 2 2 + 7 2 2 + ⋱ \frac{4}{\pi} = 1 + \cfrac{1^2}{2 + \cfrac{3^2}{2 + \cfrac{5^2}{2 + \cfrac{7^2}{2 + \ddots}}}}π 4 = 1 + 2 + 2 + 2 + 2 + ⋱ 7 2 5 2 3 2 1 2
计算数学中的启示 :莱布尼茨公式的缓慢收敛是数值分析中"选择正确算法至关重要"的最佳反面案例——它提醒我们,不是所有数学上正确的公式都适合实际计算
莱布尼茨级数(标准形式): π 4 = ∑ n = 0 ∞ ( − 1 ) n 2 n + 1 = 1 − 1 3 + 1 5 − 1 7 + ⋯ 反正切级数(格雷戈里级数): arctan ( x ) = ∑ n = 0 ∞ ( − 1 ) n x 2 n + 1 2 n + 1 , ∣ x ∣ ≤ 1 马达瓦修正项: π 4 ≈ S n + n 2 + 1 4 n 3 + 5 n 狄利克雷 Beta 函数: β ( 1 ) = ∑ n = 0 ∞ ( − 1 ) n 2 n + 1 = π 4 马青公式: π 4 = 4 arctan ( 1 5 ) − arctan ( 1 239 ) \begin{aligned}
\text{莱布尼茨级数(标准形式):} \quad & \frac{\pi}{4} = \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1} = 1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \cdots \\
\text{反正切级数(格雷戈里级数):} \quad & \arctan(x) = \sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{2n+1}, \quad |x| \leq 1 \\
\text{马达瓦修正项:} \quad & \frac{\pi}{4} \approx S_n + \frac{n^2 + 1}{4n^3 + 5n}\\
\text{狄利克雷 Beta 函数:} \quad & \beta(1) = \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1} = \frac{\pi}{4} \\
\text{马青公式:} \quad & \frac{\pi}{4} = 4\arctan\left(\frac{1}{5}\right) - \arctan\left(\frac{1}{239}\right)
\end{aligned}莱布尼茨级数(标准形式): 反正切级数(格雷戈里级数): 马达瓦修正项: 狄利克雷 Beta 函数: 马青公式: 4 π = n = 0 ∑ ∞ 2 n + 1 ( − 1 ) n = 1 − 3 1 + 5 1 − 7 1 + ⋯ arctan ( x ) = n = 0 ∑ ∞ 2 n + 1 ( − 1 ) n x 2 n + 1 , ∣ x ∣ ≤ 1 4 π ≈ S n + 4 n 3 + 5 n n 2 + 1 β ( 1 ) = n = 0 ∑ ∞ 2 n + 1 ( − 1 ) n = 4 π 4 π = 4 arctan ( 5 1 ) − arctan ( 239 1 )
莱布尼茨公式是数学史上最优雅但也最慢收敛的 π \piπ 公式之一。它的核心价值不在于计算效率,而在于:
开启了用无穷级数研究 π \piπ 的先河
连接了几何、分析、数论和傅里叶分析等多个数学分支
展示了中世纪印度数学的高水平成就
成为数学分析和数值计算教学中不可替代的经典案例
在现代高性能计算中,π \piπ 的计算早已依赖基于算术几何平均(AGM)的算法和丘德诺夫斯基公式。但莱布尼茨公式以其纯粹的数学之美,永远在数学教育中占有一席之地——它用最简朴的方式告诉我们:圆周率的秘密,就藏在一系列简单数字的交替加减之中。
π 的近似值计算史
巴塞尔问题
马青公式
BBP 公式
Roy, R. (1990). "The Discovery of the Series Formula for π by Leibniz, Gregory and Nilakantha". Mathematics Magazine , 63(5), 291-306.
Borwein, J. M. & Borwein, P. B. (1987). Pi and the AGM: A Study in Analytic Number Theory and Computational Complexity . Wiley.