黎曼猜想漫谈(上)

黎曼猜想漫谈(上)

文 | 陈泽坤

“Mathematicians have tried in vain to this day to discover some order in the sequence of prime numbers, and we have reason to believe that it is a mystery into which the human mind will never penetrate.”

——Leonhard Euler

一、在黎曼猜想之前

如果要说在数学界里,乃至于整个社会里,最为引人注目的猜想,莫过于是Riemann猜想了。我们似乎已经不必花费笔墨介绍它的名气与难度,它是1900年Hilbert在世纪之交的二十三条问题中的一个,在一百年后,Clay研究所列举的千禧年七大难题里,它又出现在其中,它是唯一一个出现了两次的问题。

想要明白Riemann猜想有何重要的意义,我们需要回到Riemann在1859年那篇划时代的论文去。彼时Riemann刚刚被选为柏林科学院的通讯院士。作为给柏林科学院的见面礼,他在同年提交了一篇论文名为《论小于给定数值的素数个数》的论文。在我们将要讲述的故事里,它是一切的序章。

Riemann像
(图片来源于网络)

Riemann本人并不能算是一个严格的数论学家,他在复分析和几何的成果同样丰富而具有开创性。这篇也许是他在数论领域唯一的工作,可对于这样的一位巨人来说,一篇八页长的论文,就足以让一两百年来的后人都有活干了。在进入这篇论文之前,我们不妨先停顿一下,去更久远的地方看看,这篇论文关心的是一个什么样的问题。

所谓数论,就是有关整数的一切问题,而每一个整数的问题都要用到素数来化简(作者注:素数就是这样的整数,它不能分解成另外两个整数的乘积,很大意义上它们是那些“最简单的整数”——这条注用来证明本文真的是面向零基础的读者的)。所以与其说数论关心整数,倒不如说数论同等地关心整数与素数。而这篇论文,抱着雄厚的野心,想要一举告诉我们所有素数的答案。

关于素数有无穷多个,从古希腊时代就已为人所知,这是一个每当讲到这里都会提到的证明,来自伟大的著作《几何原本》。证明十分简单,却可以算是数学史上最为经典的反证法了。

证明是这样的。假如总共只有有限个素数,我们就称它们是p1,p2,…,pn好了。我们知道每个正整数都能写成素数的乘积,那么每个大于1的数就都被其中一个素数整除。可是这样的话,我们就考虑p1 p2…pn+1这个数,之前的每个pi都不整除它,可这怎么可能呢?只有可能是一开始的假设错了,也就是说,素数有无穷多个。

知道了素数有无穷多个,紧接着就能展开追问:“素数有多‘无穷’?”它是整数的一半那么多?还是像√x那么多?我们可以用一个简单的式子估计素数大概有多少个么?然而这个简单的追问,却难住了人类上千年。因为素数的分布,实在是太没有规律了(至少看起来是如此)。

Euler像
(图片来源于网络)

二、欧拉的公式

之后的第一个突破,一下子就来到了18世纪,我们的Euler出场了。他发现了大名鼎鼎的Euler乘积公式,为后来Riemann ζ函数的定义做好了铺垫。

只要这里的s是一个实部大于1的复数,等号两边的求和与乘积就总是收敛并且相等的——只要你注意到:

再把这些个括号乘开,就得到了这个等式(Euler最初只考虑s是实数的情况,后来大家很快意识到对实部大于1的复数都是对的)。

如果s=1呢?我们暂时抛弃一点严谨性,两边就是两个相等的无穷级数,我们就是喜欢分析无穷时的性质,于是我们对它们求一个对数,得到了这样的一个式子。

我们知道只要幂次k大于等于2,Σ1/pk就是有限的。所以在表达式里,真正对无穷有贡献的项,就只有第一项,于是我们得到了这样一个式子:

特别地,所有素数的倒数和是发散的。这就说明虽然随着素数越来越大,它们会越来越稀疏,可它们依然是多得很的。比如说,素数比所有的完全平方数还要多很多,因为我们知道1/n2 的倒数和是一个有限的数,可是素数的倒数和是无穷大,说明比之多了不止一个量级。如果我们用π(x)来表示不大于x的素数的个数,那么翻译过来就是说,π(x)一定比√x要大得多。

