0. 写作“动机”

在本专栏的上一篇文章《勾股定理》中,Brown Chen提到了“拉格朗日四平方和定理”,即任何自然数都是某四个整数的平方和。这个问题研究的是自然数的表法问题,也就是把一个自然数写成某些特定的数的和。这一类问题是堆垒数论(Additive number theory)所要研究的核心问题。我们从堆垒数论的英文中就能看出其所要研究的问题。它还可以翻译为“加性数论”(与之相对应的是“乘性数论(Multiplicative number theory)”),不过我个人更喜欢“堆垒”这个更加直观的名称。

在本专栏更之前的文章《数学难题?先问问语文老师吧。》中,陳浩谈到了“比较”“无穷大”的问题。在堆垒素数论中,比较无穷大是一件很常见很重要的事情。当然,堆垒素数论中比较无穷大与陳浩所提到的略有不同,陳浩提到的问题多涉及实变函数,有关于集合等等。而堆垒素数论当中的比较无穷大一般是指对“阶”的估计。正是这种对无穷大的比较,或者说是阶的估计,在堆垒素数论领域相当多重要结果的证明中扮演了关键的角色。

以上算是让我决定写一整个关于堆垒素数论系列文章的原因。

现在给你一张沿途可以欣赏堆垒素数论精彩风景的列车的车票(免费的),你愿意上车吗?如果你愿意的话……

Welcome aboard! (这段话好中二的感觉……)

1. 人脑与电脑

“只有数学能处理无穷大,我们是这个星球上唯一会处理无穷大的存在。”——“刘建亚语录”

在我们欣赏堆垒素数论风采的时候,我们大家或许并不会轻松,需要让自己的大脑保持高速运作状态。作为热身,我们先来看一道练习题:

问题1:设n>0且n为一个偶数。求证n+1为一个奇数。

或许你会想“我靠这不坑爹嘛!这种小学生都会的题目!我不要浪费时间了,我要下车!”

先别太着急,如果想下车,等我们列车停靠在站点时候吧。

没错,我想这道题对小学生来说也并不困难。但是,请把自己想象成一台电脑,然后再来考虑这个问题,那么……

n取第一个正偶数n=2,n+1=3,3不可以被2整除,是一个奇数,结论成立;

n取下一个偶数n=4,n+1=5,5不可以被2整除,是一个奇数,结论成立;

……

发现问题没有?电脑并不能完成对所有偶数的验证,因为偶数有无穷多个,即使我们验证了n取一亿结论也成立,但是对于一亿零二,我们仍然尚未可知。

让我们来看一下奇数哥德巴赫猜想:

猜想:任一不小于于7的奇数都可以表示为三个素数之和。

我们可以验证:

7=2+2+3;

9=3+3+3;

……

甚至我们可以用电脑验证到一个很大很大的奇数,但我们仍然不知道在那之后的奇数是否仍然可以表示成三个素数之和。

所以说,要解决这个问题,很大的难点在于如何处理趋向于无穷时的情形。

2. 阶的估计

再来看下面这个问题。

问题2:设n是一个正整数,比较n的平方与n的大小。

我们需要指出,这仍然是一个电脑无法完全解决的问题。

我们可以作差比较,也可以求导比较。我们不妨来作差:

可以看出当n>1时,n的平方大于n。

问题3:设n是一个正整数,C是一个正数,比较n的平方与Cn的大小。

同样并不困难的,我们可以得到当n>C时,n的平方就比Cn大了。无论这个C有多大,可以是10的10次方甚至更大,随着n的增大,总会在超过某个数之后,n的平方大于n。

我们可以这么来解释,虽然当n趋于无穷大时n的平方与Cn都趋于无穷大,但是n的平方的阶比Cn的阶要大,所以n的平方增大的“速度”比Cn大的多。

为了更好地说明“阶”这个概念,我们引入记号“o”与"O"。

(因为我们主要关心正数,因此接下来的无穷符号均特指正无穷。)

定义1:若

