> 文章列表 > 巴塞尔问题数值逼近方法

巴塞尔问题数值逼近方法

巴塞尔问题数值逼近方法

巴塞尔问题:计算所有平方数的导数和

∑n=1∞1n2=lim⁡n→+∞(112+122+⋯+1n2)\\sum_{n=1}^{\\infty} \\frac{1}{n^{2}}=\\lim _{n \\rightarrow+\\infty}\\left(\\frac{1}{1^{2}}+\\frac{1}{2^{2}}+\\cdots+\\frac{1}{n^{2}}\\right)n=1n21=n+lim(121+221++n21)

理论解为 1/6π21/6\\pi^21/6π2

网络上有很多关于理论解的证明,此处不在赘述。下面介绍数值逼近的方法(也可以用此方法来求 π\\piπ

如果直接使用定义,通过matlab计算我们可以知道,前1e6次项,误差也有1e-6,误差还是比较大的。

n = 1e6;
num = 1:n;
a = sum(1./(num.^2))
err = zeta(2)-a

使用下面的加速算法
ζ(2)∼∑k=1n1k2+1n−12n2+16n3−130n5+142n7−130n9\\zeta(2) \\sim \\sum_{k=1}^{n} \\frac{1}{k^{2}}+\\frac{1}{n}-\\frac{1}{2 n^{2}}+\\frac{1}{6 n^{3}}-\\frac{1}{30 n^{5}}+\\frac{1}{42 n^{7}}-\\frac{1}{30 n^{9}}ζ(2)k=1nk21+n12n21+6n3130n51+42n7130n91

n = 1e6;
num = 1:n;
a = sum(1./(num.^2))+1/n-1/(2*n^2)+1/(6*n^3)-1/(30*n^5)+1/(42*n^7)-1/(30*n^9);
err = zeta(2)-a

前1e6次项,误差达到了1e-16,结果让人满意。


上面的那个加速算法,是通过 Euler–Maclaurin 公式得到的。但是我自己也没有算明白,有兴趣的读者可以自己搜着看一下。


2023年2月28日19点36分