我们今天知道π(x)∼x/ln⁡x ,这个就是大名鼎鼎的素数定理。由倒数和到直接计数,也就是从1/p的求和到1的求和,看起来问题更加简单了,事实上困难得多,它躲过了Euler、Gauss这些大师的围剿,后来一直到1896年,才被Hadamard与de la Vallée Poussin独立地证明了出来(作者注:今天素数定理已经有相对初等的简化证明。只用借助数学分析的工具,就能在几页之内证明出来。如果你对此好奇,可以阅读文末参考文献[2])。

Gauss预言了素数定理的样子,他甚至精确地指出:

但他并没有给出证明。Gauss之后,故事就到了Riemann这里。终于在1859年,Riemann拿出了我们一开始提到的那篇论文,《论小于给定数值的素数个数》。

三、所有素数的韦达定理

故事至此,你也许要猜到了,他应该要证明出来素数定理了!可是他没有,他做了一件更绝的事情:他直接把π(x)的表达式写出来了。

很难说Riemann是不是懒得去证明素数定理。然而无论如何,Riemann给出的结论,实在是要比素数定理深刻而重要得多——如果我们能有一个等式,我们何必还要去追求约等号呢? 

Riemann的这篇划时代的论文仅仅只有八页,通篇都是对他的ζ函数进行分析。Riemann的思想核心只有一句话:ζ函数就是那个涵盖了所有素数信息的东西。

ζ函数,在那个年代已经不是新东西了,从Euler的乘积公式开始,这个函数就呼之欲出。可当时的人仅仅将它定义在那些实部大于1的s上。Riemann的文章里做的第一件事儿,就是把它延拓到整个复平面上(作者注:解析延拓使得能定义在整个复平面上,但是它的定义式依然只对实部大于1的s才成立。所以诸如1+2+3......=-1/12的“等式”,不是真的等式,数学上指的其实就是ζ(-1)=-1/12)。它就成了分析学家最擅长分析的亚纯函数。紧接着,Riemann又给出了ζ(s)满足的一个函数方程,它揭示了ζ(s)和ζ(1-s)的一种对称性。解析延拓和函数方程,同样是ζ(s)非常重要的性质,我们会在下个章节里面谈到。

做完这些之后,Riemann所做的准备工作都结束了。他终于能将目标转向他真正关心的东西——素数。

ζ函数与素数,它们之间有一种非常神奇的对偶关系,这种关系我们其实常常遇到:它特别像多项式与它的根之间的关系。就像Galois向我们揭示的一样,一个一个的点永远是捉摸不定的,可藉由它们合在一起产生的那个多项式,藉由点与多项式之间的深刻联系,我们却能讲出美妙的故事。

而Riemann在那篇论文里所做的,就是写下来所有素数满足的那个“韦达定理”。我们不妨先把这个“韦达定理”写出来,再来解释它的意义。

你可能会疑惑,这其中的π(x)去哪儿了?这里是Riemann又一个高明的地方——我们不一定要研究π(x),有时候别的函数可能是更自然的选择。这儿的函数J(x),是一个类似π(x)的函数,它不仅计数了素数,也计数了素数的幂次。用初等数论中的Mobius反演,我们很容易能将J(x)与π(x)互相表示出来。所以就无所谓算哪一个了,知道了其中一个就能很容易地写出来另一个。

在这儿,我们不写出来J(x)的具体表达式了,因为我更喜欢(4)式接下来的这个形式。既然我们已经用别的函数来代替π(x)了,不如就用一个比Riemann所使用的还优雅自然的函数。(4)式用它来表示出来,就变成了这样:

那么ψ0是什么呢?它来自于名叫Chebyshev函数的ψ

它和原本的π(x)也非常地相似,π(x)是对所有素数求和,每次求和就加1,;而ψ(x)是对素数的幂次求和,每次求和加上ln⁡p。它们之间的关系非常紧密,我们很容易证明,π(x)∼x/ln⁡x就等价于ψ(x)∼x。既然如此,我们不如就来估计ψ(x)好了——与其估计π(x)与一条弯弯曲曲的函数之间的差距,还是看ψ(x)和一条直线之间的差距来得舒服。

