← 返回读本目录
九章格数学 PhiloMath · K2C · 抽象代数配套

环论专题读本 · 其二

高斯整环:范数即「大小」,欧氏算法的第二个家

环论专题读本 · 其二《代数学基础(下·第 2 版)》第二章补充读物

本册定位。 其一把 ℤ 与 F[x] 并排摆开,看见「带余除法」这条公理如何撑起整除、互素与唯一分解。本册把同一个故事搬到一张复平面上的方格纸上:高斯整数 ℤ[i] = {a + bi : a, b ∈ ℤ}——实部虚部都取整数的复数。它是「二次整环」里最简单也最漂亮的一个:装备范数 N(a + bi) = a2 + b2(复平面上到原点距离的平方)之后,它也是欧氏环,于是其一的整台机器照常运转:辗转相除、互素、唯一分解。本册的战利品是费马两平方和定理——「素数 p 能写成两个平方数之和,当且仅当 p ≡ 1 (mod 4)」——这条 1640 年的猜想直到 1749 年才被欧拉证明,而在 ℤ[i] 的语言里它只是一个「范数因子分解」的一行陈述。

一高斯整数:把整数搬进复平面

定义 1.1(高斯整数)。 ℤ[i] = {a + bi : a, b ∈ ℤ},i2 = −1。加法按分量相加,乘法按 (a + bi)(c + di) = (ac − bd) + (ad + bc)i。

它对加、减、乘封闭(乘法展开后各系数都是整数的组合),因此是 ℂ 的子环;交换、含幺 1。它不是域——2 + 0i 的逆 ½ ∉ ℤ[i]。但它比 ℤ「多」了一点:虚部给了它一张二维格的几何面孔。这张几何面孔正是本册一切论证的引擎。

定义 1.2(范数)。 N(a + bi) = a2 + b2 = (a + bi)(a − bi)。

范数三条基本性质,全部一行验证:

① N(z) = 0 ⟺ z = 0;② N(zw) = N(z)N(w)(乘性,直接展开);③ N(z) ≥ 1 对一切非零 z(因为 a2 + b2 是正整数和)。

性质 ②③ 合起来说:范数把「整除问题」翻译成「正整数问题」。若 z | w(在 ℤ[i] 中),则 N(z) | N(w)(在 ℤ 中)——环论的整除被范数压成了数论的整除。这就是本册反复使用的「降维打击」。

例 1.3(单位)。 U(ℤ[i]) = {1, −1, i, −i}。因为 N(z) = 1 ⟺ a2 + b2 = 1 ⟺ (a, b) = (±1, 0), (0, ±1),恰好四个点;它们构成 4 阶循环群(脚本 A1 验证 u4 = 1 对全部四个单位成立)。对照:U(ℤ) = {±1} 只有 2 个元——ℤ[i] 的单位群大了,纯粹因为格是二维的。

二带余除法:最近整点与欧氏算法

定理 2.1(ℤ[i] 的带余除法)。 设 z, w ∈ ℤ[i],w ≠ 0,则存在 q, r ∈ ℤ[i] 使

z = wq + r, N(r) < N(w)。

证明(几何一瞥)。 把 z/w 算出来(在 ℂ 里),得到一个点;找它附近的最近格点 q(可能不止一个,任取)。则 r = z − wq 的几何意义是「从格点 q 出发沿 w 方向量到 z 的剩余」,其长度 |r| = |w| · |z/w − q|,而格点到最近格点的距离不超过半格步长 √2/2,故 |r| ≤ |w|·√2/2 < |w|,即 N(r) < N(w)。□

这段证明是「范数即大小」的教科书演示:带余除法不再靠「竖式」,而靠复平面的几何——整点格足够密,任何点附近总有一个整点,余数永远比除数短。这正是「欧氏环」定义的精髓:只要存在一个「良序下降」的范数,算法就能跑。

数值注记(B 组)。 脚本在 −30..30 × −8..8 的格点上随机抽 400 对 (z, w),逐一验证 z = wq + r 且 N(r) < N(w);又对 120 对随机元跑辗转相除,全部终止(脚本 B2)。带余除法在 ℤ[i] 上不是侥幸成立,而是每一步都有几何保证。

算法 2.2(高斯辗转相除)。 与 ℤ 完全同构:令 (z, w) ← (w, z mod w),直到 w = 0。

