洞察素数的秘密,黎曼猜想与zeta函数


洞察素数的秘密,黎曼猜想与zeta函数

文章插图

伯恩哈德·黎曼,1826年9月17日-1866年7月20日
“有了这些方法的帮助,小于 x 的素数的个数就可以确定了 。”伯恩哈德·黎曼如是说 。黎曼所说的方法,就是我们接下来要介绍的数学中最有名的函数之一:黎曼 Zeta 函数 。在讨论素数的那部分中,我提到了伯恩哈德·黎曼 1859 年的论文《论小于某个给定值的素数的个数》,在论文中他发现了一个计算小于任意给定值的素数个数的方法 。这是一个了不起的方法,让数学家从更深层次了解素数的分布和性质 。但唯一的问题是黎曼无法证明这个方法是对的,不过他证明了如果 Zeta 函数展现的线性排布是正确的,那么计算素数个数的方法也一定是正确的,但他同样无法证明线性排布是正确的 。
在论文发表后,当时的焦点就变成了“只要能证明 Zeta 函数的线性排布规律是正确的,数学家就能洞察素数的秘密” 。这听起来非常合理 。黎曼的论文只有 10 页 。他将一些工作留给后人去完成也是可以理解的,或许,一想到这些结论有可能都是对的,他就激动得不行,以至于最后自己没去证明它 。结果,就像人=铁、饭=钢一样确定无疑,其他数学家接手了黎曼的工作,但是他们也无法证明 。直到现在,黎曼假设仍悬而未决 。
那么,什么是黎曼 Zeta 函数(自从黎曼的论文问世之后,不断有许多没那么有名的 Zeta 函数涌现,但是一般而言,提到“Zeta 函数”时一般指的是黎曼的原始版本)呢?我们其实在前面已经见过它了—它建立在欧拉解决的巴塞尔问题之上 。Zeta 函数是对无穷负幂次序列求和,一般我们用希腊字母 Zeta(ζ) 来指代黎曼 Zeta 函数,如下式:

洞察素数的秘密,黎曼猜想与zeta函数

文章插图

你应该对它比较熟悉了,因为不仅欧拉计算了这个函数的一些结果,而且我们利用伯努利数也很容易计算出 s 为偶数时的函数值 。但是,为了看到 Zeta 函数的全貌,我们需要计算 s 取任意值时的情形 。黎曼不仅将这种“巴塞尔函数”推广到 s 取非整数的情形,还将其推广成能同时输入两个数值的函数 。
我们似乎走得太远了 。讨论黎曼假设和 Zeta 函数时,通常都怀有“先把人骗过来再说”的想法 。说好要深入研究素数的个数和分布,你却谈负幂次求和 。素数去哪儿了?别急,它们之间确实有奇异的关联 。为了指明这一点,我们还得再谈到欧拉 。
除了攻克巴塞尔问题,欧拉还意识到所有正整数的某负幂次之和等于一个只用素数表示的无穷分式序列的乘积,所以 Zeta 函数可以写成两个不同的式子,其中一个表达式仅依赖素数 。正整数形式的表达式与素数形式的表达式结果相同,只不过前者更容易操作,因为我们知道所有正整数是什么,但不知道所有素数是什么样的 。但两个表达式是等价的,我们可以用一个代替另一个 。Zeta 函数和素数的联系便是黎曼这篇论文获得成功的关键 。研究负幂次求和让我们对素数的乘积 (以分数的形式)有深刻了解 。

洞察素数的秘密,黎曼猜想与zeta函数

文章插图

Zeta 函数的神通广大令它非常有用,但是要用好它却十分困难 。毫无疑问,它是一个狡猾而隐晦的函数 。我们有数不尽的方程来描述 Zeta 函数,但每个都只能代表它的一小部分 。我认为理解 Zeta 函数最好的方式是把它想象成人类正在一点一点发掘的神秘函数 。我们偶尔会对它有新的理解,但每次只是前进一小步 。我们已经看到,利用伯努利数,我们可以计算出 m 为偶数时的 Zeta 函数值 。拉马努金则首次发现了幂次为正奇数的结果,也就是说,他完全独立地发现了 Zeta 函数,但是他也只是看清了 Zeta 函数的一小部分 。

洞察素数的秘密,黎曼猜想与zeta函数

文章插图

如果我们将 Zeta 函数画出来,也许就可以更直观地观察它 。然而,即便是找到“简单”部分的精确函数值,也要花费欧拉、拉马努金以及其他仍然在世的著名数学家的大量精力 。要想获得更复杂的函数值似乎是不可能的,而素数在我们看到 Zeta 函数全貌之前是不会透露它们的秘密的 。但看看素数在当今数据安全领域的至高地位,我们的探索一定是值得的 。
不过,我们可以用些小把戏 。我们虽然求不到精确值,但是可以计算“足够好”的近似值 。假设我们不知道,但打算用赖皮的方法寻求得数 。我们可以不计算无穷项之和,只计算有限项的和来逼近准确的结果 。如果只取前 3 项,我们会得到 1.361111111,而,所以前 3 项的结果还不是很接近 。取前 10 项会好一些,误差会降低到 5.8% 。不过计算过程太无聊了,所以我写了一个程序将前 10 亿项加起来,最终得到 1.64493405783457,这个数字已经足够接近精确答案了 。