则称当x趋近于无穷时f(x)是g(x)的无穷小量,记为

定义2:设g(x)>0,若存在常数A>0,使得

那么我们记为

在我们的问题2中,我们可以看出

因此在n足够大之后,总会有

或者我们也可以通过

来得到相同的结论。那么如果一个函数f(x)满足

我们就知道当x足够大的时候,f(x)必将大于0。

3. Vinogradov的三素数定理

定理1(Vinogradov[4],1937)设n为一个正整数,记R(n)为将n表为三个素数之和的表法个数(举例:13=3+3+7=3+5+5,那么R(13)=2)。那么我们有

其中

特别地,任一个足够大的奇数可以表成三个素数之和。

实际上,我们可以看出,当n为一个偶数时,因为2可以整除n,则有

而对于奇数n,由于2不能整除n,乘积中所出现的项均为正数,所以

实际上可以得到其是一个不小于1/2的正数。再加上我们之前的讨论,可以看到R(n)表达式中等号右端第一项(称为主项(Main term))的阶比第二项(称为余项(Error term))的阶要高,那么,当n为奇数且充分大的时候,就有R(n)>0成立,也就是说表法个数大于0,至少有一种表法。这就证明了奇数哥德巴赫猜想对充分大的奇数成立。

那么到底要求多大的奇数呢?

最初Vinogradov给出的结论是对于

成立。想象一下1后面有680万个0。即使Liu和Wang[]在2002年的结果也要求n比10的1346次方大,也就是1后面有1346个0。这应该是已经超过了当前计算机的计算能力,但是验证有限多的情形总是一项能看到尽头的工作吧。

4. Hardy-Littlewood圆法

(本小节部分参考了Kumchev和Tolev的综述性文章[2])

Hardy-Littlewood圆法是堆垒素数论中强有力的工具,我们通过展示三素数定理的证明来表明Hardy-Littlewood圆法的思想。

按照惯例,我们用一个记号:

此外,所有的小写p,无论带下标与否,都代表素数。
圆法的出发点为,当且仅当m=0时,

而当m不等于0时,此积分为0。那么我们有

接下来,定义

那么有

接下去的重头戏就是完成对此积分的估计,得到一个主项以及一个阶比主项小的余项。

我们可以看到积分上下限为从0到1,也就是说alpha从0变到1。有一个非常重要(但并不明显)的观察,那就是当alpha靠近一个有理数,并且此有理数的分母不太大时,f(alpha)就较大,其余情形下f(alpha)都很小。

在我们继续演算之前,先来做一些记号。设B是一个充分大的正数,具体多大我们后面再来订。记大写的P(并不代表素数)为

取a和q为正整数,满足

并且(a,q)=1(这里(a,q)表示a和q的最大公约数)。记

这些区间是两两不相交的。

我们指出,在将R(n)表为从0到1的积分之后,实际上我们可以将积分上下限变为任意长度为1的区间。具体来说,我们将其变为

然后我们将这个积分区间分成两部分,分别称为主区间(Major arcs)和余区间(Minor arcs):

哲学意义上讲,主区间上的积分将出主项,余区间上的积分将出余项。

这里或许你会注意到一个很有趣的事情(或许没有),那就是主区间中“区间”对应的英文是“arcs(弧)”。

让我们来这样想一下,当alpha从0变到1的时候,e(alpha)是如何变化的?是不是恰好形成了一个单位圆?没错,这正是“圆法”名称的由来。而选取一些区间,对应过去恰好是一些圆弧,这就是选择这几个名称的原因。

好,现在我们有

接下去,我们将分别给出对这两个积分的估计。我们略去绝大多数技术细节,只给出大致的想法。

对主区间的估计将给出如下结果:

对于余区间的估计,我们会给出更多细节,因为会很有趣。对于余区间,我们想要得到一个上界。在余区间上f(alpha)相对较小,我们直接取被积函数的绝对值(称被积函数的“模”更为恰当,因为被积函数是复的)。我们有

注意到