而ψ0 (x),则是对ψ(x)做了一点点轻微的调整,在它的每个间断点x,我们用(ψ(x+)+ψ(x-))/2来代替原本的函数值。这只是一个技术上的小操作(作者注:在Fourier变换里常常要用到这样的微调),基本上可以当作就是原本的函数ψ(x)。

我们终于开始解释式子(5)了。等式总共有四项,我们一项一项看。

第一项是x,它正是素数定理的估计。

第二项是-ln⁡(2π),它是一个常数,不是特别重要。

第四项是-ln(1 - 1/x2)/2,它比1还要小得多,在x越来越大的时候趋于0,所以它比第二项更不重要了。

那么这个第三项,就是使得ψ(x)从一条直线变成阶梯函数的罪魁祸首。而它,正是关于ζ函数所有非平凡零点的一个求和。我们如果取来其中一些零点参与计算,函数图像就会在y=x这条直线附近震荡,零点用得越多,就震荡得越贴合那个阶梯函数ψ(x)。

于是我们总结一下:ζ函数的零点,完完全全决定了素数定理的误差。素数计数函数π(x),我们把它画出来,其实就是一条通天的细线,与一串围绕它飞舞的蝴蝶。

四、终于,黎曼猜想

至此,Riemann猜想呼之欲出:我们要研究ζ函数的零点。关于它们知道得越多,关于素数也就知道得越多。

由ζ函数的定义式,我们很容易知道它在Re(s)>1的部分全都没有零点。我们再用上函数方程,就知道了ζ函数在Re(s)<0这一片区域上的取值,它所有的零点就是那些负偶数。可在中间呢?在0≤Re(s)≤1这一片区域上面,定义式也帮不到我们,函数方程也帮不到我们了,关于Riemann猜想所有的谜团,都集中在这片区域上,我们一般叫它临界带(critical strip)。

Riemann随即提出了他的三个命题。这三个命题一条承接一条,像三道巨浪一样展现在我们面前。

第一个命题说,在0<Im(s)≤2πT这一段区域里,ζ(s)大约有T(ln⁡T-1)个零点。

第二个命题说,在0<Im(s)≤2πT这一段区域里,ζ(s)在Re(s)=1/2上的零点也大约有T(ln⁡T-1)个。

第三个命题说,ζ(s)的所有非平凡零点都应当在Re(s)=1/2这条直线上面。

第一个命题被Riemann用来证明级数的收敛性,他在他的论文里随手写下了一个描述,解释第一个命题为什么是对的,但是因为太过粗略不构成一个证明。这个让Riemann觉得显然的事情,一直到46年后,才由德国数学家Hans von Mangoldt严格地证明了出来。第二个命题则更加离谱,它比迄今为止人类所得到的所有结论还要强得多。而第三个命题,就连Riemann自己也不确定了。对,它就是我们的Riemann猜想。

“Hiervon wäre allerdings ein strenger Beweis zu wünschen; ich habe indess die Aufsuchung desselben nach einigen flüchtigen vergeblichen Versuchen vorläufig bei Seite gelassen, da er für den nächsten Zweck meiner Untersuchung entbehrlich schien.

当然我们会想拥有一个严格证明;我在一些快速而徒劳的尝试之后,决定暂且将这件事情搁置一旁。毕竟对于我们眼前的目标而言,一时还不会用到它。”

——Bernhard Riemann

写下这些文字之后,Riemann便扬长而去。他的目的确实已经优雅地达到了,他给出了素数个数的美丽公式。可留给后人的遗产,我们在此之上能讲出的故事,远远不止八页纸能够说得完……

作者注:本文重点借鉴了卢昌海的文章《Riemann猜想漫谈》,这可能是中文互联网世界关于Riemann猜想最好的科普文章了,感兴趣的读者一定要去看看。

参考文献
【1】《Riemann猜想漫谈》,卢昌海
【2】Riemann’s zeta function and the prime number theorem, Andrew Sutherland
【3】The "encoding" of the distribution of prime numbers by the nontrivial zeros of the Riemann zeta function, Matthew R. Watkins
(0)

相关推荐