作者:卢昌海
围捕零点
时下流行一种休闲方式叫做DIY(DoItYourself),讲究自己动手做一些原本只有工匠才做的东西,比方说自己动手做件陶器什么的。在像我这样懒散的人看来这简直比工作还累,可如今许多人偏偏就兴这个,或许是领悟了负负得正(累累得闲?)的道理吧。既是大势如此,我们也乐得共襄盛举,安排“休闲”一下,让大家亲自动手用Riemann-Siegel公式来计算一个Riemannζ函数的非平凡零点。
DIY一般有个特点,那就是课题本身看起来虽颇见难度,实际做起来却通常是捡其中相对简单的来做(以免打击休闲的积极性)。我们计算零点也是如此,挑其中相对简单——即容易计算——的非平凡零点来计算。那么什么样的非平凡零点比较容易计算呢?显然是那些听Riemann的话,乖乖躺在临界线上的——因为不在临界线上的非平凡零点即便有也绝不可能容易计算,否则Riemann猜想早被推翻了。
如我们在上节中所见,Riemann-Siegel公式包含了许多计算量很大的东西,其中最令人头疼的是求和,因为它使计算量成倍地增加。不过幸运的是那个求和是对n2<(t/2π)的自然数n进行的,因此如果t<8π≈25,求和就只有n=1一项。这显然是比较简单的,因此我们狡猾的目光就盯在了这一区间上。在这一区间上,Riemann-Siegel公式简化成为:
Z(t)=2cos[θ(t)]+R(t)
这就是我们此次围捕零点的工具。
在正式围捕之前,我们先做一点火力侦察——粗略地估计一下猎物的位置。我们要找的是使Z(t)为零的点,直接寻找显然是极其困难的,但我们注意到2cos[θ(t)](通常被称为主项)在θ(t)=(m+1/2)π时为零(m为整数),这是一个不错的出发点。由上节中θ(t)的表达式不难证明,在所有这些使2cos[θ(t)]为零的θ(t)中,θ=-π/2(即m=-1)是使t在t<25中取值最小的(当然,别忘了t是正实数),它所对应的t为t≈14.5。这是我们关于零点的第一个估计值。纯以数值而论,它还算不错,相对误差约为百分之三。
接下来我们对这个估计值进行一次修正。修正的理由是显而易见的,因为t≈14.5时R(t)明显不为零。为了计算R(t),我们注意到t≈14.5时(t/2π)1/2≈1.5,因此R(t)中的参数N——即(t/2π)1/2的整数部分——为1,p——即(t/2π)1/2的分数部分——约为0.5。由此可以求出R(t)中的第一项——即C0(t/2π)-1/4——约为0.3。
为了抵消这额外的0.3,我们需要对t进行修正,使2cos[θ(t)]减少0.3。我们采用最简单的线性近似Δt≈Δ{2cos[θ(t)]}/{2cos[θ(t)]}'来计算这一修正值。为此注意到2cos[θ(t)]在t≈14.5处的导数{2cos[θ(t)]}'为-2θ'(t)sin[θ(t)]≈-2(1/2)ln(14.5/2π)sin(-π/2)≈0.83。由此可知t需要修正为t+Δt≈14.5-0.3/0.83≈14.14。这个数值与零点的实际值之间的相对误差仅为万分之四。但是需要提醒读者的是,这种估计——无论从数值上讲多么高明——都不足以证明零点的存在,而至多只能作为围捕零点前的火力侦察。
那么究竟怎样才能证明零点的存在呢?我们在上节中已经叙述了基本思路,那就是通过计算Z(t)的符号,如果Z(t)在临界线上某两点的符号相反,就说明Riemannζ函数在这两点之间存在零点。我们上面所做的估计就是为这一计算做准备的。现在我们就来进行这样的计算。由于我们已经估计出在t=14.14附近可能存在零点,因此我们就在14.1≤t≤14.2的区间上撒下一张小网。如果我们的计算表明Z(t)在这一区间的两端,即t=14.1与t=14.2,具有不同的符号,那就证明了Riemannζ函数在t=14.1与t=14.2之间存在零点[注一]。
下面我们就来进行计算:
对于t=14.1,(t/2π)1/2≈1.498027,θ(t)≈-1.742722。因而主项2cos[θ(t)]≈-0.342160,剩余项R(t)中p≈0.498027,从而其中第一项(即C0项)为C0(t/2π)-1/4≈0.312671。由
[1] [2] [3] 下一页