还记不记得我们圆法的起点,等号右端的积分,当且仅当p_1=p_2时等于1而其他时候等于0。因此

这里我们利用了素数定理。此外f(x)<<g(x)表示f(x)=O(g(x))。现在我们需要对余区间上的|f(alpha)|给一个好的上界。很明显,如果简单地对所求和的每一项都取绝对值,得到的平凡上届是n(log n)^{-1},这不能解决问题。

因此,需要特别特别注意的是,给出好的非平凡上界是Vinogradov证明三素数定理的关键所在。他成功地给出了足够好的非平凡的上界,也直接导致了三素数定理的被证明。按照我的理解,我们所说的阶的估计是证明三素数定理逻辑上的关键,而此上界则是证明三素数定理技术上的关键!

我们知道余区间的定义跟P有关,所以此上界会跟P有关。Vinogradov的结果表明在余区间上,

之前我说过我们会在稍后取定B的值,我绝不会骗你,在这里,我们取定B大于等于12,那么3-B/2小于等于-3。

把这些余区间上的结果结合起来,我们得到了

最后把主区间和余区间上的结果结合起来,就能证明Vinogradov的三素数定理了。

5. 为什么不能证明偶数哥德巴赫猜想?

也许你心里在想,能否用Hardy-Littlewood圆法完全解决偶数哥德巴赫猜想呢?

答案是否定的。

为什么?

这里有一个原因。让我们回顾一下余区间的处理,有f的三次方,用最粗略的估计将得到阶n^3(log n)^{-3},主项的阶为n^2(log n)^{-3}。也就是说,我们要节余一个n的方次,还要再节余一丁点。我们提出一个f来,剩下两个f凑成一对。这一对可以节余n(log n)^{-1},再通过余区间上f的非平凡上界节余(log n)的某些方次,达到目的。

那么如果我们不再有第三个变量,而只有两个变量,我们有的是f的平方,最粗略的估计得到的阶为n^2(log n)^{-2},此时对应的主项的阶为n(log n)^{-2},需要节余一个n的方次,还要再节余一丁点。如果不提出f来,两个能凑成一对节余n(log n)^{-1},没有其他的节余,不够;如果提出一个f来,剩下的那一个节余不了太多,离所需要的节余相去甚远。

需要指出,陈景润[1]证明的结果为

定理2(Chen,1973)设n为一个正偶数,记r(n)为将n表为n=p+P_2(P_2表示一个素因子不超过2个的正整数)的表法个数。存在一个n_0,当n不小于n_0时,我们有

特别地,任一个足够大的偶数n可以表成n=p+P_2。

6. 写在后面的话

好了,我们的列车就要停靠第一个站点稍作休整。希望各位喜欢刚刚所看到的关于三素数定理的风景。我们下次再见!

7. 参考文献

[1] J.R. Chen, On the representation of large even integer as the sum of a prime and the product of at most two primes, Sci. Sinica 16 (1973), 157–176.

[2] A.V. Kumchev and D.I. Tolev, An invitation to additive prime number theory, Serdica Math. J. 31 (2005), no. 1-2, 1–74.

[3] M. C. Liu and T. Z. Wang, On the Vinogradov bound in the three primes Goldbach conjecture, Acta Arith. 105 (2002), 133-175.

[4] I. M. Vinogradov, Representation of an odd number as the sum of three primes, Dokl. Akad. Nauk SSSR 15 (1937), 291–294, in Russian.