案例(脚本 F 组)。 求 gcd(55 + 22i, 16 + 9i):

55 + 22i = (16 + 9i)·3 + (7 − 5i)

16 + 9i = (7 − 5i)(1 + 2i) + (−1 + 0i)

7 − 5i = (−1)·(−7 + 5i) + 0

三步收敛到单位 −1——即 55 + 22i 与 16 + 9i 互素。再看一个非平凡的:gcd(7 + 7i, 2 + 2i) 两步到 −(1 + i)(范数 2),即 1 + i 整除两者而更大的公因子不存在。这些案例与其一的 ℤ 案例形状完全一致——唯一区别是商与余数都变成了复数。

三高斯素数:三类分家

定义 3.1(高斯素数)。 ℤ[i] 中非零非单位的 z 称为高斯素数,若 z | zw'(另一元 w')时必有 z | w 或 z | w';等价地,z 的因子只有单位与相伴元。

范数把高斯素数分成三类,分类由有理素数 p mod 4 决定:

类型

条件

例子

在 ℤ[i] 中的样子

p = 2(分歧)

p = 2

2 = (1+i)(1−i) = −i(1+i)2

(1+i) 的平方(差一个单位)

p ≡ 1 (mod 4)(分裂)

p = a2 + b2

5 = 12+22, 13 = 22+32, 17 = 12+42

p = (a+bi)(a−bi),两个共轭素数

p ≡ 3 (mod 4)(惯性)

不可写成两平方和

3, 7, 11, 19, 23, 31, …

p 本身仍是高斯素数

这张表的每一行都能用范数一行验证:

① 2 = −i(1+i)2:N(1+i) = 2,1 + i 的平方(配单位)是 2——范数 2 的素数「自我分裂」。

② p ≡ 1 (mod 4):设 p = a2 + b2(存在性见第五节),则 p = (a + bi)(a − bi),且 N(a ± bi) = p。a ± bi 都不是单位(范数 p > 1),故 p 在 ℤ[i] 中可约——它分裂成一对共轭高斯素数。

③ p ≡ 3 (mod 4):若 p = zw,则 N(z)N(w) = p。素数 p 的正因子只有 1 与 p,故 N(z) = 1 或 N(w) = 1——即 z 或 w 是单位。故 p 在 ℤ[i] 中仍素。

数值注记(C 组)。 脚本对 p ≤ 100 的全部素数分类:分歧 {2};分裂 11 个(5, 13, 17, 29, 37, 41, 53, 61, 73, 89, 97),每个都配出 (a, b);惯性 13 个(3, 7, 11, 19, 23, 31, 43, 47, 59, 67, 71, 79, 83)。两类几乎各占一半(11 对 13),这正是狄利克雷定理「p ≡ 1 与 p ≡ 3 (mod 4) 的素数渐近各半」的有限样本显影——短样本里 p ≡ 3 略占先,差距在渐近意义下抹平。

推论 3.2(哪些数能写成两个平方和)。 n 能写成两个平方数之和,当且仅当 n 的标准分解中,每个 p ≡ 3 (mod 4) 的素因子都出现偶数次。理由:在 ℤ[i] 中 n = zw 当且仅当 n 的「惯性素因子」能配成共轭对——这正是唯一分解在 ℤ[i] 中的直接读法(其三的主题)。

四唯一分解在 ℤ[i] 里成立

其一已见:欧氏环 ⟹ 唯一分解(其三给出完整证明)。于是 ℤ[i] 中每个非零非单位元都能唯一写成高斯素数之积(相伴与次序不计)。这件事立刻给出两平方和定理的完整面貌:

定理 4.1(两平方和表示的计数)。 记 r2(n) = #{(a, b) ∈ ℤ2 : a2 + b2 = n},d1(n)、d3(n) 分别为 n 的 ≡ 1、≡ 3 (mod 4) 的正因子个数。则

r2(n) = 4(d1(n) − d3(n))。

证明思路. ℤ[i] 中每个范数为 n 的元 z = a + bi 对应一个表示 (a, b)。把 z 的素因子分解写出来:范数 n 的元恰好是「从每个素数的共轭对中各挑一个」的组合,计数由二项式系数给出;惯性素因子必须成对出现,否则范数积无法等于 n——这就是 d1 − d3 的来源。固定因子 4 来自单位群(4 个单位元把同一个 |a|,|b| 解各数一遍)。□

