第214章 分层筛法
他的指尖在草稿纸上快速演算起来,试图找到与哥德巴赫猜想适配的工具,寻找突破的可能。
现有的方法,无论是筛法还是圆法,都是从不同角度去逼近这个问题。
筛法像是用一张网去捞素数,圆法则像是用傅里叶分析去探测素数的分布频率。
但这两个工具都有一个共同的局限:它们都是在“外部”观察素数,而不是从素数集合本身的“内部结构”出发。
肖宿忽然想起自己之前研究辛几何时的一个想法。
在辛几何里,研究一个流形的性质,最直接的方法是研究它上面的函数空间。
那些函数在流形上的取值、变化、临界点,能告诉你这个流形长什么样。
如果把素数集合看作一个离散的“流形”呢?
在这个流形上,可以定义一类特殊的函数,比如,把每个偶数n映射成它能够分解成的素数对数目。
这个函数的值,就是哥德巴赫猜想关心的东西。
这个函数在整数轴上的分布,会不会有什么不变的结构?
肖宿重新坐直,打开一个新的文档,开始写下几行字:
“设P为素数集合。对任意偶数n,定义g(n) = #{(p, q) ∈ P×P : p+q=n},即n的哥德巴赫分解数目。”
“问题是:g(n)是否恒大于0?”
写完之后,他盯着这几行字看了一会儿。
这是一个古老的问题,但他想换一个全新的角度去看它。
如果从傅里叶分析的视角,g(n)可以看作是两个素数集合的卷积。
也就是说,如果把素数集合表示成一个特征函数,每个整数如果是素数就取1,不是就取0,那么g(n)就是这个特征函数与它自身的卷积。
卷积在傅里叶域里会变成乘法。
也就是说,g(n)的傅里叶变换,等于素数特征函数的傅里叶变换的平方。
所以,如果能搞清楚素数特征函数的傅里叶变换,就能搞清楚g(n)的分布。
这是一个经典的圆法思路。
哈代和李特尔伍德在上个世纪初就用这个方法得到了一个渐近公式:
g(n) ≈ 某个常数 × n/(log n)^2 × 一个与n的奇因子有关的修正因子。
但这个公式只是渐近的,不是严格的。
问题出在哪里呢?
“圆法给出的是主项的估计,但余项的控制一直无法做到足够小,根本原因在于,素数集合的傅里叶变换有太多的振荡,难以精确估计。”
但如果换一个视角呢?
不是从傅里叶域,而是从谱域出发呢?
这是他最近在研究NS方程时想到的东西。
在量子力学里,一个系统的能级分布,可以用谱理论来描述。
每个能级对应一个特征值,这些特征值的分布遵循某种规律。
如果把素数看作某个算子的特征值呢?
这个想法听起来有点疯狂,但数学史上不乏这样的先例。
黎曼猜想本质上就是在研究一个函数,黎曼ζ函数的零点分布。
那些零点,就可以看作某个算子的谱。
肖宿忽然想起去年在普林斯顿的时候,德利涅提过一句:有些数论问题,用代数几何的方法会看得更清楚。
代数几何研究的是多项式方程的解集。
如果把素数看作某些多项式方程的解,那哥德巴赫猜想就变成了关于这些解集的加法性质的问题。
他继续往下写:
“设V_p = {x ∈ Z : x ≡ 0 mod 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(n)的值,也许就和某种相交数有关。
而相交数,在合适的条件下,是拓扑不变量,也就是说,不管你怎么扰动,只要扰动的方式合适,这个数就不变。
肖宿的心跳快了一拍。
如果哥德巴赫猜想的本质是一个拓扑不变量的问题,那么它的证明,就不需要精确控制每个细节,只需要证明那个不变量不为零。
他深吸一口气,继续往下推:
“设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”证明里就用过加权筛法,只不过他用的权重函数和肖宿构造的这个完全是两个维度的东西。
陈景润的权重是一个相对简单的、静态的函数,而肖宿需要的权重必须是一个动态的、随层次变化而变化的算子。
他把这个算子命名为“分层权函数”,用希腊字母ω加上下标来表示。
ω_1是第一层的权函数,ω_2是第二层的,以此类推。
每一个ω_i都是一个从整数集合到[0,1]区间的映射,满足一组极其复杂的相容性条件。
而推导这组相容性条件又花了他四天时间。
当最后一个不等号在草稿纸上落定,他终于长舒一口气。
他给这种方法起了个名字:分层筛法。
(https://www.uuuxsvv.cc/80242/80242597/58114667.html)
1秒记住U小说:www.uuuxsvv.cc。手机版阅读网址:m.uuuxsvv.cc