黎曼猜想,及其解释
素数
你还记得素数,对吧?它们无法被其他自然数整除?OK。于是我们有了一个 3000 多年的问题:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, p。p 是多少?31。下一个p呢?是 37。之后的 p呢?41。接着呢?43。但是……你怎么知道下一个 p 是什么?
若你能提出一个论点或公式(甚至仅在任何给定的数列中)能预测到下一个素数是什么,你的名字就会与人类思想中最伟大的成就之一永远联系在一起,与牛顿、爱因斯坦和哥德尔比肩。如果能解决素数为何表现出如此的性质,你就永远不用再做任何事情了,永远。
引言
历史上曾有多位数学巨匠研究过素数的性质。从欧几里得对素数无限性的第一个证明,到欧拉将素数与 zeta 函数联系起来的乘积公式;从高斯与勒让德提出的素数定理公式,到它被阿达马和德拉瓦莱普森证明;依旧占据主导地位的数学家波恩哈德·黎曼则独立为素数理论做出了最大的突破。他对素数的分布做出了新的,前无古人的发现,所有这些都包含在一篇 1859 年出版的 8 页论文里,它至今仍是数论中最重要的论文之一。
自该论文出版以来,黎曼的论文一直是素数理论的中心,它确实是素数定理在 1896 年被证明的主要原因。自此之后,数学家们又找到了几个新的证明,包括塞尔伯格和埃尔多斯的基本证明。然而黎曼关于 zeta 函数根的猜想依旧成谜。
素数有多少?
先来点儿简单的。我们都知道(除 0 和 1 外)一个自然数不是素数就是合数。所有合数都由素数构成,且可被因数分解为一些素数的乘积。素数则是该构建过程中的“积木”或“基本元素”。欧几里得在公元前 300 年证明了素数有无限个。
欧几里得定理
设素数集有限。建立一个所有素数的列表。令 P 为该列表中所有素数的积(将列表中的所有素数相乘)。将结果数字加一,Q = P + 1。同所有数字一样,数字Q不是素数就是合数:
-
若 Q 为素数,你就找到了一个不在“所有素数的列表”中的素数。
- 若Q非素数,则为合数,即在列出的所有素数中,存在素数p可整除Q(因为所有合数都是一些素数的乘积)。每个构成 P 的素数 p 显然整除 P。若 p 能同时整除 P 和 Q,那么它应当也能整除二者之差,即 1。然而没有素数能够整除 1,因此 p 必定不在该素数列表中,这与该列表包含所有素数矛盾。
总存在另一个能整除 Q 的素数 p 不在该列表中,因此素数必有无限个。
为何素数如此难以理解?
任何初学者都能理解我前面提出的问题,仅此一点就足以说明它有多么困难。甚至在进行过大量研究后,我们对素数的代数性质仍然知之甚少。科学界十分确信我们缺乏理解素数行为的能力,大数的因式分解(即找出一个数是由哪两个素数相乘所得)便是加密理论的基础之一。下面就是一种寻找它们的方法:
我们已经很好地理解了合数,即所有的非素数。它们由素数构成,你很容易就能写下一个式子来预测和/或生成合数。这样的“合数过滤器”称作一个数筛,最有名的例子便是约公元前 200 年的“埃拉托斯特尼筛法”。它所做的就是简单地在一个有限集中标记出每个素数的倍数。所以,先取素数 2,并标记出 4,6,8,10 等,接着取素数 3,然后标出 6,9,12,15 等等,最后就只剩素数了。虽然很好理解,但正如你所料,埃拉托斯特尼筛法并不高效。
函数 6n ± 1 能显著简化此工作,这个简单的函数会产生除2和3之外的所有素数,并移除所有3的倍数和所有偶数。将 n = 1,2,3,4,5,6,7 代入会产生结果:5,7,11,13,17,19,23,25,29,31,35,37,41,43。该函数生成的非素数只有 25 和 35,它们分别可被分解为 5 × 5 和 5 × 7。如你所料,之后的非素数为 49 = 7 × 7、55 = 5 × 11 等等。挺的简单吧?
为了从视觉上展示它,我使用了自己称为“合数梯”的东西,它能直观地展现出该函数生成的合数相对于每个素数的布局和组合。在下图的前三列中,你可以清晰地看到素数 5, 7, 11 与它们各自的合数梯一直到 91。第四列的混乱则展示了此筛子如何移除素数以外的所有的数字,它清楚地展现了为何素数如此难以理解。
合数梯子
基础资源
所以这一切都与你可能听说过的“黎曼猜想”有关?嗯...简单来说,为了更好地理解素数,数学家们在 19 世纪便不再尝试预测素数的精确位置,转而将素数的现象视为一个整体。这种分析的方法就是黎曼所擅长的,他著名的猜想也由此得出。不过在解释它之前,我们有必要先熟悉一些基础资源。
调和级数
调和级数是个无限级数,它首先由尼科尔·奥雷斯姆在 14 世纪研究。其名字与音乐中谐波的概念有关,即高于基音基本频率的泛音。该级数如下:
无限调和级数的第一项
该和式被奥雷斯姆证明是不收敛的(即不存在极限,不接近/趋向于任何特定的数字,而是一直增长到无穷大)。
Zeta 函数
调和级数是一个更一般形式的,被称为 zeta 函数 ζ(s) 的一个特列。zeta 函数的实际值由给定的 r 和n 两个实数决定:
zeta 函数
若将 n = 1 代入,就会得到调和级数,它是发散的。然而对于 n > 1 的所有值, 该级数是收敛的,这意味着当 r 递增时,其和趋向于某些数,即它不会增长到无穷大。
欧拉乘积公式
zeta 函数和素数间的第一个联系是由欧拉发现的,当时他发现了 n 和 p 两个自然数(大于零的整数)之间的关系,其中 p 为素数:
欧拉乘积公式,其中 n,p 均为大于零的数字且 p 为素数
该表达式首先出现在 1737 年一篇题为 Variae observationes circa series infinitas(无穷级数的各种观察)的论文中。该表达式陈述了 zeta 函数的求和等于一减去素数的 -s 次方的倒数的求积。这种惊人的联系奠定了现代素数理论的基础,即使用 zeta 函数 ζ(s) 作为研究素数的方法。
此公式的证明是我最喜欢的证明之一,因此我在这里收录了它,即便它对我们的目的而言并非严格必须的(它太优雅了!):
欧拉乘积公式的证明
欧拉从一般的 zeta 函数开始
zeta 函数
首先,他将等式两边同时乘以第二项:
zeta 函数乘以
接着他从 zeta 函数中减去结果表达式:
zeta 函数减去 乘以 zeta 函数
他重复这个过程,紧接着在两边同时乘以第三项:
zeta 函数减去 乘以 zeta 函数,再乘以
接着从 zeta 函数中减去结果表达式:
zeta 函数减去 乘以 zeta 函数,减去 再乘以 zeta 函数
无限重复此过程,最后会留下表达式:
1 减去所有素数的倒数,乘以 zeta 函数
如果你觉得这个过程很眼熟,那是因为欧拉实际上构造了一个筛子,它和埃拉托斯特尼筛法很像。它将非素数从 zeta 函数中筛了出去。接着,将该表达式除以所有素数的倒数项,就得到了:
zeta 函数与素数的函数关系,对于前五个素数 2,3,5,7 和 11
简化后,就是:
欧拉乘积公式,该恒等式展示了素数与 zeta 函数间的联系
是不是非常漂亮?将 s = 1 代入,就得到了无限调和级数,再次证明了素数的无限。
莫比乌斯函数
奥古斯特·费迪南德·莫比乌斯之后重写了欧拉乘积公式,创造了一个新的求和。除了包含素数的倒数外,莫比乌斯函数也包含了所有可分解为奇数或偶数个质因数的乘积的自然数。他的数中留下的的数字可以被某些素数的平方整除。和式用 μ(n) 表示如下:
莫比乌斯函数,欧拉乘积公式的一个修改版,在所有的自然数上定义
该和式包含了以下数的倒数:
- 所有素数;
- 所有可写为奇数个不同素数的乘积的自然数,前缀一个负号;以及
- 所有可写为偶数个不同素数的乘积的自然数,前缀一个正号。
以下为第一项:
1除以 zeta 函数 ζ(s) 的级数/求和
此和式不包含能够被某些素数的平方(如 4,8,9 等等)整除的倒数。莫比乌斯函数 μ(n) 的值只有三种可能,除了前缀(1 或 -1)外,就是从该和式中移除项(0):
莫比乌斯函数 μ(n) 三个可能的取值
尽管莫比乌斯给出了第一个形式化定义,然而这个诡异的和式来自于比它早 30 多年的高斯的一个旁注,他认为这很不寻常,他写道:
“该和式(对于一个素数p)的所有原根要么 ≡ 0(当 p-1 可被一个平方数整除时),要么 ≡ ±1 (mod p)(当 p-1 为不相等的素数的乘积时);若它们的个数为偶数,其符号为正;若它们的个数为奇数,则符号为负。”
素数计数函数
我们回到素数的问题上。为了理解随着数值的升高素数是如何分布的,我们无需知道它们在哪,只需知道到一个具体的数字为止它们的数量。
高斯引入的素数计数函数 π(x) 就是做这件事的,它会给出小于或等于一个给定实数的素数的数量。鉴于目前没有已知的寻找素数的公式,我们只能通过图像或每当 x 为素数时阶跃函数加 1 的方式来了解素数计数公式。下图显示了 x = 200 时的函数。
素数计数函数 π(x) ,其中 x = 200
素数定理
素数定理也由高斯(和勒让德独立地)阐述:
素数定理
在汉语(原文英语)中,它被陈述为:“当x增长到无穷大时,素数计数函数 π(x) 会近似于 x/ln(x) 函数。换句话说,若你的计数足够大,且将素数数量的图绘制到一个非常大的数 x,接着绘制 x 除以 x 的自然对数,二者会临近相同的值。两函数图像如下,取 x = 1000:
素数计数函数 π(x) 以及素数定理的估计,绘制到 x = 1000
从概率的角度来说,素数定理说明若你随机选择一个自然数 x,那么 P(x),即该数字为素数的概率约为 1/ln(x)。这意味着前x个整数中连续素数之间的平均间隙约为 ln(x)。
对数积分函数
函数 Li(x) 在除了 x = 1 之外的所有正实数上定义。它以一个从 2 到 x 的积分定义:
对数积分函数的积分表示
将此函数与素数计数函数和素数定理公式一起绘制,我们会看到其实 Li(x) 比 x/ln(x) 近似得更好:
对数积分函数 Li(x),素数计数函数 π(x) 和 x/ln(x) 一起绘制
若我们做一个表格,其中包含足够大的x值、到x为止的素数个数以及旧函数(素数定理)与新函数(对数积分)之间的误差,就能看出它近似得有多好:
到一个给定的 10 的幂的素数个数以及两种估计对应的误差项
从这里可以很容易看出,对数积分函数的近似值远远好于素数定理函数,对于 x = 10^14只“猜多了” 314,890 个素数。然而,这两个函数都只能向素数计数函数 π(x) 靠拢。Li(x) 靠拢得更快,但随着 x 增长到无穷大,素数计数函数与 Li(x) 和 x/ln(x) 的比率趋向于 1。如图所示:
将两个估计和素数计数函数的比率收敛到 1,其中 x = 10,000
Gamma 函数
自丹尼尔·伯努利和克里斯蒂安·哥德巴赫在 1720 年代研究如何将阶乘函数扩展到非整数参数的问题以来,Gamma 函数 Γ(z) 一直是一个重要的研究对象。它是阶乘函数 n!(1×2×3×4×5×...×n)延拓后向下移1:
Gamma 函数,在 z 上定义
它的图像非常古怪:
Gamma 函数 Γ(z) 绘制在范围 -6 ≤ z ≤ 6 内
Gamma 函数 Γ(z) 在所有实部大于零的复数 z 上定义。你可能知道,复数是带虚部的一类数,写作 Re(z) + Im(z),其中 Re(z) 为实部(普通的实数),Im(z) 为虚部,以字母 i 表示。一个复数通常写成 z = σ + it 的形成,其中 σ 为实部,it 为虚部。复数非常有用,因为它们允许数学家和工程师求解和处理普通实数不允许的问题。视觉上,复数将传统的一维“数轴”扩展成二维“数平面”,称之为复平面,其中复数的实部绘制在 x 轴上,虚部绘制在 y 轴上。为了能够使用 Gamma 函数 Γ(z),通常将其形式重写为
Gamma 函数 Γ(z) 的函数关系
通过该恒等式可获得实部小于等于零的 z 的值。然而它不会给出负整数的值,因为它们没有定义(从技术上说它们是奇异点或简单的极点)。
Zeta 与 Gamma
zeta 函数与 Gamma 函数的联系由以下积分给出:
黎曼的工作
现在基础资源已经齐备,我们终于可以建立起素数与黎曼猜想之间的联系了。
德国数学家波恩哈德·黎曼,1826 年生于布列斯伦茨。师从高斯的黎曼发表了分析与几何领域的工作。他最大的贡献在微分几何领域,为后来爱因斯坦在广义相对论中使用的几何语言奠定了基础。
他在数论中唯一的成就,论文 Ueber die Anzahl der Primzahlen unter einer gegebenen Grösse,“论小于给定数值的素数个数”被认为是该领域中最重要的论文。他在短短四页中概述了:
- 黎曼 zeta 函数 ζ(s) 的定义,一个复值化的 zeta 函数;
- zeta 函数对于所有复数 s≠1 的解析延拓;
- 黎曼 xi 函数 ξ(s) 的定义,一个通过 Gamma 函数与黎曼 zeta 函数建立起联系的整函数;
- 黎曼 zeta 函数的两个函数方程的证明;
- 黎曼素数计数函数 J(x) 的定义,通过素数计数函数和莫比乌斯函数定义;
- 通过黎曼 zeta 函数的非平凡零点定义的黎曼素数计数函数,给出了一个明确的公式来计算小于给定数值的素数个数。
这是个令人难以置信的壮举!这种工程性和创造力大概从来没人见过。绝对惊人!
黎曼 zeta 函数
我们已经看到了欧拉在它的乘积公式中展示的素数个数与 zeta 函数之间的紧密联系。然而除了这种关联外,我们对它们的关系知道得并不多,而复数的引入则明确地展示了这二者之间是如何相互联系的。
黎曼是第一个对复变量 s 考虑 zeta 函数 ζ(s) 的人,其中 s = σ + it。
黎曼 zeta 函数对于 n,其中 s = σ + it 为复数,σ 和 t 均为实数。
被称为黎曼 zeta 函数的 ζ(s),是一个对所有实部大于 1 的复数(Re(s) > 1)解析(即有可定义的值)的无限级数,在这一区域内,它绝对收敛。
为了分析规则收敛区域(即复变量 s 的实部大于 1)以外的区域中的函数,该函数需要重新定义。黎曼通过对 Re(s) > 0 半平面中绝对收敛的函数进行解析延拓,成功地做到了这一点。
黎曼 zeta 函数的重写形式,其中 {x} = x -∣x∣
zeta 函数的新定义在除 s = 1 这一奇点/简单极点外的 Re(s) > 0 半平面上解析。 它在该定义域上叫做亚纯函数,因为它除了在简单极点s = 1处以外是全纯的(此定义域中每一个点的领域均可微分)。它也是被称为狄利克雷 L-函数的一个很好的例子。
黎曼在他的论文中并未就此止步。它用 Gamma 函数 Γ(z) 继续将他的 zeta 函数解析延拓到了整个复平面。为了保持本文的简洁,我不会在这里展示它的计算过程,但我强烈推荐你自己读一下,它展现了黎曼敏锐的直觉和高超的技术。它的方法利用了 Gamma 函数 Γ(z) 对复变量的积分形式和雅可比 theta 函数 ϑ(x),它们一同重写后会出现 zeta 函数。zeta 函数的解析式为:
对于整个复平面的一个函数式 zeta 方程,除了 s = 0 和 s = 1 两处奇点
在此形式中,可以看出 ψ(s) 项比 x 的任何次幂减少得更快,因此该积分对 s 的所有值收敛。甚至更进一步,黎曼注意到如果用 1-s 代替 s,那么大括号中的第一项是不变的。这样做之后,黎曼就移除了 s=0 和 s=1 两处极点,进一步扩展了此方程的用途,并定义了无奇点的黎曼 xi 函数:
黎曼 xi 函数 ξ(s)
黎曼 zeta 函数的零点
zeta 函数的根/零点(即当 ζ(s) = 0 时)可被分为两种类型,分别被称作黎曼 zeta 函数的“平凡”和“非平凡”零点。
实部 Re(s) < 0 时存在的零点
平凡零点即容易找到和解释的零点。它们在 zeta 函数的以下函数形式中最中意注意到:
黎曼的函数式 zeta 方程的一个变体
当正弦项为零时,该乘积亦为零。kπ 处均是如此。因此,例如对于负偶数 s = -2n,zeta 函数为零。然而对于正偶数 s = 2n,零点会与 Gamma 函数 Γ(z) 的极点抵消。这在原始的函数形式中更容易看到,若你将 s = 2n 代入,那么该项的第一部分会是未定义的。
因此,黎曼 zeta 在每个负偶数 s = -2n 处都有零点。它们是平凡零点,可在以下函数图像上看到:
标出了 s = -2, -4, -6 等平凡零点的黎曼 zeta 函数 ζ(s)
实部 Re(s) > 1 时存在的零点
从 zeta 的欧拉乘积表示中,我们立刻就会发现 ζ(s) 在 s 的实部大于 1 的区域内不能为零,因为如果其因子之一为零,则收敛的无穷大乘积只能为零,而素数无穷性的证明否定了这一点。
欧拉乘积公式
实部 0 ≤ Re(s) ≤ 1 时存在的零点
现在我们在 Re(s) < 0 的负半平面上找到了 zeta 的平凡零点,并展示了在 Re(s) > 1 的区域上不可能存在任何零点。然而在这两个区域之间,被称为临界带的区域,几百年来一直占据了分析数论的焦点。
黎曼 zeta 函数 ζ(s) 在区间-5 < Re < 2, 0 < Im < 60 内实部和虚部的图像
在上图中,我已经将 ζ(s) 函数的实部绘制成红色,虚部为蓝色。我们看到当s的实部为 -2 和 -4 时的两个零点在左下方。在0和1之间,我已经突出了临界带,并标出了 zeta 函数 ζ(s) 的实部和虚部相交的地方。它们是黎曼函数的非平凡零点。随着数值的升高,我们会看到更多零点,这两个看似随机的函数也随着s虚部的升高变得越来越稠密。
黎曼 zeta 函数 ζ(s) 在区间 -5 < Re < 2, 0 < Im < 100 内实部和虚部的图像
黎曼 xi 函数
我们已经将黎曼 xi 函数 ξ(s)(移除了奇点的函数方程版本,因此它在s的所有值上定义)定义为:
无奇点的黎曼 xi 函数
该函数满足关系
黎曼 xi 函数正负值之间的对称关系
这意味着该函数关于垂线 Re(s) = 1/2 对称,使得 ξ(1) = ξ(0)、ξ(2) = ξ(-1) 等等。
此函数关系(s 与 1-s 的对称性)与欧拉乘积公式一同显示了黎曼 xi 函数 ξ(s) 只在区间 0 ≤ Re(s) ≤ 1 内有零点。换句话说,黎曼 xi 函数的零点对应于黎曼 zeta 函数的零点。在某种意义上,黎曼 zeta 函数的临界线 R(s) = 1/2 对应于黎曼 xi 函数 ξ(s) 的实数线(Im(s) = 0)。
任何人只要一看上面这两张图表,立刻就能注意到黎曼 zeta 函数 ζ(s) 的非平凡零点(即 黎曼 xi 函数的零点)的实部 Re(s) 都等于 1/2。黎曼在他的论文中简要地提到了这种现象,这一简短的注解,最终将成为他最伟大的遗产之一。
黎曼猜想
黎曼 zeta 函数 ζ(s) 非平凡零点的实部 Re(s) = 1/2。
这是黎曼在他著名的论文中提出的未证明的推测的现代表述。它指出 zeta 在临界带 0 ≤ Re(s) ≤ 1 中的零点,即 ζ(s) = 0,均有实部 Re(s) = 1/2。若果真如此,那么所有 zeta 的非平凡零点均有形式 ζ(1/2 + it)。一个等价的表述(黎曼的原始表述)为黎曼 xi 函数ξ(s) 的根均为实数。在下图中,直线 Re(s) = 1/2 为横轴。ζ(s) 的实部 Re(s) 图像为红色,而虚部 Im(s) 图像为蓝色。非平凡零点为红蓝图像在横轴上的交点。
黎曼 zeta 函数在直线 Re(s) = 1/2 上的第一个非平凡零点
若黎曼猜想证明为真,则该函数的所有非平凡零点,即两图像的交点均会出现在该直线上。
相信黎曼猜想的理由
我们有很多理由相信黎曼关于 zeta 函数零点的猜想为真。对数学家而言,也许最吸引人的原因是它对于素数分布的意义。此猜想的数值验证到非常高的值时仍然为真。实际上,该猜想的数值证据已经足够强到在物理和化学这类领域中被视为经过实验验证了。然而,数学史上曾有几个推测,从数值上显示到非常高的值时为真,但仍然被证明是假的。德比夏尔(2004)讲述了斯奎斯数的故事,它给出了一个非常非常大的数值上界,否定了高斯的一个推测,即对数积分Li(x)总是大于素数计数函数。它被利特尔伍德不加反例地证否,然后表明它在非常非常大的斯奎斯数以上必定失效,该数为 10 的(10 的 (10 的 34 次方)次方)次方(10^(10^(10^34))),虽然高斯的猜想已经被证明有误,但要给出一个具体的例子仍远超现今的数值计算能力。对于黎曼猜想来说也是如此,它“只不过才”被验证了十的十二次方个非平凡零点而已。
黎曼 zeta 函数与素数
以黎曼猜想为真作为起点,黎曼开始研究其意义。他在论文中写道:“……很可能所有根都是实数。当然我们希望对此有一个严格的证明;经过一番短暂而徒劳的尝试后,我将它暂时搁置,因为它对我下的一个研究目标来说并不是必须的。”而他的下一个目标就是将 zeta 函数的零点与素数联系起来。回忆一下素数计数函数 π(x),它表示包括一个实数x以内的素数个数。黎曼用 π(x) 来定义他自己的素数计数函数,即黎曼素数计数函数 J(x)。它被定义为:
黎曼素数计数函数
首先注意到该函数并非无限。对于某些项,该计数函数将为零,因为在 x < 2 时没有素数。以 J(100) 为例,该函数由七项构成,因为第八项对于 100 会包含一个根 8,它约等于 1.778279...,因此该素数计数函数项为零,而其和为 J(100) = 28.5333...。与素数计数函数一样,黎曼素数计数函数 J(x) 也是一个阶跃函数,它按照以下规则增加:
黎曼素数计数函数可能的值
为了将 J(x) 的值与到包括 x 以内素数的个数联系起来,我们通过一个被称作莫比乌斯反演的过程(我不会在这展示它)恢复素数计数函数。其结果表达式为
素数计数函数 π(x) 以及它与黎曼素数计数函数和莫比乌斯函数 μ(n) 的关系
还记得莫比乌斯函数可能的值为
莫比乌斯函数 μ(n) 的三个可能的值
这意味着我们现在可以将素数计数函数写成一个关于黎曼素数计数函数的函数:
素数计数函数写成关于黎曼素数计数函数的函数,对于前七个n值的图像
这个新的表达式仍然是个有限求和,因为当 x < 2 时 J(x) 为零,毕竟没有素数小于 2。若我们现在考察 J(100) 这个例子,会得到和式
素数计数函数对于 x = 100
我们得到的就是 100 以内素数的个数。
欧拉乘积公式的变换
接下来,黎曼以欧拉乘积公式作为起点,推导出一种用微积分的微分语言来分析求解素数个数的方法。从欧拉乘积公式开始:
欧拉乘积公式对于前五个素数的图像
首先两边取对数,然后重写括号中的分母,他推导出关系
欧拉乘积公式的对数重写形式
然后,它用著名的麦克劳林-泰勒级数展开了右边的每一个对数项,创造出一个无限和的无限和,其中每一个无限和都对应于素数级数中的每一项。
对数欧拉乘积公式前四项的泰勒展开
观察其中一项,如:
1/3^s 的麦克劳林展开的第二项
这一项,以及其它所有的项都可以用微积分表示成 J(x) 函数下区域的一部分。写成积分形式:
1/3^s 的麦克劳林展开的第二项的积分形式
换句话说,通过欧拉乘积公式,黎曼展示了可以将离散的素数计数函数表示成连续的积分求和。我们的示例项在下图中展现为黎曼素数计数函数下区域的一部分。
黎曼素数计数函数 J(x) 绘制到 x = 50,两个积分已标出
因此,组成了欧拉乘积公式的素数倒数级数的无限积中的每个表达式都可以表示为积分,以此来创建对应于黎曼素计数函数下面积的积分的无穷和。对于素数 3,这个积分的无限积为:
由整数 3 表示的素数计数函数下构成的区域积分的无穷积
将所有这些无穷和集成一个积分,那么黎曼素数计数函数 J(x) 下的积分可以简写为:
zeta 的对数,表示为积分的无穷级数
或者,更受欢迎的形式:
现代等价的欧拉乘积公式,将 zeta 函数与黎曼素数计数函数联系起来
黎曼用微积分的语言,通过这种方法将他的 zeta 函数 ζ(s) 与他的黎曼素数计数函数 J(x) 连接在一个等价于欧拉乘积公式的恒等式中。
误差项
在他得到欧拉乘积公式的分析版本后,黎曼接下来继续创造他自己的素数定理。他给出的明确形式是:
“黎曼素数定理”猜测的在一给定数量 x 以内的素数个数
这就是黎曼的明确公式。它是对素数定理的改进,能更准确地估计数字 x 及以内存在多少个素数。该公式有四个项:
- 第一项,或“主项”为对数积分 Li(x),它是根据素数定理对素数计数函数 π(x) 更好的估计。它是目前为止最大的项,并且像我们之前看到的那样,它高估了多少包含给定值x以内的素数个数。
- 第二项,或“周期项”为 x 的 ρ 次幂对 ρ 的对数积分求和(原图误为 p,感谢 指正),它是 zeta 函数的非平凡零点。它用来调整主项高估的项。
- 第三项为常量 -log(2) = -0.6993147...
- 第四项,即最后一项是在 x < 2 上为零的积分,因为没有素数小于 2。当该积分约等于0.1400101... 时,它在2处有最大值 。
当该函数的值增大时,后两项的贡献是无穷小的。大数的主要“贡献者”是对数积分与周期和。影响见下图:
通过黎曼素数计数函数 J(x) 的明确公式使用黎曼 zeta 函数的前 35 个非平凡零点 ρ 来近似素数计步函数 π(x)
在上图中,我们通过黎曼素数计数函数 J(x) 的明确公示近似了素数计数函数 π(x),并对 zeta 函数 ζ(s) 的前 35 个非平凡零点求和。我们看到周期项会导致该函数“谐振”并开始接近素数计数函数 π(x) 的形状。 以下为使用了更多非平凡零点的同一图像。
通过黎曼素数计数函数 J(x) 的明确公式用黎曼 zeta 函数的前 100 个非平凡零点 ρ 来近似素数计步函数 π(x)
使用黎曼的显式函数,可以将包括给定数值x以内的素数近似到非常高的精度。实际上,冯·柯赫在 1901 年证明,使用黎曼猜想的零点来校正对数积分函数,等价于素数定理中误差项的“最佳可能”边界。
“……这些零点就像电线杆,而黎曼 zeta 函数的特殊性质严格决定了电线必须串连在它们之间……”
— Dan Rockmore
结语
自 1866 年黎曼 39 岁去世以来,他的突破性论文已经成为素数和分析数论领域的里程碑。到目前为止,尽管伟大的数学家们进行了数百年广泛的研究,然而关于黎曼 zeta 函数非平凡零点的黎曼猜想仍未解决。每年都会出版与此猜想有关的许多新的结果和猜想,希望有一天它能够确实地得到证明。
本文是 Jørgen Veisdal 2013 年本科毕业论文的重写。论文中引用了很多参考文献,我对此深表感谢,完整论文可从此处下载。
对于有兴趣进一步探索本主题的人,我特别推荐 John Derbyshire 的 ‘Prime Obsession’ 一书。
译注
译者本人非数学专业,英语刚蹭过四级,所以文中大概存在相当多的翻译和理解问题。若有发现此类问题,恳请斧正。(咱不翻译文章,只是Google翻译+词典的搬运工= =||)
本文已征得原作者 Jørgen Veisdal 翻译授权,译文采用 CC-BY-SA 4.0 方式共享。
黎曼的工作
现在基础资源已经齐备,我们终于可以建立起素数与黎曼猜想之间的联系了。
德国数学家波恩哈德·黎曼,1826 年生于布列斯伦茨。师从高斯的黎曼发表了分析与几何领域的工作。他最大的贡献在微分几何领域,为后来爱因斯坦在广义相对论中使用的几何语言奠定了基础。
他在数论中唯一的成就,论文 Ueber die Anzahl der Primzahlen unter einer gegebenen Grösse,“论小于给定数值的素数个数”被认为是该领域中最重要的论文。他在短短四页中概述了:
- 黎曼 zeta 函数 ζ(s) 的定义,一个复值化的 zeta 函数;
- zeta 函数对于所有复数 s≠1 的解析延拓;
- 黎曼 xi 函数 ξ(s) 的定义,一个通过 Gamma 函数与黎曼 zeta 函数建立起联系的整函数;
- 黎曼 zeta 函数的两个函数方程的证明;
- 黎曼素数计数函数 J(x) 的定义,通过素数计数函数和莫比乌斯函数定义;
- 通过黎曼 zeta 函数的非平凡零点定义的黎曼素数计数函数,给出了一个明确的公式来计算小于给定数值的素数个数。
这是个令人难以置信的壮举!这种工程性和创造力大概从来没人见过。绝对惊人!
黎曼 zeta 函数
我们已经看到了欧拉在它的乘积公式中展示的素数个数与 zeta 函数之间的紧密联系。然而除了这种关联外,我们对它们的关系知道得并不多,而复数的引入则明确地展示了这二者之间是如何相互联系的。
黎曼是第一个对复变量 s 考虑 zeta 函数 ζ(s) 的人,其中 s = σ + it。
黎曼 zeta 函数对于 n,其中 s = σ + it 为复数,σ 和 t 均为实数。
被称为黎曼 zeta 函数的 ζ(s),是一个对所有实部大于 1 的复数(Re(s) > 1)解析(即有可定义的值)的无限级数,在这一区域内,它绝对收敛。
为了分析规则收敛区域(即复变量 s 的实部大于 1)以外的区域中的函数,该函数需要重新定义。黎曼通过对 Re(s) > 0 半平面中绝对收敛的函数进行解析延拓,成功地做到了这一点。
黎曼 zeta 函数的重写形式,其中 {x} = x -∣x∣
zeta 函数的新定义在除 s = 1 这一奇点/简单极点外的 Re(s) > 0 半平面上解析。 它在该定义域上叫做亚纯函数,因为它除了在简单极点s = 1处以外是全纯的(此定义域中每一个点的领域均可微分)。它也是被称为狄利克雷 L-函数的一个很好的例子。
黎曼在他的论文中并未就此止步。它用 Gamma 函数 Γ(z) 继续将他的 zeta 函数解析延拓到了整个复平面。为了保持本文的简洁,我不会在这里展示它的计算过程,但我强烈推荐你自己读一下,它展现了黎曼敏锐的直觉和高超的技术。它的方法利用了 Gamma 函数 Γ(z) 对复变量的积分形式和雅可比 theta 函数 ϑ(x),它们一同重写后会出现 zeta 函数。zeta 函数的解析式为:
对于整个复平面的一个函数式 zeta 方程,除了 s = 0 和 s = 1 两处奇点
在此形式中,可以看出 ψ(s) 项比 x 的任何次幂减少得更快,因此该积分对 s 的所有值收敛。甚至更进一步,黎曼注意到如果用 1-s 代替 s,那么大括号中的第一项是不变的。这样做之后,黎曼就移除了 s=0 和 s=1 两处极点,进一步扩展了此方程的用途,并定义了无奇点的黎曼 xi 函数:
黎曼 xi 函数 ξ(s)
黎曼 zeta 函数的零点
zeta 函数的根/零点(即当 ζ(s) = 0 时)可被分为两种类型,分别被称作黎曼 zeta 函数的“平凡”和“非平凡”零点。
实部 Re(s) < 0 时存在的零点
平凡零点即容易找到和解释的零点。它们在 zeta 函数的以下函数形式中最中意注意到:
黎曼的函数式 zeta 方程的一个变体
当正弦项为零时,该乘积亦为零。kπ 处均是如此。因此,例如对于负偶数 s = -2n,zeta 函数为零。然而对于正偶数 s = 2n,零点会与 Gamma 函数 Γ(z) 的极点抵消。这在原始的函数形式中更容易看到,若你将 s = 2n 代入,那么该项的第一部分会是未定义的。
因此,黎曼 zeta 在每个负偶数 s = -2n 处都有零点。它们是平凡零点,可在以下函数图像上看到:
标出了 s = -2, -4, -6 等平凡零点的黎曼 zeta 函数 ζ(s)
实部 Re(s) > 1 时存在的零点
从 zeta 的欧拉乘积表示中,我们立刻就会发现 ζ(s) 在 s 的实部大于 1 的区域内不能为零,因为如果其因子之一为零,则收敛的无穷大乘积只能为零,而素数无穷性的证明否定了这一点。
欧拉乘积公式
实部 0 ≤ Re(s) ≤ 1 时存在的零点
现在我们在 Re(s) < 0 的负半平面上找到了 zeta 的平凡零点,并展示了在 Re(s) > 1 的区域上不可能存在任何零点。然而在这两个区域之间,被称为临界带的区域,几百年来一直占据了分析数论的焦点。
黎曼 zeta 函数 ζ(s) 在区间-5 < Re < 2, 0 < Im < 60 内实部和虚部的图像
在上图中,我已经将 ζ(s) 函数的实部绘制成红色,虚部为蓝色。我们看到当s的实部为 -2 和 -4 时的两个零点在左下方。在0和1之间,我已经突出了临界带,并标出了 zeta 函数 ζ(s) 的实部和虚部相交的地方。它们是黎曼函数的非平凡零点。随着数值的升高,我们会看到更多零点,这两个看似随机的函数也随着s虚部的升高变得越来越稠密。
黎曼 zeta 函数 ζ(s) 在区间 -5 < Re < 2, 0 < Im < 100 内实部和虚部的图像
黎曼 xi 函数
我们已经将黎曼 xi 函数 ξ(s)(移除了奇点的函数方程版本,因此它在s的所有值上定义)定义为:
无奇点的黎曼 xi 函数
该函数满足关系
黎曼 xi 函数正负值之间的对称关系
这意味着该函数关于垂线 Re(s) = 1/2 对称,使得 ξ(1) = ξ(0)、ξ(2) = ξ(-1) 等等。
此函数关系(s 与 1-s 的对称性)与欧拉乘积公式一同显示了黎曼 xi 函数 ξ(s) 只在区间 0 ≤ Re(s) ≤ 1 内有零点。换句话说,黎曼 xi 函数的零点对应于黎曼 zeta 函数的零点。在某种意义上,黎曼 zeta 函数的临界线 R(s) = 1/2 对应于黎曼 xi 函数 ξ(s) 的实数线(Im(s) = 0)。
任何人只要一看上面这两张图表,立刻就能注意到黎曼 zeta 函数 ζ(s) 的非平凡零点(即 黎曼 xi 函数的零点)的实部 Re(s) 都等于 1/2。黎曼在他的论文中简要地提到了这种现象,这一简短的注解,最终将成为他最伟大的遗产之一。
黎曼猜想
黎曼 zeta 函数 ζ(s) 非平凡零点的实部 Re(s) = 1/2。
这是黎曼在他著名的论文中提出的未证明的推测的现代表述。它指出 zeta 在临界带 0 ≤ Re(s) ≤ 1 中的零点,即 ζ(s) = 0,均有实部 Re(s) = 1/2。若果真如此,那么所有 zeta 的非平凡零点均有形式 ζ(1/2 + it)。一个等价的表述(黎曼的原始表述)为黎曼 xi 函数ξ(s) 的根均为实数。在下图中,直线 Re(s) = 1/2 为横轴。ζ(s) 的实部 Re(s) 图像为红色,而虚部 Im(s) 图像为蓝色。非平凡零点为红蓝图像在横轴上的交点。
黎曼 zeta 函数在直线 Re(s) = 1/2 上的第一个非平凡零点
若黎曼猜想证明为真,则该函数的所有非平凡零点,即两图像的交点均会出现在该直线上。
相信黎曼猜想的理由
我们有很多理由相信黎曼关于 zeta 函数零点的猜想为真。对数学家而言,也许最吸引人的原因是它对于素数分布的意义。此猜想的数值验证到非常高的值时仍然为真。实际上,该猜想的数值证据已经足够强到在物理和化学这类领域中被视为经过实验验证了。然而,数学史上曾有几个推测,从数值上显示到非常高的值时为真,但仍然被证明是假的。德比夏尔(2004)讲述了斯奎斯数的故事,它给出了一个非常非常大的数值上界,否定了高斯的一个推测,即对数积分Li(x)总是大于素数计数函数。它被利特尔伍德不加反例地证否,然后表明它在非常非常大的斯奎斯数以上必定失效,该数为 10 的(10 的 (10 的 34 次方)次方)次方(10^(10^(10^34))),虽然高斯的猜想已经被证明有误,但要给出一个具体的例子仍远超现今的数值计算能力。对于黎曼猜想来说也是如此,它“只不过才”被验证了十的十二次方个非平凡零点而已。
黎曼 zeta 函数与素数
以黎曼猜想为真作为起点,黎曼开始研究其意义。他在论文中写道:“……很可能所有根都是实数。当然我们希望对此有一个严格的证明;经过一番短暂而徒劳的尝试后,我将它暂时搁置,因为它对我下的一个研究目标来说并不是必须的。”而他的下一个目标就是将 zeta 函数的零点与素数联系起来。回忆一下素数计数函数 π(x),它表示包括一个实数x以内的素数个数。黎曼用 π(x) 来定义他自己的素数计数函数,即黎曼素数计数函数 J(x)。它被定义为:
黎曼素数计数函数
首先注意到该函数并非无限。对于某些项,该计数函数将为零,因为在 x < 2 时没有素数。以 J(100) 为例,该函数由七项构成,因为第八项对于 100 会包含一个根 8,它约等于 1.778279...,因此该素数计数函数项为零,而其和为 J(100) = 28.5333...。与素数计数函数一样,黎曼素数计数函数 J(x) 也是一个阶跃函数,它按照以下规则增加:
黎曼素数计数函数可能的值
为了将 J(x) 的值与到包括 x 以内素数的个数联系起来,我们通过一个被称作莫比乌斯反演的过程(我不会在这展示它)恢复素数计数函数。其结果表达式为
素数计数函数 π(x) 以及它与黎曼素数计数函数和莫比乌斯函数 μ(n) 的关系
还记得莫比乌斯函数可能的值为
莫比乌斯函数 μ(n) 的三个可能的值
这意味着我们现在可以将素数计数函数写成一个关于黎曼素数计数函数的函数:
素数计数函数写成关于黎曼素数计数函数的函数,对于前七个n值的图像
这个新的表达式仍然是个有限求和,因为当 x < 2 时 J(x) 为零,毕竟没有素数小于 2。若我们现在考察 J(100) 这个例子,会得到和式
素数计数函数对于 x = 100
我们得到的就是 100 以内素数的个数。
欧拉乘积公式的变换
接下来,黎曼以欧拉乘积公式作为起点,推导出一种用微积分的微分语言来分析求解素数个数的方法。从欧拉乘积公式开始:
欧拉乘积公式对于前五个素数的图像
首先两边取对数,然后重写括号中的分母,他推导出关系
欧拉乘积公式的对数重写形式
然后,它用著名的麦克劳林-泰勒级数展开了右边的每一个对数项,创造出一个无限和的无限和,其中每一个无限和都对应于素数级数中的每一项。
对数欧拉乘积公式前四项的泰勒展开
观察其中一项,如:
1/3^s 的麦克劳林展开的第二项
这一项,以及其它所有的项都可以用微积分表示成 J(x) 函数下区域的一部分。写成积分形式:
1/3^s 的麦克劳林展开的第二项的积分形式
换句话说,通过欧拉乘积公式,黎曼展示了可以将离散的素数计数函数表示成连续的积分求和。我们的示例项在下图中展现为黎曼素数计数函数下区域的一部分。
黎曼素数计数函数 J(x) 绘制到 x = 50,两个积分已标出
因此,组成了欧拉乘积公式的素数倒数级数的无限积中的每个表达式都可以表示为积分,以此来创建对应于黎曼素计数函数下面积的积分的无穷和。对于素数 3,这个积分的无限积为:
由整数 3 表示的素数计数函数下构成的区域积分的无穷积
将所有这些无穷和集成一个积分,那么黎曼素数计数函数 J(x) 下的积分可以简写为:
zeta 的对数,表示为积分的无穷级数
或者,更受欢迎的形式:
现代等价的欧拉乘积公式,将 zeta 函数与黎曼素数计数函数联系起来
黎曼用微积分的语言,通过这种方法将他的 zeta 函数 ζ(s) 与他的黎曼素数计数函数 J(x) 连接在一个等价于欧拉乘积公式的恒等式中。
误差项
在他得到欧拉乘积公式的分析版本后,黎曼接下来继续创造他自己的素数定理。他给出的明确形式是:
“黎曼素数定理”猜测的在一给定数量 x 以内的素数个数
这就是黎曼的明确公式。它是对素数定理的改进,能更准确地估计数字 x 及以内存在多少个素数。该公式有四个项:
- 第一项,或“主项”为对数积分 Li(x),它是根据素数定理对素数计数函数 π(x) 更好的估计。它是目前为止最大的项,并且像我们之前看到的那样,它高估了多少包含给定值x以内的素数个数。
- 第二项,或“周期项”为 x 的 ρ 次幂对 ρ 的对数积分求和(原图误为 p,感谢 指正),它是 zeta 函数的非平凡零点。它用来调整主项高估的项。
- 第三项为常量 -log(2) = -0.6993147...
- 第四项,即最后一项是在 x < 2 上为零的积分,因为没有素数小于 2。当该积分约等于0.1400101... 时,它在2处有最大值 。
当该函数的值增大时,后两项的贡献是无穷小的。大数的主要“贡献者”是对数积分与周期和。影响见下图:
通过黎曼素数计数函数 J(x) 的明确公式使用黎曼 zeta 函数的前 35 个非平凡零点 ρ 来近似素数计步函数 π(x)
在上图中,我们通过黎曼素数计数函数 J(x) 的明确公示近似了素数计数函数 π(x),并对 zeta 函数 ζ(s) 的前 35 个非平凡零点求和。我们看到周期项会导致该函数“谐振”并开始接近素数计数函数 π(x) 的形状。 以下为使用了更多非平凡零点的同一图像。
通过黎曼素数计数函数 J(x) 的明确公式用黎曼 zeta 函数的前 100 个非平凡零点 ρ 来近似素数计步函数 π(x)
使用黎曼的显式函数,可以将包括给定数值x以内的素数近似到非常高的精度。实际上,冯·柯赫在 1901 年证明,使用黎曼猜想的零点来校正对数积分函数,等价于素数定理中误差项的“最佳可能”边界。
“……这些零点就像电线杆,而黎曼 zeta 函数的特殊性质严格决定了电线必须串连在它们之间……”
— Dan Rockmore
结语
自 1866 年黎曼 39 岁去世以来,他的突破性论文已经成为素数和分析数论领域的里程碑。到目前为止,尽管伟大的数学家们进行了数百年广泛的研究,然而关于黎曼 zeta 函数非平凡零点的黎曼猜想仍未解决。每年都会出版与此猜想有关的许多新的结果和猜想,希望有一天它能够确实地得到证明。
本文是 Jørgen Veisdal 2013 年本科毕业论文的重写。论文中引用了很多参考文献,我对此深表感谢,完整论文可从此处下载。
对于有兴趣进一步探索本主题的人,我特别推荐 John Derbyshire 的 ‘Prime Obsession’ 一书。
译注
译者本人非数学专业,英语刚蹭过四级,所以文中大概存在相当多的翻译和理解问题。若有发现此类问题,恳请斧正。(咱不翻译文章,只是Google翻译+词典的搬运工= =||)
本文已征得原作者 Jørgen Veisdal 翻译授权,译文采用 CC-BY-SA 4.0 方式共享。