数值注记(D 组)。 脚本对 n = 1..200 暴力计数 r2(n)(枚举 (a, b)),再按公式 4(d1 − d3) 算出预测值,两百组全部吻合;素数版对 p ≤ 400 验证:p ≡ 1 (mod 4) ⟺ r2(p) = 8(恰 8 种表示:(±a, ±b) 与 (±b, ±a) 各 4 种),p ≡ 3 (mod 4) ⟺ r2(p) = 0。费马两平方和定理在 400 以内无一例外。

例 4.2(分裂素数的样子)。 13 = 22 + 32 = (3 + 2i)(3 − 2i);17 = 12 + 42;97 = 42 + 92 = (9 + 4i)(9 − 4i)。反之 3、7、11 无论怎么试都拆不开——不是运气差,是模 4 的剩余类把它们锁死了。

五费马两平方和定理:ℤ[i] 视角下的一行证明

定理 5.1(Fermat 两平方和,Euler 1749 证明)。 设 p 为奇素数。p = a2 + b2(a, b ∈ ℤ)当且仅当 p ≡ 1 (mod 4)。

必要性. 若 p = a2 + b2,则 (a/b)2 ≡ −1 (mod p)(b 可逆,因 p ∤ b——否则 a2 ≡ p2 ≡ 0 ⟹ p | a 矛盾)。于是 −1 是模 p 的二次剩余。由欧拉判据 (−1)(p−1)/2 ≡ −1 的二次剩余性 (mod p),故 (p−1)/2 为偶数,即 p ≡ 1 (mod 4)。□

充分性(ℤ[i] 一行版). p ≡ 1 (mod 4) ⟹ −1 是模 p 的二次剩余(欧拉判据),即存在 t 使 t2 ≡ −1 (mod p)。于是 p | t2 + 1 = (t + i)(t − i) 在 ℤ[i] 中。若 p 是高斯素数,欧几里得引理给 p | (t+i) 或 p | (t−i),但 p 整除 a + bi 当且仅当 p | a 且 p | b(实部虚部都要)——而 p ∤ 1。矛盾。故 p 在 ℤ[i] 中可约,由第三节分类只能是 p = (a+bi)(a−bi),展开得 p = a2 + b2。□

这段证明值得慢读一遍:全部难度都被「ℤ[i] 是唯一分解环」这个代数事实吸收了。欧拉当年的证明花了几百页的归纳;在 ℤ[i] 的语言里,难点变成「p 不是高斯素数」这一个反证,而反证只用到欧几里得引理。这是「好的代数结构让定理变短」的最佳教学案例之一。

历史注记. 费马 1640 年在给梅森的信里陈述了这条定理(如常地没给证明),欧拉 1749 年用归纳法补出完整证明,历时 109 年。高斯 1832 年在《双二次剩余》论文中系统引入 ℤ[i](今天它以他命名),把两平方和、四次互反律统一成「在更大的环里做因子分解」——本册正是这篇论文的入门材料。

六范数、格与「大小」的几何

ℤ[i] 的范数在复平面上就是「到原点距离的平方」。画出来:N = 1 的点是 4 个单位元;N = 2 的点是 (±1, ±1) 四个点(全部相伴于 1 + i,故 ℤ[i] 中范数 2 的素数本质上只有一个:1 + i);N = 5 的点是 (±1, ±2)、(±2, ±1) 八个点(分成两对共轭素数 ±1±2i 与 ±2±i)。

这个几何视角解释了带余除法为什么总能做:格点 ℤ[i] 在复平面上铺成正方形网格,任何点 z/w 到最近格点的距离 ≤ √2/2(半对角线),这正是定理 2.1 中「N(r) < N(w)」的来源。格的密度 = 欧氏性质。对照:ℤ[√−5] 的格是长方形(基 1 与 √−5),密度更疏,带余除法不再成立——这正是其三将看到的「不是 UFD」的几何前兆。范数函数不只是记账工具,它是环的「形状」。

注 6.1(欧氏范数不唯一)。 ℤ[i] 的范数 N(z) = a2 + b2 是最自然的,但不是唯一的欧氏范数;事实上 ℤ[i] 上可以造出更「小」的欧氏函数(Motzkin 1949 起的研究)。本册统一用标准范数——它同时承担「带余除法的下降函数」与「两平方和的计数」两个角色,一石二鸟。

