很多数学概念的教法是「先给定义,再证性质,最后举例」。读者记住了定义,却不知道它为什么长这个样子。环论里的 理想 是典型:定义只有两条——对加减法封闭,乘以环里任何元素后还在里面——看起来平平无奇,第一次见很难想象它和「分解」有什么关系,更难想象它为什么叫「理想」。
这篇拿理想做例子,示范一种学概念的方法: 从一个具体问题出发,先用最朴素的办法去解,找出它错在哪里,修补这个错误,最后再给修补的过程起名字。 走完这几步,教科书上的定义就成了你自己推出来的结论。这个思路受 Timothy Y. Chow 的文章 You Could Have Invented Spectral Sequences(Notices of the AMS,2006)启发,那篇文章用同样的办法讲谱序列,原文链接附在文末。
方法:五个问题 步骤
问自己
在理想这里
1 找问题
这个概念要解决什么具体问题?
在比整数更大的「整数」里,分解还唯一吗
2 朴素尝试
不用任何新概念,最直接的办法是什么?
照搬整数的做法:一直拆到拆不动为止
3 找反例
朴素办法在哪个最小的例子上出错?错在哪?
Z [ − 5 ] \mathbb{Z}[\sqrt{-5}] Z [ − 5 ] 里的 6 6 6 就够了
4 修补并命名
怎样修正这个错误?修正能不能重复做下去?
不分解数本身,改为分解「一个数的全部倍数」
5 回看定义
教科书的每个符号,对应我走过的哪一步?
理想、素理想、理想的乘法
关键在第 3 步: 反例越小越好。 大的例子只能告诉你「不对」,小的例子才能告诉你「为什么不对」,而「为什么不对」就是新概念要做的事。
第一步:问题是什么 整数有一条从小就在用的性质: 每个大于 1 的整数都能分解成素数的乘积,而且分法唯一 (不计顺序)。很多数论问题都是靠它解决的。
一个常用的技巧,是把整数方程搬到更大的数系里做因式分解。比如 x 2 + y 2 x^2 + y^2 x 2 + y 2 在整数里分解不了,在高斯整数 Z [ i ] = { a + b i : a , b ∈ Z } \mathbb{Z}[i] = \{a + bi : a, b \in \mathbb{Z}\} Z [ i ] = { a + bi : a , b ∈ Z } 里却可以写成 ( x + i y ) ( x − i y ) (x+iy)(x-iy) ( x + i y ) ( x − i y ) 。高斯整数同样能唯一分解,由此可以推出哪些素数能写成两个平方数之和。
把同样的思路用到费马大定理上:设 n n n 是奇素数, ζ = e 2 π i / n \zeta = e^{2\pi i/n} ζ = e 2 π i / n ,那么
x n + y n = ( x + y ) ( x + ζ y ) ( x + ζ 2 y ) ⋯ ( x + ζ n − 1 y ) x^n + y^n = (x+y)(x+\zeta y)(x+\zeta^2 y)\cdots(x+\zeta^{n-1}y) x n + y n = ( x + y ) ( x + ζ y ) ( x + ζ 2 y ) ⋯ ( x + ζ n − 1 y ) 1847 年 3 月 1 日,Lamé 在巴黎科学院宣布,他用这个分解证明了费马大定理。Liouville 随即提出疑问:这个证明需要这类复数也能唯一分解,而他怀疑这并不成立。
于是问题变成: 在比整数更大的「整数」里,分解还唯一吗?如果不唯一,还能补救吗?
第二步:最朴素的尝试 最直接的办法是照搬整数的做法:一个数如果能写成两个非单位的乘积,就继续拆,直到每个因子都 不可约 ,也就是拆不动为止。这里的单位指能整除 1 的数,比如整数里的 ± 1 \pm 1 ± 1 ;乘上一个单位不算真正改变了因子。
朴素的猜想是:和整数一样,拆到最后的结果是唯一的。
α = π 1 π 2 ⋯ π k , π i 不可约,除顺序和单位外 唯一 ? \alpha = \pi_1 \pi_2 \cdots \pi_k,\qquad \pi_i\ \text{不可约,除顺序和单位外}\overset{?}{\text{唯一}} α = π 1 π 2 ⋯ π k , π i 不可约,除顺序和单位外 唯一 ? 第三步:找一个最小的反例 分圆整数太复杂,先换一个最简单的环试试:
Z [ − 5 ] = { a + b − 5 : a , b ∈ Z } \mathbb{Z}[\sqrt{-5}] = \{\, a + b\sqrt{-5} : a, b \in \mathbb{Z} \,\} Z [ − 5 ] = { a + b − 5 : a , b ∈ Z } 判断一个数能不能拆,有一把好用的尺子: 范数 N ( a + b − 5 ) = a 2 + 5 b 2 N(a + b\sqrt{-5}) = a^2 + 5b^2 N ( a + b − 5 ) = a 2 + 5 b 2 ,也就是复数模长的平方。它满足 N ( x y ) = N ( x ) N ( y ) N(xy) = N(x)N(y) N ( x y ) = N ( x ) N ( y ) ,所以 x x x 整除 y y y 时 N ( x ) N(x) N ( x ) 也整除 N ( y ) N(y) N ( y ) 。范数为 1 的只有 ± 1 \pm 1 ± 1 ,它们就是这个环的全部单位。
现在看 6:
6 = 2 ⋅ 3 = ( 1 + − 5 ) ( 1 − − 5 ) 6 = 2 \cdot 3 = (1 + \sqrt{-5})(1 - \sqrt{-5}) 6 = 2 ⋅ 3 = ( 1 + − 5 ) ( 1 − − 5 ) 数
范数
如果能拆,两个因子的范数
2 2 2
4 4 4
2 2 2 和 2 2 2
3 3 3
9 9 9
3 3 3 和 3 3 3
1 ± − 5 1 \pm \sqrt{-5} 1 ± − 5
6 6 6
2 2 2 和 3 3 3
而 a 2 + 5 b 2 a^2 + 5b^2 a 2 + 5 b 2 永远取不到 2 或 3,所以这四个数 都拆不动 。它们也不是彼此只差一个单位: 2 2 2 、 3 3 3 和 1 ± − 5 1 \pm \sqrt{-5} 1 ± − 5 的范数各不相同, 1 + − 5 1 + \sqrt{-5} 1 + − 5 也不等于 ± ( 1 − − 5 ) \pm(1 - \sqrt{-5}) ± ( 1 − − 5 ) 。6 有两种本质不同的分解,朴素猜想错了。
错在哪?在整数里,「拆不动」和「素」是一回事:素数 p p p 整除 a b ab ab ,就一定整除 a a a 或 b b b 。这里却不是:
2 ∣ ( 1 + − 5 ) ( 1 − − 5 ) , 但 2 ∤ 1 ± − 5 2 \mid (1+\sqrt{-5})(1-\sqrt{-5}),\qquad \text{但}\quad 2 \nmid 1 \pm \sqrt{-5} 2 ∣ ( 1 + − 5 ) ( 1 − − 5 ) , 但 2 ∤ 1 ± − 5 因为 1 ± − 5 2 \frac{1 \pm \sqrt{-5}}{2} 2 1 ± − 5 不在环里。 2 拆不动,却不是素的。
再追问一步:2 和 1 + − 5 1+\sqrt{-5} 1 + − 5 有没有公因子?公因子的范数要同时整除 4 和 6,只能是 1 或 2;范数为 2 的数不存在,所以它们只有单位这种平凡的公因子,看上去是「互素」的。可是它们又分明共享着什么,否则 2 2 2 怎么会整除 ( 1 + − 5 ) ( 1 − − 5 ) (1+\sqrt{-5})(1-\sqrt{-5}) ( 1 + − 5 ) ( 1 − − 5 ) ?病因很具体: 它们应该有一个范数为 2 的公因子,只是这个因子在环里不存在。
同样,3 和 1 + − 5 1 + \sqrt{-5} 1 + − 5 应该有一个范数为 3 的公因子,3 和 1 − − 5 1 - \sqrt{-5} 1 − − 5 也应该有一个。把这些缺席的因子记作 p \mathfrak p p 、 q \mathfrak q q 、 q ˉ \bar{\mathfrak q} q ˉ ,先假装它们存在,按范数把四个数重新拆一遍:
数
范数
「应有的」分解
2 2 2
4 = 2 ⋅ 2 4 = 2 \cdot 2 4 = 2 ⋅ 2
p 2 \mathfrak p^2 p 2
3 3 3
9 = 3 ⋅ 3 9 = 3 \cdot 3 9 = 3 ⋅ 3
q q ˉ \mathfrak q \bar{\mathfrak q} q q ˉ
1 + − 5 1+\sqrt{-5} 1 + − 5
6 = 2 ⋅ 3 6 = 2 \cdot 3 6 = 2 ⋅ 3
p q \mathfrak p \mathfrak q pq
1 − − 5 1-\sqrt{-5} 1 − − 5
6 = 2 ⋅ 3 6 = 2 \cdot 3 6 = 2 ⋅ 3
p q ˉ \mathfrak p \bar{\mathfrak q} p q ˉ
这样一来,两种分解只是同一组因子的两种组合方式:
6 = p 2 ⏟ 2 ⋅ q q ˉ ⏟ 3 = p q ⏟ 1 + − 5 ⋅ p q ˉ ⏟ 1 − − 5 6 = \underbrace{\mathfrak p^2}_{2}\cdot\underbrace{\mathfrak q\bar{\mathfrak q}}_{3} = \underbrace{\mathfrak p\mathfrak q}_{1+\sqrt{-5}}\cdot\underbrace{\mathfrak p\bar{\mathfrak q}}_{1-\sqrt{-5}} 6 = 2 p 2 ⋅ 3 q q ˉ = 1 + − 5 pq ⋅ 1 − − 5 p q ˉ 矛盾消失了。修补的办法也呼之欲出: 给这些缺席的因子一个正式的身份。
第四步:修补,并给修补起名字 难点在于:怎样谈论一个不存在的数?办法是换个角度看整除。 d d d 整除 a a a ,等价于 a a a 落在 d d d 的全部倍数组成的集合里:
d ∣ a ⟺ a ∈ ( d ) , ( d ) = { d r : r ∈ Z [ − 5 ] } d \mid a \iff a \in (d),\qquad (d) = \{\, dr : r \in \mathbb{Z}[\sqrt{-5}] \,\} d ∣ a ⟺ a ∈ ( d ) , ( d ) = { d r : r ∈ Z [ − 5 ] } 一个数由它的全部倍数决定(至多差一个单位),所以不妨 用「倍数的集合」代替数本身 。缺席的因子没有自己,却可以有倍数的集合: p \mathfrak p p 如果存在,它的倍数至少包括 2 和 1 + − 5 1+\sqrt{-5} 1 + − 5 ,以及它们能组合出来的一切:
p = { 2 x + ( 1 + − 5 ) y : x , y ∈ Z [ − 5 ] } = { a + b − 5 : a ≡ b ( m o d 2 ) } \mathfrak p = \{\, 2x + (1+\sqrt{-5})y : x, y \in \mathbb{Z}[\sqrt{-5}] \,\} = \{\, a + b\sqrt{-5} : a \equiv b \pmod 2 \,\} p = { 2 x + ( 1 + − 5 ) y : x , y ∈ Z [ − 5 ] } = { a + b − 5 : a ≡ b ( mod 2 ) } 这个集合实实在在地存在,但它不是任何一个数的倍数:如果 p = ( d ) \mathfrak p = (d) p = ( d ) , d d d 就要整除 2 和 1 + − 5 1+\sqrt{-5} 1 + − 5 ,范数只能是 1 或 2。范数为 1 时 p \mathfrak p p 是整个环,可是 1 ∉ p 1 \notin \mathfrak p 1 ∈ / p ;范数为 2 的数又不存在。这正是缺席的因子该有的样子。
同理,另外两个缺席的因子是
q = ( 3 , 1 + − 5 ) , q ˉ = ( 3 , 1 − − 5 ) \mathfrak q = (3,\ 1+\sqrt{-5}),\qquad \bar{\mathfrak q} = (3,\ 1-\sqrt{-5}) q = ( 3 , 1 + − 5 ) , q ˉ = ( 3 , 1 − − 5 ) 这里 ( x , y ) (x, y) ( x , y ) 表示 x x x 、 y y y 能组合出来的全部元素。两个这样的集合相乘,就取两边元素两两相乘、再组合出来的全部元素。现在可以直接验证第三步的猜测,例如
p 2 = ( 4 , 2 + 2 − 5 , − 4 + 2 − 5 ) = ( 2 ) \mathfrak p^2 = (4,\ 2+2\sqrt{-5},\ -4+2\sqrt{-5}) = (2) p 2 = ( 4 , 2 + 2 − 5 , − 4 + 2 − 5 ) = ( 2 ) 右边每个生成元都是 2 的倍数;反过来 2 = ( 2 + 2 − 5 ) − ( − 4 + 2 − 5 ) − 4 2 = (2+2\sqrt{-5}) - (-4+2\sqrt{-5}) - 4 2 = ( 2 + 2 − 5 ) − ( − 4 + 2 − 5 ) − 4 。 q q ˉ = ( 3 ) \mathfrak q\bar{\mathfrak q} = (3) q q ˉ = ( 3 ) 、 p q = ( 1 + − 5 ) \mathfrak p\mathfrak q = (1+\sqrt{-5}) pq = ( 1 + − 5 ) 、 p q ˉ = ( 1 − − 5 ) \mathfrak p\bar{\mathfrak q} = (1-\sqrt{-5}) p q ˉ = ( 1 − − 5 ) 都可以这样验证。于是在「倍数集合」这一层:
( 6 ) = ( 2 ) ( 3 ) = ( 1 + − 5 ) ( 1 − − 5 ) = p 2 q q ˉ (6) = (2)(3) = (1+\sqrt{-5})(1-\sqrt{-5}) = \mathfrak p^2\, \mathfrak q\, \bar{\mathfrak q} ( 6 ) = ( 2 ) ( 3 ) = ( 1 + − 5 ) ( 1 − − 5 ) = p 2 q q ˉ 分解又唯一了。这种「对加减法封闭、乘以任何元素后还在里面」的集合,就叫 理想 。Kummer 最早把这些缺席的因子叫作「理想复数」,名字就是这么来的;后来 Dedekind 把它们写成集合,才有了今天的定义。注意名字是最后才出现的——它只是给我们已经做过的事贴上一个标签。
把修补推广下去 只修好一个 6 还不够,还要问这个修补能不能一直做下去。答案是肯定的:在任何数域的整数环里,包括 Lamé 用到的分圆整数, 每个非零理想都能唯一地分解成素理想的乘积 。这里的「素」用的是第三步发现的那条性质,而不是「拆不动」:
a b ∈ P ⟹ a ∈ P 或 b ∈ P ab \in P \implies a \in P\ \text{或}\ b \in P ab ∈ P ⟹ a ∈ P 或 b ∈ P 第三步的病因在这里被彻底治好:2 作为数拆不动,却不是素的;作为理想, ( 2 ) = p 2 (2) = \mathfrak p^2 ( 2 ) = p 2 还能继续拆,真正素的是 p \mathfrak p p 。
练习:一个有三种分解的数 在 Z [ − 5 ] \mathbb{Z}[\sqrt{-5}] Z [ − 5 ] 里,
21 = 3 ⋅ 7 = ( 1 + 2 − 5 ) ( 1 − 2 − 5 ) = ( 4 + − 5 ) ( 4 − − 5 ) 21 = 3 \cdot 7 = (1+2\sqrt{-5})(1-2\sqrt{-5}) = (4+\sqrt{-5})(4-\sqrt{-5}) 21 = 3 ⋅ 7 = ( 1 + 2 − 5 ) ( 1 − 2 − 5 ) = ( 4 + − 5 ) ( 4 − − 5 ) 先用范数验证这六个数都拆不动,再找出背后的素理想,说明三种分解其实是同一组素理想的三种组合。提示: − 5 ≡ 3 2 ( m o d 7 ) -5 \equiv 3^2 \pmod 7 − 5 ≡ 3 2 ( mod 7 ) 。
答案 3 分成 q = ( 3 , 1 + − 5 ) \mathfrak q = (3,\ 1+\sqrt{-5}) q = ( 3 , 1 + − 5 ) 和 q ˉ = ( 3 , 1 − − 5 ) \bar{\mathfrak q} = (3,\ 1-\sqrt{-5}) q ˉ = ( 3 , 1 − − 5 ) ,7 分成 r = ( 7 , 3 + − 5 ) \mathfrak r = (7,\ 3+\sqrt{-5}) r = ( 7 , 3 + − 5 ) 和 r ˉ = ( 7 , 3 − − 5 ) \bar{\mathfrak r} = (7,\ 3-\sqrt{-5}) r ˉ = ( 7 , 3 − − 5 ) 。用同余描述更方便: a + b − 5 a + b\sqrt{-5} a + b − 5 属于 q \mathfrak q q 、 q ˉ \bar{\mathfrak q} q ˉ 、 r \mathfrak r r 、 r ˉ \bar{\mathfrak r} r ˉ ,分别当且仅当 a ≡ b ( m o d 3 ) a \equiv b \pmod 3 a ≡ b ( mod 3 ) 、 a ≡ − b ( m o d 3 ) a \equiv -b \pmod 3 a ≡ − b ( mod 3 ) 、 a ≡ 3 b ( m o d 7 ) a \equiv 3b \pmod 7 a ≡ 3 b ( mod 7 ) 、 a ≡ − 3 b ( m o d 7 ) a \equiv -3b \pmod 7 a ≡ − 3 b ( mod 7 ) 。逐个检查每个数落在哪些理想里,得到
( 1 + 2 − 5 ) = q ˉ r ˉ , ( 1 − 2 − 5 ) = q r , ( 4 + − 5 ) = q r ˉ , ( 4 − − 5 ) = q ˉ r (1+2\sqrt{-5})=\bar{\mathfrak q}\,\bar{\mathfrak r},\quad (1-2\sqrt{-5})=\mathfrak q\,\mathfrak r,\quad (4+\sqrt{-5})=\mathfrak q\,\bar{\mathfrak r},\quad (4-\sqrt{-5})=\bar{\mathfrak q}\,\mathfrak r ( 1 + 2 − 5 ) = q ˉ r ˉ , ( 1 − 2 − 5 ) = q r , ( 4 + − 5 ) = q r ˉ , ( 4 − − 5 ) = q ˉ r 所以 ( 21 ) = q q ˉ r r ˉ (21) = \mathfrak q\bar{\mathfrak q}\mathfrak r\bar{\mathfrak r} ( 21 ) = q q ˉ r r ˉ ,三种分解就是把这四个素理想两两配对的三种方式。这个例子把理想的作用说得很直白:数的分解之所以不唯一,是因为看得见的数只是素理想的某些组合。
第五步:回头看教科书的定义 教科书里,交换环 R R R 的理想通常这样定义:
I ⊆ R 是理想 ⟺ a , b ∈ I ⇒ a − b ∈ I , r ∈ R , a ∈ I ⇒ r a ∈ I I \subseteq R\ \text{是理想} \iff a, b \in I \Rightarrow a - b \in I,\qquad r \in R,\ a \in I \Rightarrow ra \in I I ⊆ R 是理想 ⟺ a , b ∈ I ⇒ a − b ∈ I , r ∈ R , a ∈ I ⇒ r a ∈ I 第一次见时,只觉得是两条随手写下的封闭性;走过前面四步之后,每一部分都有了着落:
定义里的东西
含义
对应哪一步
理想 I I I
某个(也许不存在的)因子的全部倍数
第四步:用倍数的集合代替数本身
a − b ∈ I a - b \in I a − b ∈ I
两个倍数相减还是倍数
第四步: 2 x + ( 1 + − 5 ) y 2x + (1+\sqrt{-5})y 2 x + ( 1 + − 5 ) y 里的「组合」
r a ∈ I ra \in I r a ∈ I
倍数再乘任何数还是倍数
同上
主理想 ( d ) (d) ( d )
真实存在的数
第四步: d ∣ a ⟺ a ∈ ( d ) d \mid a \iff a \in (d) d ∣ a ⟺ a ∈ ( d )
非主理想,如 p \mathfrak p p
缺席的因子
第三步:应有却不存在的范数为 2 的公因子
I ⊇ J I \supseteq J I ⊇ J
I I I 整除 J J J :因子越小,倍数越多
第四步
素理想
a b ∈ P ab \in P ab ∈ P 推出 a ∈ P a \in P a ∈ P 或 b ∈ P b \in P b ∈ P
第三步:「拆不动」不等于「素」
「包含即整除」值得多看一眼:理想越大,代表的因子越小,整个环 ( 1 ) (1) ( 1 ) 对应的就是 1。初学者常觉得这个方向反直觉,从「倍数的集合」出发,它就再自然不过了。
这个工具好在哪 理想不只让分解重新唯一,还给出了 度量失败程度 的办法:把彼此只差一个主理想因子的理想看作同一类,得到的群叫 理想类群 ,它的阶叫类数。类数为 1,当且仅当所有理想都是主理想,也就是数本身就能唯一分解。 Z [ − 5 ] \mathbb{Z}[\sqrt{-5}] Z [ − 5 ] 的类数是 2:所有非主理想都和 p \mathfrak p p 同类,而 p 2 = ( 2 ) \mathfrak p^2 = (2) p 2 = ( 2 ) 又回到了主理想。
Kummer 走的正是这条路。他为分圆整数建立了理想复数的理论,由此定义了 正则素数 ,并对所有正则素数证明了费马大定理;37 是第一个不正则的素数。分解不唯一并没有让 Lamé 的思路彻底作废,而是把它变成了一个可以计算的问题。
后来,理想走出了数论:商环 R / I R/I R / I 推广了「模 n n n 同余」——第四步里用 a ≡ b ( m o d 2 ) a \equiv b \pmod 2 a ≡ b ( mod 2 ) 描述 p \mathfrak p p ,就是这个意思;多项式环的理想则成了代数几何描述曲线和曲面的基本语言。
把方法用到别的概念上 这五步不只对理想有效。下面几个常见概念,都可以按同样的顺序重新「发明」一遍:
概念
要解决的问题
朴素尝试
失败在哪
修补后得到
谱序列
已知滤过复形每一层的同调,怎样拼出整体的同调
逐层算同调再相加
每一层只看得见层内的边界,跨层的边界被截断;两个向量、一条边界映射就能看出
在相邻层的同调之间连映射 d r d^r d r ,一页页取「同调的同调」
正规子群
能不能像「模 n n n 」那样,把一个群按子群「模掉」
用陪集的代表元相乘
在 S 3 S_3 S 3 里取 H = { e , ( 12 ) } H = \{e, (12)\} H = { e , ( 12 )} ,陪集的乘积取决于选哪个代表元
要求 g H = H g gH = Hg g H = H g ,模掉它得到商群
同调群
怎样区分空间的「洞」
数顶点、边、面的个数
换一种剖分,数出来的就变了
闭链模边界:只留下不依赖剖分的部分
勒贝格积分
函数序列的极限能不能和积分交换
对黎曼积分取极限
极限函数可能不再黎曼可积
不再分割定义域,改为分割值域,并由此引出测度
导出函子(Tor、Ext)
张量积、Hom 会破坏正合列,怎样度量这种破坏
直接把函子作用在正合列上
正合性断了,却不知道断在哪、断了多少
用投射(或内射)分解替换对象再取同调,得到度量破坏程度的群
自己练的时候,可以把第 3 步当作检验标准: 如果找不到让朴素办法失败的最小例子,多半还没真正理解这个概念要解决的问题。
原文与延伸阅读 本文的思路来自下面这篇文章,它用同样的五步讲谱序列,适合想看这套方法用在更复杂的概念上的读者。原文由美国数学会(AMS)发表,点「阅读原文」在出处网站打开:
关于理想这个例子:
全文评论
0正在加载评论…