2015-07-24 收藏
数论,是研究数字的一门数学分支。如同大海,它清澈透明而又深不见底。它的基础概念,自然数、加法、乘法,每个小学生都清楚;但关于自然数的定理,却可以让人穷尽一生而不得其解。而这篇文章要介绍的,只是这个广阔海洋中一个小小的海域。即便如此,我们仍未知道此处海深几何,尽管最近张益唐的突破性工作,使我们比以往更接近真理,但这远远不够。
尽管笔者才疏学浅,有恐贻笑方家。但如能为读者勾勒出一点点数学之美,也不枉费一番心思。
素数何时成双对
可以说,素数是数论中最基础而最重要的概念。如果一个大于二的正整数,除了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的结果非常强大,但也不能在无假定的情况下,推出有无穷对素数,它们相差恰好是一个有限的确定值。
虽然只差那么一点点。只要关于所谓“素数分布水平”的引理稍微强一点点,就能得到有无穷对相差不远的素数的结论。但就在这个关口,人们却处处碰壁。希望就在伸手可及之处,却似乎总是差那么一点点。“此路不通”的想法开始弥漫开来。
在众人束手无策之际,当时默默无闻的张益唐向《数学年刊》提交了一份论文。
山东省菏泽市2016届高三数学第一次模拟试题2
陕西省安康市2016届高三数学下册第二次调研考试题2
江西省赣中南2016届高三数学下册适应性考试题
江西省九校2016届高三数学下册3月联合考试题2
江西省丰城中学2016届高三数学下册周考试题4
山东省淄博市2016届高三数学下册3月模拟考试题
山东省潍坊2016届高三数学下册起初考试题1
江西省丰城中学2016届高三数学下册周考试题7
陕西省澄城县2016届高三数学下册统练考试题3
陕西省2016届高三数学下册综合测试题1
江西省吉安市2016届高三数学下册第一次段考试题2
山东省菏泽市2016届高三数学第一次模拟试题3
山东省牟平2016届高三数学下册周练能力测试2
陕西省安康市2016届高三数学下册第二次调研考试题1
陕西省2016届高三数学下册综合测试题4
江西省上高县2016届高三数学下册4月半月考试题2
陕西省澄城县2016届高三数学下册统练考试题10
江西省九校2016届高三数学下册3月联合考试题1
山东省莱芜市2016届高三数学上册期末试题3
陕西2016届高三数学下册模拟试题2
江西省丰城中学2016届高三数学下册周考试题6
山东省菏泽市2016届高三数学下册4月模拟考试题1
山东省济宁市2016届高三数学第一次模拟试题3
陕西省澄城县2016届高三数学下册统练考试题6
山东省菏泽市2016届高三数学第一次模拟试题4
陕西省澄城县2016届高三数学下册统练考试题5
江西省丰城中学2016届高三数学下册周考试题1
山东省青岛市2016届高三数学第一次模拟试题1
山东省莱芜市2016届高三数学上册期末试题5
江西省上高县2016届高三数学下册4月半月考试题1
小学 |
初中 |
高中 |
不限 |
一年级 | 二年级 |
三年级 | 四年级 |
五年级 | 六年级 |
初一 | 初二 |
初三 | 高一 |
高二 | 高三 |
小考 | 中考 |
高考 |
不限 |
数学教案 |
数学课件 |
数学试题 |
不限 |
人教版 | 苏教版 |
北师版 | 冀教版 |
西师版 | 浙教版 |
青岛版 | 北京版 |
华师大版 | 湘教版 |
鲁教版 | 苏科版 |
沪教版 | 新课标A版 |
新课标B版 | 上海教育版 |
部编版 |
不限 |
上册 |
下册 |
不限 |