注 2.4(「最近整点」的唯一性差一口气)。 带余除法的唯一性在 ℤ[i] 里要打个折扣:到格点 L 的最近整点可以不止一个(距离并列时),此时商允许差一个单位。这不影响欧氏算法的运转——每步范数严格下降就够——但解释了为什么 ℤ[i] 的带余除法只保证「存在」而不保证「唯一」。剧本 B1 的 400 组随机带余除法里,脚本取任一最近整点,欧氏算法照常在有限步内终止(例如 gcd(55 + 22i, 16 + 9i) 三步降到范数 1)。

数值注记(D 组)。 定理与公式都上了机:r2(n) = 4(d1(n) − d3(n)) 对 n = 1, …, 200 逐个核对通过,其中 d1、d3 分别是 n 的模 4 余 1、余 3 因子个数。前 16 个自然数的表示数:

n

1

2

3

4

5

6

7

8

r2(n)

4

4

0

4

8

0

0

4

n

9

10

11

12

13

14

15

16

r2(n)

4

8

0

0

8

0

0

4

读法:表中的 0 全部来自含惯性素因子的 n(3, 6, 7, 11, 12, 14, 15),4 的倍数来自单位群 {±1, ±i} 的旋转对称。两个更深的样本:r2(25) = 12((±5, 0) 一族 4 个,(±3, ±4) 与 (±4, ±3) 一族 8 个),r2(65) = 16(65 = 5 × 13 是两个分裂素数之积,挑选自由度更多)。公式把「两平方和」从存在性升级成了计数——这是 ℤ[i] 视角送给初等数论的礼物。

七ℤ[i] 里的欧几里得算法:一步一步看

带余除法既是算法,「最大公因子」就在 ℤ[i] 里获得了与 ℤ 中平行的定义与算法。剧本 F 组的两个完整算例值得并排看:

对照 ℤ 中「减损术 vs 除法」的历史教训(其一 E 组:1071 与 462 的减损要 11 步、除法只消 3 步),ℤ[i] 的欧氏算法每步都要做一次最近整点 rounding——范数下降快,收敛也快。几何上,每步带余除法就是「在格 ℤ[i] 里找离目标最近的格点」,最近整点允许差一个单位(注 2.4),故商与余数不唯一而范数下降严格——算法的正确性只依赖「大小」单调,不依赖选择的唯一性。这也是全体欧氏环共享的骨架(§2.8 的公理正是把这一步抽象化)。

注 7.1(贝祖恒等式照常营业)。 ℤ[i] 是欧氏环(§2.8),于是也是主理想环、贝祖环:任意两元 a, b 的最大公因子可写成 αa + βb。样本:对上面的第一对,1 = (−1) 恰好以「余数」的身份出现;一般情形的系数由回代过程给出,与 ℤ 中的扩展欧几里得算法逐字平行(其一 B 组的引擎在 𝔽p[x] 与 ℤ[i] 两个舞台复用同一套逻辑)。

八术语考古、三句话与阅读指引

8.1 名词与历史的来路

8.2 三句话总结

① ℤ[i] 是欧氏环:范数 N(a+bi) = a2+b2 让带余除法成立(几何上:格点够密,余数总比除数短),于是辗转相除、互素、唯一分解全部照搬其一的机器(400 组带余除法零违例)。

② 有理素数在 ℤ[i] 中按 p mod 4 分成三类:2 分歧(2 = −i(1+i)2)、p ≡ 1 (mod 4) 分裂(p = a2 + b2 成一对共轭素数)、p ≡ 3 (mod 4) 惯性(仍素);p ≤ 100 恰好 1 + 11 + 13 个。

③ 费马两平方和定理在 ℤ[i] 里是一行反证:p ≡ 1 (mod 4) 给出 t2 ≡ −1 (mod p),若 p 是高斯素数则欧几里得引理把 p 逼进死角;计数版 r2(n) = 4(d1 − d3) 在 n ≤ 200 全部对上——唯一分解不只是「好看」,它是丢番图方程的解码器。

8.3 阅读指引

《代数学基础(下·第 2 版)》第二章补充读物 · 环论专题读本其二 | 九章格数学 | 第 2 版 · 2026