我大概在初中时期对相关工作做过一些了解,发现根本什么都看不明白。上了大学之后闲暇的时间又找了点相关文献看了一下——有了点高等数学的底子之后我很容易就搞明白问题到底在哪了:那就是我的智力不够,特么的根本不可能看懂。
从了解哥德巴赫猜想、到知道陈景润证明出1+2,再到理解他的证明原理,这个过程大概是下面这个图中难度的100倍。
陈景润的工作实际上是证明了每个充分大的偶数都可表示为一个素数和一个素因子个数不超过2的正整数之和,即(1,2),而这个成绩是在前辈数学家的基础上做出来的。
1919年,挪威数学家布伦首先通过对古希腊学者Eratosthenes的筛法进行改进,证明出了(9,9),即“每一个充分大的偶数都可以表示为2个其素因子个数均不超过9的正整数的和”,那么请注意,大概从这个时候开始,证明方法我们正常人类就已经没法看懂了。
最原始的筛法,说白了很简单:我们知道, @张佳玮 的关注者有168W人, @仓鼠小可汗 的关注者有10W人,我的关注者有5W人,假如说这些关注者一共有173W人,那么同时关注了我们三个的人有多少?
这个学过一点集合论的同学都能很容易的用容斥原理来求出来,而容斥原理,实际上就是Eratosthenes的原始筛法。三集合容斥原理的表述大家应该都见过:
|A∪B∪C| = |A|+|B|+|C| - |A∩B| - |B∩C| - |C∩A| + |A∩B∩C|
好像不难,对吧?
OK,现在我们已经大概了解了筛法的原理,那么我们来看看陈景润的论文吧。
前方高能预警……
由于后面的引理过长,所以我们就直接跳到用“较为简单”的数字计算方法搞出来的引理8好了:
顺便一提,这篇长达30页的论文是一个简化后的版本,原版论文长达200页,而陈景润充分发挥了数学家的本色,他在1966年发表最初的论文时只丢出去了一个摘要,内容如下:
这篇摘要因为没有详细证明而不被数学界承认,所以,陈景润不得不花了几年时间来进行改进自己的论文以便其他数学家能读懂它,到了1971年,他把改进后的论文投到了当时中国最顶级的期刊《中国科学》,最后在华罗庚、王元这些人的支持下(因为有人表示看不懂),终于在1973年发表了。
这个工作被数学家们评价为
从筛法的任何方面来说,它都是光辉的顶点
所以回到你的问题上来:“哪位大牛能用相对通俗的语言能让我这个外行明白陈景润是怎么证明的1+2?”
答案是,没有。
在伟大的智慧面前,我们需要学会谦卑。
来强答一发。
题面为「陈景润是如何证明『1+2』的?」
这个问题有两个点,其一是「1+2」,其二是「陈景润」。
先谈「1+2」,这是徐迟《哥德巴赫猜想》中给出的简化写法,在陈的 paper 中使用的其实是 。我也想如此行文,但这会与后文的最大公约数混淆,因此就用 来简述如下命题:每一个充分大的偶数是一个不超过 a 个素数的乘积与一个不超过 b 个素数的乘积之和。这样,如果证明了命题 ,也就基本上解决了整个猜想。
再谈「陈景润」,在陈景润于 1973 年发表全部证明后,在很短的时间内至少出现了 Halberstam & Riehert (1974)[1],Halberstam (1975)[2],潘承洞, 丁夏畦, 王元 (1975)[3],Ross (1975)[4],Fujii (1977)[5] 五个简化证明。然而题主偏要问原来那个最初的证法,还要用相对通俗的语言来描述。这就很尴尬了。
在介绍这玩意之前,由于这个问题下的几个回答,我们来谈谈这个猜想本身。这个猜想本来有俩,「每一个不小于 6 的偶数都是两个奇素数的和」以及「每一个不小于 9 的奇数都是三个奇素数的和」。前面的可以推出后面的,加个 3 就得证了,但是后面的却不能推出前面的,因为不能减个 3。
这俩猜想于 1742 年提出,然而到了 1900 年还是没有一点进展。正当一大伙人一筹莫展的时候,一帮子数学家开始发威,对这个猜想搞出了三条路子——「圆法」、「筛法」和「密率」,「密率」和本题没啥联系所以就不讲了。当然大家都知道陈景润走的是「筛法」。
其实到这里我们就已经可以知道了, @ffout 的回答显然是不切题的。我们看到了标志性的 就知道了,这是在介绍「圆法」。「圆法」全称为 Hardy-Littlewood-Ramanujan 圆法,这仨人大家肯定不陌生,拉马努金、哈代和小木头。1920 年开始,哈代和小木头开始在堆垒素数论里搞事,恰好这玩意跟哥德巴赫猜想有那么些联系。也就是说这套理论给出了一种方法,一种用数学语言描述「有拆法」这玩意的方法,也就是通过上面说的那个积分。考虑这个积分, 时,。 时,指数上不能是 0 了,根据欧拉公式,整个幂就成了 0,所以整个积分也就是 0。利用这个性质,我们可以把积分改造成拆法的函数。每一个 的拆法就可以写成 ,同理 的拆法可以将其改造为 。这样,证「总有拆法」就是要证对任意满足题意的 N 总有 以及 ,于是就可以开始讨论积分了。这是「圆法」的主要思想。
然后我们来讲「筛法」。当然不是 @丧心病狂刘老湿 所谈的筛法,所以他对容斥原理的理解虽然正确,但也不切题。
「筛法」其实是一种寻找素数的方法,我们小时候可能都列过素数,比方说 100 以内的素数,我们首先去掉所有 2 的倍数,然后去掉所有 3 的倍数,然后去掉所有 5 的倍数……
用数学语言怎么描述呢?我们需要注意这么几个家伙:
首先是「被筛的玩意」,比如说上面的「100 以内的大于 1 的整数」,因为随便筛啥都可以,所以这玩意是一个任给的数集,记作 ,素数个数看来和被筛的玩意有关,记作 。
然后是「怎么筛」,也就是「筛的方法」。首先我们看到上面提到的「2,3,5……」这些玩意绝对是关键的东西,而且好像也会变,还是个数集,得嘞记作 。所以这个 S 就得写成 。
我们再来看「去掉某某的倍数」,也就是「留下不是某某的倍数的数」,怎么判断这些「不是某某的倍数的数」?我们想到了最大公约数,如果两个数互质,那这玩意自然不是那玩意的倍数。于是引入记号 表示 的最大公约数,当这玩意得 1 的时候这俩数就互质。
还能不能更简单一些?现在「筛的方法」已经可以表述成「留下和 2 互质的数,留下和 3 互质的数,留下和 5 互质的数……」了,我们发现,当筛到 30 以后的时候其实可以不用像「判断 31 是否和 2 互质,是否和 3 互质,是否和 5 互质」这么麻烦了,其实可以直接判断「是否和 互质」,这样做快得多。
当然如果这个时候用 30 判断 2、3、5 的话肯定会出 bug,所以「素数积」这玩意一定是会变的,只有等到筛过这个数了,才能把这个数乘进来。怎么标度这个变呢,我们想到用这里面最大的素数来描述这个素数积的大小,最大值设成 。于是我们可以定义一个新的函数 ,这里的 就解决了这个 bug。这样 其实就相当于一个快速判断是否为素数的工具了,记为「筛子」。
于是记录一个范围内素数个数的函数就好写了,S 现在和 z 也有关了,写成 。具体怎么办,碰到素数就加 1 咯。于是就有 。这样得到的 就是集合 经过筛子 筛过之后所剩的元素个数,称为筛函数。
其中, 是任给的,和其它因变量没有关系。而 z 和 P(z) 是有关系的,因为 P(z) 有个「p 一定要小于 z」的条件,所以 z 控制着筛子的大小。
利用这个性质,我们来看看筛函数和 是怎么搞在一起的。和圆法一样,我们想把这个素数的计数器改造成拆法的计数器。
既然对任意的 都存在 使得 ,那对于任意 也应该存在 使得 ,也就是说既然 N 有拆法,那 N 减掉每一个不超过它的素数得到的这么多数中肯定有素数。比如 10 如果有拆法,那「10-2、10-3、10-5、10-7」里肯定有素数。
对应到筛函数里, 就应该是全体素数,也就是需要筛出素数来。 就是所有的 ,z 只要让筛子足够大就行。
我们知道如果要验证一个数 N 是否是素数,只需要验证它能否被小于 的数整除就行了,所以控制筛子大小的 也就足够了。比如 N 是 100,那 z 只要是 10 就行了,毕竟在这样的筛子下第一个筛不过去的合数是 121,已经超过 100 了。
用数学语言写出来,取集合 为全体素数, 为所有的 ,,于是如果能证明 ,则就证明了 。
那陈景润的 又是怎么来的呢?既然没人证得出 ,那我们只能把筛子的条件放宽一点,也就是让筛子变小。
前面讲过,让 z 从 1 变到 ,可以留下 N 以内所有的质数。同理,让 z 从 1 变到 ,可以留下 N 以内所有的质数,以及质数乘以质数得到的合数。因为在这样的筛子下,第一条漏网之鱼一定会大于 。从而,如果能证明 ,则就证明了 ,其中 ,如果 是正整数,,否则 。
另外,当被筛的数取 ,则如果能证明 ,则就证明了 。
现在这个玩意是大于 0 的,紧接着我们就可以问,它能大到哪去呢?如果我们能求得 的一个上界,那么我们就得到了偶数表为一个质数和一个质因子不超过 a 个数之和的表法个数的上界。
既然这个筛子不能太小,那 就要越小越好。直到 1920 年 Brun 才首先对原来的破筛法做了具有理论价值的改进,同时证明了 ,从此启发了一群人。1950 年 Selberg 利用求二次型极值的方法对筛法做了另一重大改进,这一改进不仅效果比 Brun 筛法好,而且从此可以用筛法估计上界了,马季亚巴库内,于是又启发了一群人。1941 年 Kuhn 首先提出了所谓的「加权筛法」,利用这种方法可以得到更强的结果,后来许多数学工作者对各种形式的「加权筛法」进行了深入的研究,不断提高了筛法的作用。陈景润正是由于提出了新的加权筛法才证明了 ,现在所有的最好结果都是利用加权形式的 Selberg 筛法得到的。
为了实现陈景润的加权筛法,在估计余项上会出现 Bombieri-Виноградов 定理所不能克服的困难。因而,陈景润引入并证明了新的一类均值定理:
这也是陈景润最近改进 D(N) 上界估计的基础。
那么陈景润的加权筛法究竟是沿着哪条思路想出来的?
陈景润的加权筛法是沿着 {1, 4} 和 {1, 3} 的证法想到的。证明 {1, 4} 时出现了
而在证明 {1, 3} 时使用了
这里不再对 1 而是对一个函数求和。从而上式是去估计一个加权的筛函数 。也就是对每个元素加了权,再进行筛选,从而这种筛法称为「加权筛法」。所以,只要恰当选择权函数就可以让我们得到更好的结果。但是还得注意到,引进权函数之后我们的估计会大大复杂,所以在主项和余项估计中就产生了新的问题和困难需要克服。
陈景润选择了如下的一个筛函数,并得到了这样的定理:
证明这一引理之后,就可以得到 ,从而证明了 {1, 2}。
但是,因为在 b = 2 时在估计主项和余项时出现了至今仍然无法克服的困难,利用陈景润的加权筛法不可能证明 {1, 1}。
具体的证明过程参如下链接。
他写得下。
第一次看到这个知乎问题的时候我还是个对高等数学和数论一窍不通的初中生。但很荣幸我在高中毕业之前把陈景润的1+2弄明白了。
@酱紫君 、 @丧心病狂刘老湿 、 @Kushim Jiang 的回答都很详细,但是没有抓到1+2问题的本质。反而将陈景润的证明神秘化了。下面笔者就从历史发展的角度把1+2的思路简单讲解一下。
为了方便表述,我们接下来用 来表示将偶数x写成一个不超过a个素数的乘积与一个不超过b个素数的乘积之和的方法数。那么 计算的便是将偶数x写成一个素数与一个不超过c个素数的乘积之和的方法数。下面我们就来介绍一下陈景润是如何证明 的。
对于一个正整数n,我们可以根据抽屉原理得知这个数中 的素因子个数最多只有 。利用这一点,我们就可以构造筛法(sieve)。让 表示满足下列条件的素数p的个数:
其中 表示全体大小不超过z的素数。结合之前的说明我们就可以发现对于所有的正整数c均有:
一般而言c在很大的时候我们可以通过证明(2)的右侧非零来证明命题1+c。但事实表明这种朴素的筛法在c≤3的时候就没法给出正下界了,因此以(2)为基础的哥猜研究只做到了1+4:
之所以我们难以z很大时给出 下界是因为此时用这样的方法来筛出的殆素数(即素因子个数不超过定值的整数)个数会比实际的个数小很多。因此这个时候我们不必要求x-p的素因子都要大于z,但我们可以通过非常简单原理来限制x-p中≤z的素因子个数。换言之,我们不奢望把≤z都素因子全部筛完。
现在我们研究这样一个用 表示满足以下条件的素数p的集合:
其中 、 。现在我们再用 表示属于 且满足 的素数p之个数。
对于所有的 我们发现:
结合(5)我们就可以发现落在超过n个不同 中的素数个数不超过 。则此时用 表示 中最多同时落在m个 中的素数个数时就有:
事实上这些集合的大小都是通过筛法来计算的。一方面结合(3)我们可以发现:
另一方面对于素数p'>z,我们用 计算满足下列条件的素数p之个数:
便可发现 。将这些结果代入到(4)中,便有:
由于(6)中的和式前面出现了权重 ,所以这种筛法被称作加权筛(weighted sieve)。
这种加权的思想最初是Kuhn在研究整系数多项式的素数分布时想出来的,后来王元通过将这种思路引入哥德巴赫问题中证明了2+3[1]和1+3。
结合这个定义,我们就可以发现当y=x、m=1、u=3时 就可以用来估计1+3问题的下界。由于v较小时蓝色部分会太小而v较大时红色部分会太大,所以最终数学家们选择了用v=10时的加权筛法来给出了x充分大时 的正下界:
解析数论中log永远指代以e为底的自然对数。
这里的棕色系数2.6408是陈景润利用Jurkat-Richert定理[2][3]得到的。乘积 被称为哥德巴赫问题的奇异级数(singular series)。但由于笔者还没读懂Jurkat-Richert定理的证明,所以只能通过王元构造的初等Brun-Buchstab-Selberg筛法证明把棕色系数更换成2.0586的下界:
虽然现代的教材都倾向于将陈景润的筛法也归类于加权筛法(这也是为什么几位高赞回答都提到了所谓的“权重选取”问题)。但这样反而将陈景润构造 下界的思路隐藏起来了。从上面的定义中我们可以发现加权筛函数 筛出的素数p总是可以分成下面几种情况:
1、 ,其中 。
2、 ,其中 。
3、 ,其中 。
4、x-p为素数,即满足哥德巴赫猜想的情况。
从中我们可以发现只要能将第一种情况从 中剔除就可以得到1+2问题的上界。下面我们就来分析一下怎样计算满足情况1的素数个数。由于 所以有 ,因此当我们让 表示下列条件:
则满足情况1的素数p的个数不超过 ,利用对称性我们定义:
时我们就可以用 来估计满足情况1的素数个数上界。将这个公式与(7)结合,我们就得到了:
陈景润写下这个公式时认为它是“显然”的,但一个在这个领域中博览群书的人可以发现(9)的构造确实是相当自然的。
利用自己的独特方法,陈景润证明了x充分大时 。于是再结合(7),便有:
如同之前所说,因为紫色系数0.67依赖于Jurkat-Richert定理,所以笔者只得到了将紫色系数更换成0.084的 下界:
以下是论文原文:《大偶数表为一个素数及一个不超过二个素数的乘积之和》