oracle如何判断奇数偶数_堆垒素数论之旅(1):奇数哥德巴赫猜想相关推荐

  1. oracle如何判断奇数偶数_图解面试题:如何分析中位数?

    学校每次考试完,都会有一个成绩表.例如,表中第1行表示编号为1的用户选择了C++岗位,该科目考了11001分. 问题:写一个sql语句查询每个岗位的中位数位置的范围,并且按岗位升序排序,结果如下: 解 ...

  2. c语言判断奇数偶数_使用C语言宏检查偶数或奇数

    c语言判断奇数偶数 There are many ways to check whether a given number is EVEN or ODD, which we have already ...

  3. c语言任何一个大于6的偶数均可表示为两个素数之和,C语言:验证哥德巴赫猜想:任何一个大于6的偶数均可表示为2个素数之和...

    题目: C语言:验证哥德巴赫猜想:任何一个大于6的偶数均可表示为2个素数之和 [问题描述] 验证哥德巴赫猜想:任何一个大于6的偶数均可表示为2个素数之和。例如6=3+3,8=3+5,-,18=5+13 ...

  4. oracle如何判断奇数偶数_返回奇数行或者偶数行数据库表记录

    --方法1用Decode函数 for even number of records select*from emp where rowid in(select decode(mod(rownum,2) ...

  5. 借用该函数验证哥德巴赫猜想:任意一个大的偶数都可以分解成两个素数之和。

    定义一个函数,实现判断某个整数是否是素数.借用该函数验证哥德巴赫猜想:任意一个大的偶数都可以分解成两个素数之和.从键盘输入一个偶数,输出该偶数的两个素数之和. 代码段: #include <io ...

  6. python123输出N以内的所有素数哥德巴赫猜想扑克牌游戏

    描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬ ...

  7. python判断奇数和偶数_从Python中的给定列表中提取偶数和奇数

    python判断奇数和偶数 In this problem, we are given a list by the user which may be the mixture of even and ...

  8. python编写一个函数判断一个数是否为素数是则返回yes_编写函数isPrime,判断一个数字是否为素数,是则返回字符串 YES ,否则返回字符串 NO 。_学小易找答案...

    [填空题]语句 x = (3,) 执行后x的值为_______________. [填空题]字典对象的___________方法可以获取指定"键"对应的"值", ...

  9. python判断数字奇偶_python如果快速判断数字奇数偶数

    python如果快速判断数字奇数偶数 这篇文章主要介绍了python如果快速判断数字奇数偶数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用 按 ...

最新文章

  1. SAP FICO hande汉得培训资料---II 应收模块篇 PDF 电子版
  2. Java面试题 String类能不能被继承?为什么?
  3. Yet Another Counting Problem CodeForces - 1342C(规律+前缀和)
  4. stylus之关键字参数(Keyword Arguments)
  5. 三通道的黑白图(不同于单通道的普通的黑白图片)
  6. 【word基础知识】word转pdf时出现空白页如何删除?
  7. 关系抽取之远程监督算法:别再跟我提知识图谱(下篇)
  8. Excel两列数据比较,相同的保存在另外一列
  9. CentOS 6系统FreeSwitch和RTMP服务 安装及演示(三)
  10. java实习实训管理系统ssm
  11. 《高等运筹学》复习题手写解答 Advanced Operations Research: Final Exam:Review Exercises
  12. dos命令行设置网络优先级_实用批处理:不用下软件就能 批量改名,修复网络,删除小文件...
  13. [Ansys Workbench] 平面对称斜拉桥的模态分析
  14. 如何root安卓手机_2019年安卓手机一键root教程,附科普安卓为何root困难?
  15. 关于JSP文件的运行方法
  16. Pg extention pgcrypto
  17. SpringCloud 之 注册中心
  18. Java进阶04-动态代理、类加载
  19. life is hard
  20. 1.安全传输加密算法

热门文章

  1. c语言从1加到任意数的编程,c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和...
  2. c语言int类型乘法溢出_【原创】C语言指针自我总结
  3. 中国风楼盘房地产海报PSD分层模板来袭,每张都诗情画意
  4. 完美海报设计的4个技巧
  5. 有了这些字体,才是高逼格的UI设计!
  6. UI素材模板|网站后台管理的表单可临摹优秀模板
  7. 农信社计算机知识,农信社备考:计算机基础知识(15)
  8. 降序php,以降序php读取文件
  9. C++类占字节数讲解
  10. SU编程和Madagascar编程中的函数对比和区别--终端提示函数