数论,是研究数字的一门数学分支。如同大海,它清澈透明而又深不见底。它的基础概念,自然数、加法、乘法,每个小学生都清楚;但关于自然数的定理,却可以让人穷尽一生而不得其解。而这篇文章要介绍的,只是这个广阔海洋中一个小小的海域。即便如此,我们仍未知道此处海深几何,尽管最近张益唐的突破性工作,使我们比以往更接近真理,但这远远不够。
尽管笔者才疏学浅,有恐贻笑方家。但如能为读者勾勒出一点点数学之美,也不枉费一番心思。
素数何时成双对
可以说,素数是数论中最基础而最重要的概念。如果一个大于二的正整数,除了1和它本身之外,不是任何数的倍数,那么它就是一个素数。比如说,6不是一个素数,除了1和它本身以外,它还是2和3的倍数;而5则是一个素数。
在古希腊,人们已经有了素数的概念,对素数的研究也略有所得。在欧几里德的《原本》中,第七、八、九篇讲述的是“关于整数及其比值的性质”,实际上也就是数论。在这几卷中,欧几里德指出了今天所说的“算术基本定理”:将自然数分解成素数乘积的方法是唯一的。也就是说,如果用乘法的眼光来看自然数,那么素数就是自然数的最小组成单元。它们不能被分解成更小的数的乘积,而所有自然数都可以分解成它们的乘积。
那么,我们自然要问:素数作为自然数的组成单元,它们有多少个?
有无限个,欧几里德不仅回答了这个问题,还给出了一个经典的证明。
不妨反设只有有限个素数,考虑它们的积N ,它是一个有限的自然数。所以,N+1 也是一个自然数,它也应该是一些素数的积。但根据假设,每一个素数都不整除N+1 ,这不可能!所以,素数必定有无限个。
这个精巧的证明,是人类探寻素数奥秘的第一步。
2、3、5、7、11、13……最初的几个素数,要找出来并不困难,但随着数字增大,如果一个一个数字按照定义去筛选是否素数,工作量会很快变得十分庞大。同为古希腊数学家的埃拉托色尼,给出了一个比较省力的算法,后人称之为埃拉托色尼筛法。
首先,列出从2开始的数。然后,将2记在素数列表上,再划去所有2的倍数。根据定义,剩下的最小的数——在这里是3——必定是素数。将这个数记在素数列表上,再划去所有它的倍数,这样又会剩下一些数,取其中最小的,如此反复操作。最后剩下的都是素数。
当古希腊人用这种方法计算出长长的素数列表时,他们也许也曾惊异于素数分布的秩序缺失。这些自然数的组成单元,在自然数中的排列却毫无规律,时而靠近,时而疏远。用类似欧几里德证明中的构造,我们知道,两个相邻素数之间的距离可以要多大有多大。而随着数目越来越大,相邻素数之间的距离似乎也越拉越长。
在无限延伸的自然数集中,向无穷的地平线望去,虽然仍有无穷的素数,但它们似乎也愈变孤独。
这种孤独甚至是可以度量的。在十八世纪的尾巴,年仅15岁的高斯独立提出了一个猜想:在n附近素数的密度大约是n的对数。也就是说,相邻素数之间的平均距离大概与它们的对数成正比,虽然增长很慢,但却义无反顾奔向无穷。但即使是高斯,也无法严格地证明他的猜想,要等两个世纪后的阿达玛(J. Hadamard)和德拉瓦莱普森(C. J. de la Vallée-Poussin),才能将这个猜想变成现在的“素数定理”。
虽然如此,偶尔也会有成对出现的素数,它们之间只相差2。像这样成对出现的素数,在那些孤独的同伴看来,无疑是异类。
它们被称为孪生素数。
漫天星河难理清
一个自然的问题是,孪生素数有多少?
孪生素数猜想断言,有无限对这样的孪生素数。但还没有人能严格地证明这一点。在1849年,数学家A. de Polignac甚至猜想,对于任意的偶数2k ,都有无数对相邻的素数,它们的差恰好是2k 。
这不是一个容易的问题。素数是乘法的产物,而孪生素数的定义则涉及到加法。即使只是加上2,也需要同时用到自然数的加法和乘法的性质。而在数论中的很多看似简单但无比困难的问题,比如哥德巴赫猜想和华林问题,核心也在于加法和乘法的交织。这种相互作用给数论学者们带来了无穷的头痛,以及对咖啡的无尽渴求。
与此同时,行外人的评价却似乎异常中肯:“为什么素数要相加呢?素数是用来相乘而不是相加的”。
当然,如果只将素数用在只与乘法有关的问题上,事情当然简单得多。但如果我们想要更多地了解自然数的玄机,那必然涉及到加法和乘法的相互作用。缩在“容易”的圈子里从来无补于事。如同探险家一般,数学家也有着征服难题的渴望,因为在那困难的山巅上,有着无尽的风光。为了难题产生的新方法、新思想,可能会开辟出意想不到的新天地。
孪生素数的难点在于,它是一个关于素数的具体分布的问题,而我们对素数的具体分布知之甚少。素数定理只告诉我们素数的大体分布,而对于具体一个个素数的位置却无能为力。如同繁星,素数点缀着自然数的夜空,放眼望去,它们朝向无限的地平线愈见稀薄。但要想分清这无限繁星中的每一颗,即使用上最好的望远镜,也无可奈何。
所以,在很长一段时间里,对于孪生素数猜想,人们仍然停留在揣测和估计的层面。
首先尝试直接猜测的,是英国数学家哈代(G. H. Hardy)和李特尔伍德(J. E. Littlewood),他们在1923年开始了一系列的猜测。
素数定理告诉我们,对于足够大的自然数N,在N附近随机抽取一个自然数n,它是素数的概率大概就是(lnN) −1 。那么,在同样的区间,随机独立选取的两个数都是素数的概率就是之前概率的平方,也就是(lnN) −2 。
那么,在N附近随机抽取一个自然数n,n和n+2是一对孪生素数的概率是否就是大概(lnN) −2 呢?很遗憾,并非如此,因为n和n+2并非完全独立的,所以不能直接应用之前的结果。不过这个估计虽不中亦不远,只要乘上一个修正系数,借此表达两个数相差2的性质,就能得到对孪生素数密度的估计:2C 2 (lnN) −2 。在这里,修正系数C 2 是一个关于所有质数的无穷乘积。如果密度确实如此,那么显然有无限对孪生素数,孪生素数猜想应该是正确的。
实际上,这是所谓“第一哈代-李特尔伍德猜想”的一个特殊情况,难度甚至远高于孪生素数猜想:它不仅隐含了孪生素数猜想,而且对具体的分布作出了精细的估计。虽然上面的论证看上去很诱人,但它并不是一个严谨的证明,因为它的大前提——素数是随机分布的——本来就不成立。素数的分布有着深刻的规律,远远不是一句“随机分布”所能概括的。
但哈代和李特尔伍德并非等闲之辈,作为当时英国的学科带头人,既然提出这个猜想,当然经过了深思熟虑。现在看来,依据之一是,望向无限,素数的分布的确看似随机:对于那些“简单”的操作(比如说加上2)来说,数值越大,越靠近无限的地平线,看上去也越“随机”。所以,在考虑各种素数形式的分布时,假定素数按照素数定理的密度随机分布,不失为一个估计的好办法。更为重要的是,数值计算的结果也与哈代和李特尔伍德的猜测所差无几。这更增添了我们对这个估计的信心。
然而,猜测只是猜测,不是严谨的证明。无论用数值计算验证到什么高度,有多符合,对于无限而言,都是沧海一粟。李特尔伍德本人就曾证明过一个类似的结论。
人们此前猜测,小于某一个数N的素数个数π(N) 必定小于所谓的“对数积分”函数li(N) ,而根据素数表,这个规律直到10的14次方都成立。但李特尔伍德在1914年证明了一个惊人的结论:对于足够大的N ,不仅π(N) 可以大于li(N) ,而且它们的大小关系会无穷次地逆转!但直到今天,对于第一次打破这个规律的N,我们仍然不知道它的具体数值,只知道它大概是个有三百多位的数。
这个例子足以说明素数可以多么深不可测而又出人意料,同时提醒我们,面对无限,不能掉以轻心。无论有多少计算的证据,都不能轻易下定论。征服无限的工具,只有严谨的数学证明。
狂沙淘尽始得金
既然难以知道孪生素数具体有多少,那么不妨换个思路:孪生素数最多能有多少呢?
这就是数学家的思路,如果正面久攻不下,那么就从侧面包围。当难以直接得到某个量时,数学家的“本能”会指引他们,尝试从上方和下方去逼近,证明这个量不可能小于某个下界,或者不可能大于某个上界。如此慢慢缩小包围圈,就有希望到达最终的目标。
而在1919年,挪威数学家布伦(V. Brun)走的就是这么一条路:他证明了,孪生素数的密度不可能超过O(N(lnlnN) 2 (lnN) 2 ) 。籍此,他证明了所有孪生素数倒数的和是有限的。要知道,所有素数倒数的和是无穷大,可见孪生素数在素数中有多么稀少。人们将所有孪生素数的倒数和称为布伦常数,它的具体数值大约是1.90216...。
关于布伦常数,还有个有趣的小插曲。1994年,美国一位教授在计算布伦常数时,无意中发现当时英特尔公司的奔腾处理器在计算浮点除法时,在极稀有的情况下,会产生错误的结果。虽然英特尔声明这种错误对于日常使用来说不足为患,但对于消费者来说,这种托辞实在难以接受。最后,英特尔不得不承诺免费更换有问题的处理器。帮助发现硬件问题,这可算是数论在现实中的一个小小应用。
但布伦的证明意义远不止于此。他的这个证明,正是现代筛法的开端。
布伦所用的筛法,根源可以追溯到古希腊的埃拉托色尼筛法。还记得我们怎么用埃拉托色尼筛法列出素数表吗?每次获得一个新的素数,我们都要划去所有新素数的倍数,然后剩下最小的数又是一个新的素数。用类似的方法,我们可以估计在某个区间中,比如说在N 和2N 之间,大约有多少素数。
首先,我们假设手头上已有足够大的素数表(大概到2N − − − √ 的所有素数)。用这个素数表,我们打算把从N 到2N 的所有合数都划去一遍,剩下的就是素数。对于每个素数p ,我们将所有p 的倍数划去一遍。在N 和2N 之间,对于每个素数p ,大约有N/p 个这样的倍数。当然,如果N 不是p 的倍数,这样的估计会有误差,但在数学家看来,只要能把握误差的大小,最终仍然可以得到正确的结论。
这样,剩下的数的个数就是N 减去所有N/p 的和,是这样吗?并不尽然,因为有些数可能被划去了几次。比如说1000,它能被2整除,也能被5整除,于是在处理2和5的倍数时,它分别被划去了两遍。对于每一对素数p 1 ,p 2 ,每个p 1 p 2 的倍数在之前都被划去了两遍,而我们只希望将它们划去一遍。为了得到正确结果,我们需要对这些数作出补偿:将这些数加回去,一共是N/p 1 p 2 个,加上一点点误差。
但这就是尽头吗?如果考虑三个素数的倍数,我们发现补偿得又太多了,需要重新划去;继续考虑四个素数的倍数,划去得又太多了,需要重新补偿……如此一正一反,损有余,补不足,一项一项估计下去,才能从自然数的海洋中,精确筛选出所有我们想要计算的那些素数。
但我们是否需要做到如此精细呢?在整个计算中,虽然每一项看似简单,但简单的代价是误差。虽然每一项的误差很小,但因为数目巨大,累土而成九层之台,累计误差可以比需要估计的量还要多。所以,在现代的筛法中,过于精细反而是一种累赘。况且,我们的目的是获得上界或者下界,所以结果无需完美,只需误差可控。一般而言,由于越到后面的项贡献越小,往往忽略它们的计算,直接将其计入误差。这样可以有效减少需要计算的项的数目,同时也能间接减少误差。当然,如果忽略的项太多,它们引起的误差又会太大,也会导致不够精确的结果。
布伦相对于前人的改进,正在于此。如果盲目计算所有的项,必然深陷误差的泥沼。而布伦则大胆截去那些贡献很小却占绝大多数的项,而对于剩下的项也果断采用更粗放的近似来简化计算。虽然看似不依章法,但通过仔细调校,布伦得以有效控制总误差,从而获得他想要的结果。
布伦的这个思路,开启了解析数论之中一大类方法的大门。我们不知道怎么数素数,是因为它们的分布实在难以捉摸。而现在,布伦的筛法指出了一条用简单的集合来逼近素数集合的道路,这自然令数学家如获至宝。
在更精细的筛选与更微小的误差之中寻找那一线的平衡,这大概是筛法的醍醐。但这样的平衡,显然依赖于我们如何估计每一项的具体数值。可以每项分开估计,但合起来也无伤大雅。无论做法如何,估计的误差越小,筛选可以越深入,结果也越逼近真实。即使估计方法不变,如果有更好的方法决定每一项的取舍,取贡献大而误差小之项,而舍贡献小而误差大之项,当然也能得到更好的结果。
但为何拘泥于每一项?对于每一项,为什么要么取要么不取,不能站在中间立场吗?只要能控制误差,将每一项拆解开来,根据贡献和误差来赋予不同的权值,再求和,这样的结果岂不是更精细?再者,有时不拘泥于素数,放松限制去筛选那些“殆素数”,也就是那些只有少数几个素因子的数,在某些情况下也能得到更好的结果。在严谨的前提下,只要能做出更好的结果,数学家对于突破原有思路毫不犹豫。
这就像一场对素数的围捕战。数学家们拿着筛法这个工具,不断打磨它、改装它,不断练习,正着用,反着用,与别的领域的工具配合着用,绞尽脑汁发明新的用法,殚精竭力用它来围捕那些调皮的素数。欲擒故纵,反客为主,无中生有,李代桃僵,数学家们在对各种各样素数的围捕中,借着筛法,将一套兵法使得淋漓尽致,精彩之处,三国亦为之失色。
在筛法的力量下,孪生素数终于露出了一鳞半爪:
在1920年,同样是布伦,证明了有无穷对9-殆素数,它们之间只相差2。所谓9-殆素数,或者更一般的k -殆素数,就是那些至多有k 个素数因子的自然数(包括重数)。而1-殆素数就是素数。模仿哥德巴赫猜想的记号,布伦证明的就是(9 - 9)。
在1947年,匈牙利数学家雷尼(A. Rényi)证明了,存在一个常数k ,使得有无穷对自然数m,p ,其中p 是素数,m 是一个k -殆素数,而两者之间只相差2。也就是说,他证明了(k - 1)。
在1950年,挪威数学家塞尔伯格(A. Selberg)证明了,有无穷对整数n 和n+2 ,它们的素因子一共至多有5个。而孪生素数定理相当于素因子至多有2个的情况。
在1966年,意大利数学家E. Bombieri与英国数学家H. Davenport证明了,孪生素数的密度至多是8C 2 (lnN) −2 。也就是说,孪生素数的数量至多是哈代与李特尔伍德所估计的4倍。
在1978年,在证明了哥德巴赫猜想的(1 + 2)后,陈景润用相同的筛法改进了雷尼的结果:他证明了,有无穷对自然数m,p ,其中p 是素数,m 是一个2 -殆素数,而两者之间只相差2。也就是说,他证明了(2 - 1)。
而最新的结果则是D. Goldston、J. Pintz和C. Yildirim在2009年发表的。他们证明了,两个素数之间的差距,相比起平均值而言可以非常小。在假定某个强有力的猜想后,他们还证明了,存在无限对素数,它们之间相差不过16,与目标的2只有八倍的差距。但问题在于,即便16这个数目相当诱人,但他们的假定过于强大,强大得不像是对的,也使人们对他们结果的信心打了个折扣。
在整个过程中,数学家们动用了解析数论中的大量工具:L函数、西格尔零点的估计、多种版本的筛法、克鲁斯特曼和的估计、自守形式,如此等等,不一而足。每样工具,都是心血的结晶。但即便如此,我们离孪生素数猜想还很遥远。尽管Goldston、Pintz和Yildirim的结果非常强大,但也不能在无假定的情况下,推出有无穷对素数,它们相差恰好是一个有限的确定值。
虽然只差那么一点点。只要关于所谓“素数分布水平”的引理稍微强一点点,就能得到有无穷对相差不远的素数的结论。但就在这个关口,人们却处处碰壁。希望就在伸手可及之处,却似乎总是差那么一点点。“此路不通”的想法开始弥漫开来。
在众人束手无策之际,当时默默无闻的张益唐向《数学年刊》提交了一份论文。