黎曼猜想漫谈(上)
黎曼猜想漫谈(上)
文 | 陈泽坤
“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本人并不能算是一个严格的数论学家,他在复分析和几何的成果同样丰富而具有开创性。这篇也许是他在数论领域唯一的工作,可对于这样的一位巨人来说,一篇八页长的论文,就足以让一两百年来的后人都有活干了。在进入这篇论文之前,我们不妨先停顿一下,去更久远的地方看看,这篇论文关心的是一个什么样的问题。
所谓数论,就是有关整数的一切问题,而每一个整数的问题都要用到素数来化简(作者注:素数就是这样的整数,它不能分解成另外两个整数的乘积,很大意义上它们是那些“最简单的整数”——这条注用来证明本文真的是面向零基础的读者的)。所以与其说数论关心整数,倒不如说数论同等地关心整数与素数。而这篇论文,抱着雄厚的野心,想要一举告诉我们所有素数的答案。
关于素数有无穷多个,从古希腊时代就已为人所知,这是一个每当讲到这里都会提到的证明,来自伟大的著作《几何原本》。证明十分简单,却可以算是数学史上最为经典的反证法了。
证明是这样的。假如总共只有有限个素数,我们就称它们是p1,p2,…,pn好了。我们知道每个正整数都能写成素数的乘积,那么每个大于1的数就都被其中一个素数整除。可是这样的话,我们就考虑p1 p2…pn+1这个数,之前的每个pi都不整除它,可这怎么可能呢?只有可能是一开始的假设错了,也就是说,素数有无穷多个。
知道了素数有无穷多个,紧接着就能展开追问:“素数有多‘无穷’?”它是整数的一半那么多?还是像√x那么多?我们可以用一个简单的式子估计素数大概有多少个么?然而这个简单的追问,却难住了人类上千年。因为素数的分布,实在是太没有规律了(至少看起来是如此)。
二、欧拉的公式
之后的第一个突破,一下子就来到了18世纪,我们的Euler出场了。他发现了大名鼎鼎的Euler乘积公式,为后来Riemann ζ函数的定义做好了铺垫。
只要这里的s是一个实部大于1的复数,等号两边的求和与乘积就总是收敛并且相等的——只要你注意到:
再把这些个括号乘开,就得到了这个等式(Euler最初只考虑s是实数的情况,后来大家很快意识到对实部大于1的复数都是对的)。
如果s=1呢?我们暂时抛弃一点严谨性,两边就是两个相等的无穷级数,我们就是喜欢分析无穷时的性质,于是我们对它们求一个对数,得到了这样的一个式子。
特别地,所有素数的倒数和是发散的。这就说明虽然随着素数越来越大,它们会越来越稀疏,可它们依然是多得很的。比如说,素数比所有的完全平方数还要多很多,因为我们知道1/n2 的倒数和是一个有限的数,可是素数的倒数和是无穷大,说明比之多了不止一个量级。如果我们用π(x)来表示不大于x的素数的个数,那么翻译过来就是说,π(x)一定比√x要大得多。
我们今天知道π(x)∼x/lnx ,这个就是大名鼎鼎的素数定理。由倒数和到直接计数,也就是从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)是对素数的幂次求和,每次求和加上lnp。它们之间的关系非常紧密,我们很容易证明,π(x)∼x/lnx就等价于ψ(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这条直线附近震荡,零点用得越多,就震荡得越贴合那个阶梯函数ψ0 (x)。
于是我们总结一下:ζ函数的零点,完完全全决定了素数定理的误差。素数计数函数π(x),我们把它画出来,其实就是一条通天的细线,与一串围绕它飞舞的蝴蝶。
四、终于,黎曼猜想
至此,Riemann猜想呼之欲出:我们要研究ζ函数的零点。关于它们知道得越多,关于素数也就知道得越多。
由ζ函数的定义式,我们很容易知道它在Re(s)>1的部分全都没有零点。我们再用上函数方程,就知道了ζ函数在Re(s)<0这一片区域上的取值,它所有的零点就是那些负偶数。可在中间呢?在0≤Re(s)≤1这一片区域上面,定义式也帮不到我们,函数方程也帮不到我们了,关于Riemann猜想所有的谜团,都集中在这片区域上,我们一般叫它临界带(critical strip)。
Riemann随即提出了他的三个命题。这三个命题一条承接一条,像三道巨浪一样展现在我们面前。
第一个命题说,在0<Im(s)≤2πT这一段区域里,ζ(s)大约有T(lnT-1)个零点。
第二个命题说,在0<Im(s)≤2πT这一段区域里,ζ(s)在Re(s)=1/2上的零点也大约有T(lnT-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猜想最好的科普文章了,感兴趣的读者一定要去看看。