|
Riemann 猜想漫谈 (八)
- 卢昌海 -
If you could be the Devil and offer a mathematician to sell his soul for the proof of one theorem -
what theorem would most mathematicians ask for? I think it would be the Riemann Hypothesis.
- H. Montgomery
上一篇 | 返回目录
十二. 休闲课题:围捕零点
听说时下流行一种休闲方式叫做 DIY (Do It Yourself), 讲究自己动手做一些原本只有工匠才做的事,
比方说自己动手做件陶器什么的。 在象我这样懒散的人看来这简直比工作还累,
可如今许多人偏偏就兴这个, 或许是领悟了负负得正 (累累得闲?) 的道理吧。
既是大势如此, 我们也乐得共襄盛举, 安排 “休闲” 一下, 让大家亲自动手用 Riemann-Siegel
公式来计算一个 Riemann ζ 函数的非平凡零点。
DIY 一般有个特点, 那就是课题虽然选得颇见难度, 做起来通常却是挑最简单的来做,
以免打击休闲的积极性。 我们计算零点也一样, 挑相对简单的零点来计算。 那么什么样的零点比较容易计算呢?
显然是那些听 Riemann 的话, 乖乖地躺在 critical line 上的零点 - 因为否则的话 Riemann 猜想早被推翻了。
在 Riemann-Siegel 公式中有许多复杂的东西, 其中最令人头疼的是求和, 因为它使计算量成倍地增加。
但幸运的是那个求和是对 n2<(t/2π) 进行的,
因此如果 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 在 0<t<25 中取值最小的, 它所对应的 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≈ΔF(t)/F'(t) 来计算这一修正值。
为此注意到 2cos[θ(t)] 在 t≈14.5 处的导数为
-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。
由这两部分 (即主项及剩余项中的第一项) 可得:
Z(14.1) ≈ -0.342160 + 0.312671 = -0.029489
类似地, 对于 t=14.2, (t/2π)1/2≈1.503330, θ(t)≈-1.702141。
因而主项 2cos[θ(t)]≈-0.261934, 剩余项 R(t) 中 p≈0.503330,
从而其中第一项 (C0 项) C0(t/2π)-1/4≈0.312129。
由这两部分 (即主项及剩余项中的第一项) 可得:
Z(14.2) ≈ -0.261934 + 0.312129 = 0.050195
显然, 如我们所期望的, Z(14.1) 与 Z(14.2) 符号相反,
这表明在 t=14.1 与 t=14.2 之间存在 Riemann ζ 函数的零点。
当然, 我们还没有考虑 C1 ~ C4 项。 这些项中带有 C0 的各阶导数,
计算起来工作量非同小可, 有违休闲的目的, 因此就不费心了。 熟悉计算软件的读者可以用
Mathematica、 Maple 或 Matlab 一类的工具来算一下。 我们把所有这些计算结果都列在下表中:
|
|
t=14.1
|
t=14.2
|
|
N
|
1
|
1
|
|
p
|
0.498027
|
0.503330
|
|
θ(t)
|
-1.742722
|
-1.702141
|
|
2cos[θ(t)]
|
-0.342160
|
-0.261934
|
|
C0 项
|
0.312671
|
0.312129
|
|
C1 项
|
0.000058
|
0.000097
|
|
C2 项
|
0.001889
|
0.001872
|
|
C3 项
|
0.000001
|
0.000002
|
|
C4 项
|
0.000075
|
0.000074
|
|
Z(t)
|
-0.027446
|
0.052042
|
从这些结果中可以看到, 剩余项中的高阶项的贡献虽然有所起伏, 但与第一项相比总体上很小。 对于我们来说,
这显然是很幸运的结果, 因为否则的话, 我们就得休闲不成反卖苦力了。 这还是 t 较小的情况。
随着 t 的增加, 由于高阶项中所含 t 的负幂次较高, 其贡献会变得越来越小 [注二],
但要严格表述这种趋势并予以证明, 却绝非轻而易举。 事实上 Riemann-Siegel 公式作为 Z(t)
的渐进展开式, 其敛散性质与误差估计都是相当复杂的。
现在我们知道了 Riemann ζ 函数在 t=14.1 与 t=14.2 之间存在零点。 如果我们再仔细点,
注意到 Z(14.1) 与 Z(14.2) 距离 Z(t)=0 的远近之比为 0.027446:0.052042,
用线性内插法可以推测零点的位置为:
t ≈ 14.1 + (14.2 - 14.1) × 0.027446 / (0.027446 + 0.052042) ≈ 14.1345。
这与现代数值 t=14.1347 的相对偏差只有不到十万分之二!
即使只估计到 C0 项 (这是我们自己动手所及的范围), 其误差也只有不到万分之二。
好了, 猎物在手, 我们的简短休闲也该见好就收了。 大家是否觉得有点成就感呢?
要知道, Riemann ζ 函数的零点可是在 Riemann 的论文发表之后隔了四十四年才有人公布计算结果的哦。
当然, 我们用了 Riemann-Siegel 公式, 但这没什么, 一个好汉三个帮嘛, 再说了, DIY
哪有真的百分之百从头做起, 连工具设备都包括在内的?
想象一下, 如果你 DIY 出来的陶器能够把缺陷控制在万分之二以内, 那是何等的风光?
当然, 倘若你可以退回一百多年, 把这个结果抢在 Gram 之前公布一下, 那就更风光了。
在本节最后, 还有一件可能让大家有成就感的事要提一下。
那就是我们所用的估计零点的方法 - 即从使 2cos[θ(t)] 为零的点出发, 然后依据 R(t)
的数值对其进行修正 [注三], 最后用 Z(t) 的符号来确定零点的存在,
暗示 Riemann ζ 函数在 critical line 上的零点数目大致与 cos[θ(t)] 的零点数目相当。
而后者大约有 (请大家 DIY) θ(t)/π ~ (t/2π)ln(t/2π)-(t/2π) 个。
不知大家是否还记得, 这正是我们在 第五节 中介绍过的
Riemann 的三个命题中迄今无人能够证明的第二个命题! 当然, 我们这个也不是证明
(真可惜, 否则的话, 嘿嘿 ...), 但这应该使大家对我们休闲手段之高明有所认识吧?
返回目录 |
下一篇
二零零四年五月二十三日写于纽约 http://www.changhai.org/
|