他的指尖在草稿纸上快速演算起来,试图找到与哥德巴赫猜想適配的工具,寻找突破的可能。
现有的方法,无论是筛法还是圆法,都是从不同角度去逼近这个问题。
筛法像是用一张网去捞素数,圆法则像是用傅立叶分析去探测素数的分布频率。
但这两个工具都有一个共同的局限:它们都是在“外部”观察素数,而不是从素数集合本身的“內部结构”出发。
肖宿忽然想起自己之前研究辛几何时的一个想法。
在辛几何里,研究一个流形的性质,最直接的方法是研究它上面的函数空间。
那些函数在流形上的取值、变化、临界点,能告诉你这个流形长什么样。
如果把素数集合看作一个离散的“流形”呢
在这个流形上,可以定义一类特殊的函数,比如,把每个偶数n映射成它能够分解成的素数对数目。
这个函数的值,就是哥德巴赫猜想关心的东西。
这个函数在整数轴上的分布,会不会有什么不变的结构
肖宿重新坐直,打开一个新的文档,开始写下几行字:
“设p为素数集合。对任意偶数n,定义g = #{ ∈ pxp : p+q=n},即n的哥德巴赫分解数目。”
“问题是:g是否恆大於0”
写完之后,他盯著这几行字看了一会儿。
这是一个古老的问题,但他想换一个全新的角度去看它。
如果从傅立叶分析的视角,g可以看作是两个素数集合的卷积。
也就是说,如果把素数集合表示成一个特徵函数,每个整数如果是素数就取1,不是就取0,那么g就是这个特徵函数与它自身的卷积。
卷积在傅立叶域里会变成乘法。
也就是说,g的傅立叶变换,等於素数特徵函数的傅立叶变换的平方。
所以,如果能搞清楚素数特徵函数的傅立叶变换,就能搞清楚g的分布。
这是一个经典的圆法思路。
哈代和李特尔伍德在上个世纪初就用这个方法得到了一个渐近公式:
g ≈ 某个常数 x n/2 x 一个与n的奇因子有关的修正因子。
但这个公式只是渐近的,不是严格的。
问题出在哪里呢
“圆法给出的是主项的估计,但余项的控制一直无法做到足够小,根本原因在於,素数集合的傅立叶变换有太多的振盪,难以精確估计。”
但如果换一个视角呢
不是从傅立叶域,而是从谱域出发呢
这是他最近在研究ns方程时想到的东西。
在量子力学里,一个系统的能级分布,可以用谱理论来描述。
每个能级对应一个特徵值,这些特徵值的分布遵循某种规律。
如果把素数看作某个算子的特徵值呢
这个想法听起来有点疯狂,但数学史上不乏这样的先例。
黎曼猜想本质上就是在研究一个函数,黎曼ζ函数的零点分布。
那些零点,就可以看作某个算子的谱。
肖宿忽然想起去年在普林斯顿的时候,德利涅提过一句:有些数论问题,用代数几何的方法会看得更清楚。
代数几何研究的是多项式方程的解集。
如果把素数看作某些多项式方程的解,那哥德巴赫猜想就变成了关於这些解集的加法性质的问题。
他继续往下写:
“设v_p = {x ∈ z : x ≡ 0 od p},这是p的倍数集合。素数p本身,可以看作是这个集合的生成元。”
“对任意偶数n,考虑所有满足p ≤ n的素数p。每个p对应一个集合v_p。n能被写成两个素数之和,若且唯若存在p, q使得n ∈ v_p + v_q。”
这个视角把问题从“找素数”变成了“找集合之间的加法关係”。
肖宿盯著这个表述,脑子里忽然闪过一个念头。
在辛几何里,“拉格朗日子流形”可以用弗洛尔同调来描述。
如果把这里的v_p看作某种离散版本的“子流形”,那么n ∈ v_p + v_q这件事,是不是也可以看作某种“相交”
如果是这样,那g的值,也许就和某种相交数有关。
而相交数,在合適的条件下,是拓扑不变量,也就是说,不管你怎么扰动,只要扰动的方式合適,这个数就不变。
肖宿的心跳快了一拍。
如果哥德巴赫猜想的本质是一个拓扑不变量的问题,那么它的证明,就不需要精確控制每个细节,只需要证明那个不变量不为零。
他深吸一口气,继续往下推:
“设x为所有素数构成的集合。考虑x的某种紧化或完备化,使其成为一个拓扑空间。
在这个空间上,定义一种加法结构,使得每个偶数n对应一个特定的子空间。
那么,哥德巴赫猜想成立,若且唯若这个子空间与x+x相交非空。”
“如果能证明这个相交数在某种意义下是稳定的,並且对於n=4(4=2+2)已知相交数非零,那么由稳定性,对所有更大的n,相交数也非零。”
这个思路听起来很抽象,但数学上並非不可能。
肖宿想起自己之前研究过的顾辛流型。
那种流型的一个关键性质,就是它的弗洛尔同调在哈密顿扰动下保持不变。
如果能构造一个合適的流型,使得素数集合对应於它的某个拉格朗日子流形,那么哥德巴赫猜想就变成了一个几何定理。
沿著这条路,肖宿继续向前探索。
他先从最基础的地方开始,重新梳理了筛法和圆法的理论框架。
筛法的核心思想,是用一个“筛子”去过滤掉那些不想要的数。
比如要研究素数,就先列出所有整数,然后筛掉所有2的倍数、3的倍数、5的倍数……剩下的就是素数。
但筛法有个问题:筛子太密的时候,误差项会失控。
肖宿想了一个办法,既然不能一次筛到底,那就分层筛。
他把筛的过程拆成了好几层,每一层只负责筛掉一部分合数,同时保留足够的结构信息,最后再把各层的结果用一种巧妙的方式叠加起来。
这个思路来源於他去年处理加权度量构造时的经验。
当时他在研究有理双曲奇点邻近的度量问题时,面对的是一个非常类似的困境:
直接在奇点上做计算会发散,但如果把奇点周围的空间分层展开,一层一层地逼近,最后再取极限,就能得到一个收敛得非常好的结果。
把连续空间的技巧移植到离散的整数集合上,这件事说起来简单,做起来却难如登天。
但肖宿最不怕的就是鸿沟,只是短暂思考了一段时间,他就开始了对这个方法的构造。
他做的第一步是下定义,也就是分清楚什么是层。
他先把从2到n的所有整数,按照它们的最小素因子的大小,分成了若干个层次。
第一层是最小素因子小於n{1/k}的那些合数,第二层是最小素因子在n{1/k}到n{2/k}之间的,以此类推,一直到最后一层,剩下的全是素数。
这个分层方式的好处是,每一层內部的数在某种意义下是“均匀”的,筛起来误差项的增长速度会慢很多。
坏处是,层的数量k本身就是一个需要精心选择的参数。
k太小,层数不够,误差项还是会堆积;k太大,层数太多,每一层的计算复杂度会爆炸。
肖宿花了一个星期的时间,反覆调整这个参数,最终找到了一个微妙的平衡点。
这个平衡点不是一个固定的数字,而是一个依赖於n的函数,当n变化的时候,最优的层数也会跟著变化。
他把这个函数写成了一组递推关係式,密密麻麻地占据了草稿纸的整整五页。
然后第二步就是赋予权重。
分层之后,每一层筛出来的数,是不能直接相加的。
因为不同层的数在最终的计数中贡献的“分量”是不一样的,如果简单粗暴地加起来,就会像把不同面额的硬幣混在一起数,数出来的总数毫无意义。
肖宿需要给每一层赋一个权重。
这个权重要能够精確地反映该层中的数在哥德巴赫分解中的“重要性”。
换句话说,如果一个数更容易作为大偶数的素数加项出现,那么它的权重就应该比其他数更高。
这个想法本身並不新鲜。
陈景润的“1+2”证明里就用过加权筛法,只不过他用的权重函数和肖宿构造的这个完全是两个维度的东西。
陈景润的权重是一个相对简单的、静態的函数,而肖宿需要的权重必须是一个动態的、隨层次变化而变化的算子。
他把这个算子命名为“分层权函数”,用希腊字母w加上下標来表示。
w_1是第一层的权函数,w_2是第二层的,以此类推。
每一个w_i都是一个从整数集合到[0,1]区间的映射,满足一组极其复杂的相容性条件。
而推导这组相容性条件又花了他四天时间。
当最后一个不等號在草稿纸上落定,他终於长舒一口气。
他给这种方法起了个名字:分层筛法。