把关系矩阵读成一个模
两组整数关系都可能给出 16 个剩余类,但它们未必描述同一个群。Z / 16 Z \mathbb Z/16\mathbb Z Z /16 Z 中有阶为 16 的元素,Z / 4 Z ⊕ Z / 4 Z \mathbb Z/4\mathbb Z\oplus\mathbb Z/4\mathbb Z Z /4 Z ⊕ Z /4 Z 中却没有。只数元素,已经丢掉了重要信息。
本章要把关系矩阵化到足够简单,让这些信息直接出现在对角线上。这里仍用上一章的约定:B B B 是 n × m n\times m n × m 矩阵,每一列是一条关系 ,研究的模是
M B = R n / B R m . M_B=R^n/BR^m. M B = R n / B R m .
n n n 数的是生成元,m m m 数的是关系。矩阵不是方阵也完全可以。
图里的满射把自由模的标准基送到生成元。它不保证单射;核恰好收集了我们要写进矩阵的关系。
哪些操作保住了商模
若 V ∈ GL m ( R ) V\in\operatorname{GL}_m(R) V ∈ GL m ( R ) ,那么 V R m = R m VR^m=R^m V R m = R m ,所以
B V R m = B R m . BVR^m=BR^m. B V R m = B R m .
右乘 V V V 改变关系列向量的选择,关系子模本身没有动。列交换、某一列加上另一列的倍数,都属于这一类。
行操作的含义不同。左乘 U ∈ GL n ( R ) U\in\operatorname{GL}_n(R) U ∈ GL n ( R ) 时,关系子模通常变为 U B R m UBR^m U B R m ,但映射
v + B R m ⟼ U v + U B R m v+BR^m\longmapsto Uv+UBR^m v + B R m ⟼ U v + U B R m
给出了两个商模之间的同构。若 v − v ′ ∈ B R m v-v'\in BR^m v − v ′ ∈ B R m ,则 U v − U v ′ ∈ U B R m Uv-Uv'\in UBR^m U v − U v ,所以它良定义;逆映射由 给出。你可以把它看作同时改写环境自由模的坐标。
在 Z \mathbb Z Z 上,可逆整数矩阵的行列式只能为 ± 1 \pm1 ± 1 。把一行乘以 − 1 -1 − 1 可以还原;乘以 2 一般不行。最小的反例已经足够:关系矩阵 [ 1 ] [1] [ 1 ] 给出零模,[ 2 ] [2] [ 2 ] 给出 Z / 2 Z \mathbb Z/2\mathbb Z Z /2 Z 。两个结果不同,说明“乘以非零数”这条线性代数经验不能直接搬过来。
1 整数关系矩阵的一列加上另一列的 3 倍,为什么允许?
A. 整数矩阵只要行列式不为零就可逆 B. 反向减去 3 倍即可还原,关系列向量张成的子模不变 C. 所有列操作都会让行列式变小 D. 因为 3 在整数中有乘法逆元
Smith 标准形保留整除关系
设 R R R 是主理想整环,即 PID。对任意有限矩阵 B B B ,存在可逆矩阵 U , V U,V U , V ,使
U B V = D , D = diag ( d 1 , … , d r , 0 , … ) , d 1 ∣ d 2 ∣ ⋯ ∣ d r , UBV=D,\qquad
D=\operatorname{diag}(d_1,\ldots,d_r,0,\ldots),\qquad
d_1\mid d_2\mid\cdots\mid d_r, U B V = D , D = diag ( d 1 , … , d
其中 d i ≠ 0 d_i\ne0 d i = 0 ,矩阵仍保持原来的 n × m n\times m n × m 尺寸。r r r 是把矩阵放到 R R R 的分式域上计算的秩。整数情形把 规范为正数。
“对角”还不够。diag ( 2 , 3 ) \operatorname{diag}(2,3) diag ( 2 , 3 ) 没有满足整除链,不能当成 Smith 标准形;它对应的模当然已经容易读,但规范形还要把它改成 diag ( 1 , 6 ) \operatorname{diag}(1,6) diag ( 1 , 6 ) 。
在整数上实际化简
取
B = ( 4 2 2 6 ) . B=\begin{pmatrix}4&2\\2&6\end{pmatrix}. B = ( 4 2 2 6 ) .
把每一步的操作写在箭头上:
( 4 2 2 6 ) → R 1 ↔ R 2 ( 2 6 4 2 ) → R 2 ← R 2 − 2 R 1 ( 2 6 0 − 10 ) → C 2 ← C 2 − 3 C 1 ( 2 0 0 − 10 ) →
2 ∣ 10 2\mid10 2 ∣ 10 ,因此已经结束。两条关系分别是 2 e 1 = 0 2e_1=0 2 e 1 = 0 和 10 e 2 = 0 10e_2=0 10 e 2 = 0 ,它们不再互相缠绕:
M B ≅ Z / 2 Z ⊕ Z / 10 Z . M_B\cong\mathbb Z/2\mathbb Z\oplus\mathbb Z/10\mathbb Z. M B ≅ Z /2 Z ⊕ Z /10 Z .
群有 20 个元素,但不是 Z / 20 Z \mathbb Z/20\mathbb Z Z /20 Z 。前者任一元素的阶至多为 10,后者有阶为 20 的元素。
在下面的操作台里,先重现这一串变化。然后换成 diag ( 2 , 3 ) \operatorname{diag}(2,3) diag ( 2 , 3 ) ,看看“已经对角”为什么仍然不够。每次操作后注意矩阵、关系向量和不变量一起怎样变化;误选不可逆缩放时,页面应解释为何拒绝这一步。
算法为什么停得下来
在整数上,把一个非零数 a a a 移到左上角。若同一行有 b b b 不被 a a a 整除,做 b = q a + r b=qa+r b = q a + r ,减去相应列的 q q q 倍,便在该位置得到 0 < ∣ r ∣ < ∣ a ∣ 0<|r|<|a| 。把 换到左上角;同一列的情况用行操作处理。
如果 a a a 已整除第一行和第一列,便能把这一行、这一列的其他位置清零。还有一件事不能漏:右下子块可能有不被 a a a 整除的数 b b b 。把 b b b 所在行加到第一行,就把这个障碍带回了第一行,又能制造一个更小的非零余数。比如 diag ( 2 , 3 ) \operatorname{diag}(2,3) diag ( 2 , 3 ) ,第一行加第二行后出现 ( 2 , 3 ) (2,3) ( 2 , 3 ) ;第二列减第一列,便出现 1。
只要 a a a 还没整除所有元素,左上角的正绝对值就会下降,因此过程必停。停下时 a a a 整除整张矩阵,清掉首行首列后,对右下子块重复同样的做法。子块操作仍让所有元素保持为 a a a 的倍数,下一对角元便被 a a a 整除。这同时解释了对角化和整除链。
一般 PID 没有现成的余数算法
定理仍成立,但不能假装每个 PID 都带着欧几里得除法。这里用 Bézout 等式代替“取余”。
若 ( a , b ) = ( d ) (a,b)=(d) ( a , b ) = ( d ) ,写 a = d a ′ a=da' a = d a ′ 、b = d b ′ b=db' b = d b ,并取 使 ,于是 。右乘
C = ( u − b ′ v a ′ ) , det C = 1 , C=\begin{pmatrix}u&-b'\\v&a'\end{pmatrix},
\qquad \det C=1, C = ( u v − b ′
会把行向量 ( a , b ) (a,b) ( a , b ) 变成 ( d , 0 ) (d,0) ( d , 0 ) 。同一列可用转置形式处理。若 a a a 不整除 b b b ,d d d 就是 a a a 的真因子,理想 ( 严格包含于 。
PID 中理想升链会稳定:一条升链的并是理想,若并由 c c c 生成,c c c 已出现在链的某一项里,该项便等于整个并。因而上述严格变大的主理想不可能无限出现。配合把右下障碍移到第一行的做法,仍可得到一个整除所有条目的首项,递归得到 Smith 形。这里用的是可逆矩阵变换;一般 PID 上不宣称每一步都能拆成通常的初等加行操作。
不变量让结果可以核对
把所有 k k k 阶子式的最大公因子记为 Δ k \Delta_k Δ k ,取 Δ 0 = 1 \Delta_0=1 Δ 0 = 1 。整数中取非负最大公因子,PID 中只确定到单位倍。当 k ≤ r k\le r k 时,
Δ k = d 1 d 2 ⋯ d k , d k = Δ k / Δ k − 1 . \Delta_k=d_1d_2\cdots d_k,\qquad
d_k=\Delta_k/\Delta_{k-1}. Δ k = d 1 d 2 ⋯ d
为什么子式能这样用?左乘或右乘可逆矩阵后,新矩阵的每个 k k k 阶子式都是旧子式的线性组合,因此新子式生成的理想包含在旧理想中;对逆变换做同样的推理,得到反向包含。两者相同。对于满足整除链的对角矩阵,所有非零 k k k 阶子式都被 d 1 ⋯ d k d_1\cdots d_k d 1 ⋯ d k 整除,而这个乘积本身就是一个子式,所以它生成整个子式理想。
本例 Δ 1 = 2 \Delta_1=2 Δ 1 = 2 、Δ 2 = ∣ det B ∣ = 20 \Delta_2=|\det B|=20 Δ 2 = ∣ det B ∣ = 20 ,给出 。若只看行列式 20,就无法把 与 分开。秩不足时行列式甚至一律为零,更不能代替这些信息。
有限生成模为什么都有这种分解
目前我们处理的是有限关系矩阵。一个有限生成模是否必有有限条关系?在一般环上不能保证;在 PID 上可以,而且核还是自由模。
证明对环境维数 n n n 归纳。设 N ⊆ R n N\subseteq R^n N ⊆ R n ,投影到最后一个坐标,其像是主理想 ( a ) (a) ( a ) 。若 a = 0 a=0 a = 0 ,N N N 位于 ,用归纳即可。若 ,选 ,最后一个坐标为 。任意 的末坐标是 ,因此 末坐标为零。于是
N = ( N ∩ R n − 1 ) ⊕ R y . N=(N\cap R^{n-1})\oplus Ry. N = ( N ∩ R n − 1 ) ⊕ R y .
直和的理由是:若 r y ry r y 末坐标为零,则 r a = 0 ra=0 r a = 0 ;整环且 a ≠ 0 a\ne0 a = 0 ,推出 r = 0 r=0 r = 0 。归纳下去, 自由,秩至多为 。
现在给有限生成模 M M M 选满射 R n → M R^n\to M R n → M 。核 N N N 有有限基,把这组基写成关系列向量,就得有限矩阵 B B B 。化成 Smith 形后,逐个坐标取商,得到
M ≅ R n − r ⊕ ⨁ i = 1 r R / ( d i ) . M\cong R^{n-r}\oplus\bigoplus_{i=1}^r R/(d_i). M ≅ R n − r ⊕ i = 1 ⨁ r R / ( d
d i d_i d i 为单位时,该项是零模,可以删掉;d i ≠ 0 d_i\ne0 d i = 0 且不是单位时,该项是挠循环模;没有非零关系的坐标贡献一个自由的 R R R 。自由因子数是行数减秩 ,不是只数画出来的对角线上有几个 0。 对 矩阵 ,商模是 。
这张图在 R R R 为整环的条件下阅读。挠元指被某个非零标量杀掉的元素;不同挠元允许用不同的标量。若 s m = 0 sm=0 s m = 0 、t n = 0 tn=0 t n = 0 且 s , t s,t s , t 非零,则 s t ( m + n ) = 0 st(m+n)=0 s t ( m ,而 ;取负及标量作用也保留这个性质,所以挠元确实构成子模。在整数模中,这正是有限阶元素。挠子模本身由 唯一确定,自由部分在 里面的具体选取却未必唯一。
删去零模因子后,自由秩和不变因子(相差单位视为相同)由 M M M 决定。为看清唯一性的内容,先将每个非零 d i d_i d i 分成素数幂,并用互素因子的中国剩余定理拆开。对每个素元 p p p ,考虑挠子模中被某个 p p p 的幂杀掉的部分 T p T_p T p 。在分解为 后,
p k − 1 T p / p k T p p^{k-1}T_p/p^kT_p p k − 1 T p / p k T p
是 R / ( p ) R/(p) R / ( p ) 上的向量空间,维数等于满足 e j ≥ k e_j\ge k e j ≥ k 的因子数。这些维数由模本身决定;相邻维数之差便给出每种指数恰好出现几次。将各素元的指数从小到大排齐、必要时在左侧补零,就还原了满足整除链的不变因子。自由秩也由模本身决定。商去全部挠元后得到 M / T ≅ R q M/T\cong R^q M / T ≅ R ;若 不是域,取任意素元 ,再商去 ,所得 -向量空间的维数恰为 。若 是域,直接取向量空间维数即可。这里的唯一性指这些数据信息,不能误读成 内部各直和子模的位置也唯一。
把分解接回熟悉的计算
中国剩余定理把互素周期分开。例如
Z / 12 Z ⟶ Z / 4 Z ⊕ Z / 3 Z , [ a ] 12 ⟼ ( [ a ] 4 , [ a ] 3 ) \mathbb Z/12\mathbb Z\longrightarrow
\mathbb Z/4\mathbb Z\oplus\mathbb Z/3\mathbb Z,\qquad
[a]_{12}\longmapsto([a]_4,[a]_3) Z /12 Z ⟶ Z /4 Z ⊕ Z /3 Z , [ a ] 12 ⟼ ([
是同构,逆映射为 ( [ x ] 4 , [ y ] 3 ) ↦ [ 9 x + 4 y ] 12 ([x]_4,[y]_3)\mapsto[9x+4y]_{12} ([ x ] 4 , [ y ] 3 ) ↦ [ 9 x + 4 y ] 。因为 ,而 4 的两个余数恰好相反。一般 PID 上,若 ,取 ,从模 、模 的坐标 回到模 可用 。两边核与代表的检查完全相同。这给出 。互素是这里能拆开的原因; 不能同样拆成两个 。
下面比较两个元素总数相同的群。选 Z / 16 Z \mathbb Z/16\mathbb Z Z /16 Z 与 Z / 4 Z ⊕ Z / 4 Z \mathbb Z/4\mathbb Z\oplus\mathbb Z/4\mathbb Z Z /4 Z ⊕ Z /4 Z ,逐次相加一个选定元素,观察轨道何时回到 0。随后查看各阶元素的分布。总数相等并没有保证这些轨道相同,这就是行列式之外还要保留不变因子的理由。
如果 R = F [ x ] R=F[x] R = F [ x ] ,把上一章的算子 A A A 当作 x x x 的作用,有限维向量空间就成为挠 F [ x ] F[x] F [ x ] -模:I , A , A 2 , … I,A,A^2,\ldots I , A , 在有限维的算子空间中必线性相关,因此有非零多项式 满足 。分解中的 是循环块。若 ,基 上乘以 的矩阵为
( 0 − 1 1 0 ) . \begin{pmatrix}0&-1\\1&0\end{pmatrix}. ( 0 1 − 1 0 ) .
这说明模的分解确实在记录线性算子。进一步分解多项式会接到有理标准形和 Jordan 形;本章只建立这个连接,不要求你在这里完成整套 Jordan 理论。
留给你独立完成的检查
练习 1。 从 diag ( 2 , 3 ) \operatorname{diag}(2,3) diag ( 2 , 3 ) 出发,用可逆整数行列操作得到 diag ( 1 , 6 ) \operatorname{diag}(1,6) diag ( 1 , 6 ) 。写清每一步。
查看解答 依次做 R 1 ← R 1 + R 2 R_1\gets R_1+R_2 R 1 ← R 1 + R 2 、C 2 ← C 2 − C 1 C_2\gets C_2-C_1 、交换两列、 、 、 ,矩阵依次成为
练习 2。 B = ( 2 4 6 12 0 0 ) B=\begin{pmatrix}2&4\\6&12\\0&0\end{pmatrix} B = 2 6 0 。求 Smith 形和 ,并说明自由部分的个数。
查看解答 做 R 2 ← R 2 − 3 R 1 R_2\gets R_2-3R_1 R 2 ← R 2 − 3 R 1 、C 2 ← C 2 − 2 C 1 C_2\gets C_2-2C_1 ,得到只有左上角为 2 的 矩阵。秩为 1,行数为 3,所以商模为 。不能因为矩阵只有两个对角位置就漏掉第三行贡献的自由因子。
练习 3。 比较 diag ( 2 , 8 ) \operatorname{diag}(2,8) diag ( 2 , 8 ) 与 diag ( 4 , 4 ) \operatorname{diag}(4,4) diag ( 4 , 4 ) 。它们的行列式相同,商群是否同构?
查看解答 不同构。前者的条目最大公因子为 2,后者为 4,Smith 不变量不同。也可以直接比较元素阶:前者有阶 8 的元素 ( 0 , [ 1 ] 8 ) (0,[1]_8) ( 0 , [ 1 ] 8 ) ,后者所有元素阶均整除 4。两群都只有 16 个元素,因此仅计数无法区分。
练习 4。 在整环 R R R 上,证明两个挠元之和仍是挠元。你在哪一步用了整环条件?
查看解答 若 a m = 0 , b n = 0 am=0,bn=0 am = 0 , bn = 0 ,其中 a , b ≠ 0 a,b\ne0 a , b = 0 ,则 a b ( m + n ) = b ( a m ) + a ( b n ) = 0 ab(m+n)=b(am)+a(bn)=0 。整环保证 ,所以这是合法的非零湮灭标量。取负和标量作用也保留挠性,因此挠元构成子模。
练习 5。 在 Q [ x ] / ( x 2 − 3 x + 2 ) \mathbb Q[x]/(x^2-3x+2) Q [ x ] / ( x 2 − 3 x + 2 ) 中,以 1 , x 1,x 1 , x 为基写出乘以 x x x 的矩阵,并验证它满足 A 2 − 3 A + 。
查看解答 x ⋅ 1 = x x\cdot1=x x ⋅ 1 = x ,而 x ⋅ x = 3 x − 2 x\cdot x=3x-2 x ⋅ x = 3 x − 2 ,所以
A = ( 0 − 2 1 3 ) , A 2 = (
2 整数矩阵已经是对角矩阵,就一定是 Smith 标准形。