学抽象代数的人,几乎都会被群论里的同态定理绕一阵子。我第一次看教材,第一同构定理还算能接受,等第二、第三同构定理出来,配合一堆介于商群与子群之间的符号,直接乱成一团。后来花了不少功夫把这三条定理的思路彻底捋清楚,才意识到它们其实是一条主线贯穿:所有同态构成的结构信息,都藏在由“商掉核”这件事产生的等价关系里。
这篇文章就把这套“群同构同态定理”从头到尾重新拆一遍,用比较接地气的方式解释三条同构定理分别说了什么、为什么条件长这样、证明时怎么想,以及做题和复习时最容易踩的坑。适合刚学完群论基础、希望在考前把同构定理真正弄懂的人,也适合已经学过但一直似懂非懂、想回头理一遍思路的人。
1. 重新认识同态:为什么核比零元更值得关注
1.1 同态到底是什么
同态是保持运算的映射。设有两个群 (G) 和 (H),映射 (\varphi:G\to H) 满足
[ \varphi(ab)=\varphi(a)\varphi(b) ]
那么 (\varphi) 就叫群同态。
这个定义简单,但我当初忽略了一个关键点:同态不要求保持“一一对应”,它只保证把 (G) 里的乘法关系搬到 (H) 里之后,运算规则不冲突。正因如此,同态会把 (G) 的一部分元素“合并”成 (H) 里的同一个元素。合并的尺度由核决定。
比如模 (n) 整数加法群 (\mathbb Z/n\mathbb Z),自然映射 (\varphi:\mathbb Z\to\mathbb Z/n\mathbb Z) 把相差 (n) 的倍数的整数全部合并成同一类。核就是 (n\mathbb Z)——所有被压到零的元素。
这里有一个常用类比:同态就像一面哈哈镜,你对着镜子做动作,镜中的像也做同样的动作,但多个不同的人可能映出同一个影子。所有映到同一位置的人,形成一个内部结构——那就是核。
1.2 同态基本定理的核心直觉
第一同构定理说的是:如果 (\varphi:G\to H) 是群同态,那么
[ G/\ker\varphi \cong \operatorname{Im}\varphi ]
也就是说,(G) 去掉“被压成单位元的冗余部分”之后,剩下的结构和像同构。
为什么“去掉核”就够了?你看一个群同态,最重要的是想知道 (G) 的信息跑到 (H) 里之后还保留了多少。保留下来的部分当然是像 (\operatorname{Im}\varphi),而失去的信息就是核 (\ker\varphi)。问题在于:(\varphi) 不一定单射,如果单射了,(G\cong\operatorname{Im}\varphi),一切都好说;如果不是单射,(\ker\varphi) 里多个元素打架,导致 (G) 无法与像同构。取商群 (G/\ker\varphi) 就是强制把这些打架的元素“视为同一个”,把冗余拍平。拍完正好得到单射效果。
从实际计算角度理解,这个定理是“把同态问题转化为商群问题”的总开关。你不需要直接构造 (G) 和 (H) 之间的同构,只需要找到一个满同态,并且算出它的核,即可得到一个大同构关系。这在群论里是极高频的手法。
2. 三大同构定理逐个拆解
2.1 第一同构定理:结构上的 (G/\ker\varphi\to\operatorname{Im}\varphi)
第一同构定理的完整表述是:设 (\varphi:G\to H) 为群同态,则 (G/\ker\varphi\cong\operatorname{Im}\varphi)。
证明思路非常清晰,我按步骤拆:
记 (N=\ker\varphi)。先构造映射 (\psi:G/N\to\operatorname{Im}\varphi),定义为 (\psi(gN)=\varphi(g))。
需要验证 (\psi) well-defined。如果 (g_1N=g_2N),则 (g_1^{-1}g_2\in N),于是 (\varphi(g_1^{-1}g_2)=e_H),即 (\varphi(g_1)=\varphi(g_2)),所以映射不随代表元选择而改变。这一步初学者最容易漏,一定要先验证。
验证它是同态:(\psi((aN)(bN))=\psi(abN)=\varphi(ab)=\varphi(a)\varphi(b)=\psi(aN)\psi(bN))。
验证单射:若 (\psi(gN)=e_H),则 (\varphi(g)=e_H),所以 (g\in N),即 (gN=N),是商群中的单位元。
验证满射:任意 (h\in\operatorname{Im}\varphi),有 (h=\varphi(g)),则 (h=\psi(gN))。
这五步是标准套路。证明的关键就是 well-defined 的验证。我见过不少同学直接跳过第1步,默认 (\psi(gN)=\varphi(g)) 是良定义的,结果在较复杂的情景下推导出错。其实只要代表元选择不同,映射形式不变,才能放心继续。
第一同构定理最常见的应用是“识别”商群结构。比如 (S_n) 的符号映射 (\operatorname{sgn}:S_n\to{\pm1}),核是交代群 (A_n),于是得到 (S_n/A_n\cong\mathbb Z/2\mathbb Z)。你算一个商群,直接套这个定理就可以。
2.2 第二同构定理:(HN/N\cong H/(H\cap N))
第二同构定理要求:(H\le G),(N\lhd G)。结论是:
[ HN/N\cong H/(H\cap N) ]
开始看这个式子的人都会觉得怪:为什么不是 (H/N)?因为 (N) 不一定是 (H) 的子群,更不一定是 (H) 的正规子群。所以不能直接商掉 (N)。这里的处理方式是:把 (H) 往里“扩大一点”,扩大成 (HN),因为 (N\lhd G),所以 (HN) 是 (G) 的子群,而且 (N\lhd HN),于是可以合法地做商群 (HN/N)。
但这样得到的商群 (HN/N) 比 (H) 大,怎么办?别急,你真正要控制的只是 (H) 那些“在商群中的模样”。考虑自然同态:
[ \pi:H\to HN/N,\quad \pi(h)=hN ]
这是一个同态。它的核是什么?
[ \ker\pi={h\in H:hN=N}={h\in H:h\in N}=H\cap N ]
像就是 (HN/N) 里全部元素。于是第一同构定理直接给出:
[ H/(H\cap N)\cong \operatorname{Im}\pi ]
再证明 (\operatorname{Im}\pi=HN/N),即可得到第二同构定理。换句话说,第二同构定理本质上是第一同构定理的“复合应用”,只是把映射限制在子群 (H) 上。
这个定理的几何意义是:把 (H) 投影到商群 (G/N) 里,得到的像是 (HN/N);投影后丢失的信息就是 (H\cap N)。所以 (HN/N) 与 (H/(H\cap N)) 同构。
比如 (G=\mathbb Z),(H=m\mathbb Z),(N=n\mathbb Z),那么 (HN=N)(因为 (H+N=\gcd(m,n)\mathbb Z)?严格写加法群应该用 (H+N))。用加法记号,第二同构定理变成 ((m\mathbb Z+n\mathbb Z)/n\mathbb Z\cong m\mathbb Z/(m\mathbb Z\cap n\mathbb Z))。这在实际计算最大公约数相关商群时非常顺。
一个常见的直觉误区是:以为第二同构定理要求 (H\lhd G)。并非如此,第二同构定理甚至不要求 (H) 正规,只要 (N\lhd G) 就够。原因在于自然映射 (\pi:H\to HN/N) 不需要 (H) 正规也能定义。这一条是我经常跟人说“注意条件别记多”的典型例子。
2.3 第三同构定理:商群套商群的结构
第三同构定理说的是:设 (N\le K\le G),且 (N\lhd G),(K\lhd G),那么
[ (G/N)/(K/N)\cong G/K ]
也就是说,商群的商群还是商群,并且结构与直接商掉更大的 (K) 相同。
这个定理为什么成立?最直接的证明思路是构造自然映射:
[ \Phi:G/N\to G/K,\quad \Phi(gN)=gK ]
先验证良定义:若 (g_1N=g_2N),则 (g_1^{-1}g_2\in N\subseteq K),所以 (g_1K=g_2K)。因此映射合法。
然后看核:
[ \ker\Phi={gN\in G/N: gK=K}={gN:g\in K}=K/N ]
像显然为 (G/K)。第一同构定理立刻得到
[ (G/N)/(K/N)\cong G/K ]
这个定理的实用场景是:你已经知道 (G/N) 的结构,想了解再商掉一个更小的子群 (K/N) 会得到什么,直接用 (G/K) 就行,不用重新在商群里算一遍。
我见过有人把第三同构定理条件记成 (N\lhd K\lhd G),但这不够。实际上还需要 (K\lhd G) 且 (N\lhd G)。因为 (K/N) 要在 (G/N) 里正规,而 (K/N\lhd G/N) 等价于 (K\lhd G)。所以条件不能只写“(N\lhd K\lhd G)”这种链条,必须补上 (K) 在 (G) 中正规、(N) 在 (G) 中正规。
2.4 三条定理之间的关系与记忆方法
很多教材把这三条放在一起,是因为它们实际上都是“同态基本定理的推论”。
- 第二同构定理:取同态 (\pi:H\to HN/N),核为 (H\cap N),用完第一同构定理。
- 第三同构定理:取同态 (\Phi:G/N\to G/K),核为 (K/N),用完第一同构定理。
- 第一同构定理本身是基石。
所以记忆时可以不用死背第二、第三的证明,只要记住“找同态,算核,套第一同构”这个策略,就能随时现推出来。
我自己的记忆口诀很简单:
第一定理商掉核,第二定理扩大再商,第三定理商掉商。
具体展开就是:第一定理告诉你 (G/\ker\varphi\cong\operatorname{Im}\varphi);第二定理处理“子群和正规子群交叉”的情形,用 (H/(H\cap N));第三定理处理“商群里的商群”情形,用 ((G/N)/(K/N))。三条定理共享一个灵魂:所有同构关系都由自然同态的核来定。
3. 第四同构定理与更广的应用场景
3.1 子群对应定理:正规子群框架下的全套对应
很多人只记前三同构定理,忘了第四同构定理(子群对应定理)。但我私下觉得,第四同构定理才是真正理解“商群”这个概念的钥匙。
第四同构定理说:设 (N\lhd G),则 (G/N) 的子群与 (G) 中包含 (N) 的子群之间存在一一对应:
[ {H:N\le H\le G}\longleftrightarrow {\text{(G/N) 的子群}} ]
对应方式是 (H\mapsto H/N)。而且这个对应保持正规性:(H\lhd G) 当且仅当 (H/N\lhd G/N)。
为什么成立?直观解释是:商群 (G/N) 相当于把 (N) 中所有元素拍成同一个点,剩下的“点”就是 (G) 在模掉 (N) 的等价类。一个商群子群,自然对应回原群里的某些等价类的并集,也就是包含 (N) 的一个原群子群。
这个定理最重要的推论是:判断 (G) 是否有正规子群,可以从商群的子群里反向找。例如证明单群时,如果能算出某个商群的子群结构,就能直接推断原群的正规子群结构。这在有限群结构分析里是极其常用的一招。
我举一个简单例子:(G=\mathbb Z),取 (N=n\mathbb Z),商群 (\mathbb Z/n\mathbb Z) 的子群对应到 (\mathbb Z) 中包含 (n\mathbb Z) 的子群,也就是 (m\mathbb Z) 且 (n\mathbb Z\le m\mathbb Z),等价于 (m\mid n)。所以 (\mathbb Z/n\mathbb Z) 的每个子群都形如 (m\mathbb Z/n\mathbb Z),其中 (m\mid n)。这样你不需要直接构造子群,直接看整除关系就行。
3.2 用同构定理分析循环群与有限阿贝尔群
同构定理在循环群分类中的应用非常经典。
循环群 (C_n=\langle a\rangle)。考虑满同态 (\varphi:\mathbb Z\to C_n),(\varphi(k)=a^k),核为 (n\mathbb Z)。第一同构定理给出:
[ \mathbb Z/n\mathbb Z\cong C_n ]
这个结论本身不足为奇,但用同构定理的眼光看,它说明了“循环群都长成一个样”,只分阶数。判断一个群是否是循环群,只需要找一个生成元,然后看阶数。
再进一步,有限生成阿贝尔群结构定理一般不用这三条同构定理直接证明,但在理解其证明时绝对少不了。比如:
[ G\cong \mathbb Z^r\times(\mathbb Z/n_1\mathbb Z)\times\cdots\times(\mathbb Z/n_k\mathbb Z) ]
要对任意有限生成阿贝尔群做这种分解,需要反复使用“子群对应定理”和“第一同构定理”来约化。你在读那部分证明时,只要把同构定理的思维模式想清楚,就很容易跟上。
3.3 在正规子群链条与合成群列中的应用
如果有一个正规群列:
[ 1=N_0\lhd N_1\lhd\cdots\lhd N_m=G ]
其中每个商群 (N_i/N_{i-1}) 都是单群,这就是一个合成群列。判断两个合成群列的同构类型,需要用到 Jordan–Hölder 定理,其核心手段之一就是利用同构定理构造“两个群列交叉细分”之间的同构。
这里第三同构定理特别有用。比如有两个正规子群 (U,V\lhd G),你想比较两个截断商群:
[ U/(U\cap V)\cong UV/V ]
这就是第二同构定理的标准形式。很多合成群列相关的技术细节,本质上都是在反复使用这类同构关系。
我读那段内容时最大的体会是:一旦掌握了“第二同构定理可以连接两个不同的商结构”这一点,整个正规群列的选择看起来就没那么乱了。因为你总可以把一个复杂群列中的相邻商结构,改写到另一个更简单的群列框架里。
4. 实操视角:怎么运用同构定理解题
4.1 判定同构的标准套路
考试或研究中最常遇见的问题有两种:一是给定同态求商群同构,二是给定两个群证明它们同构。
第一种问题通常按这个流程:
构造一个从 (G) 到某个已知群的同态 (\varphi)。
计算 (\ker\varphi)。
验证 (\varphi) 满射,或者说明像的大小等于 (|G|/|\ker\varphi|)。
套第一同构定理 (G/\ker\varphi\cong\operatorname{Im}\varphi)。
第二种问题稍微复杂。如果已知 (H) 是某个商群,你可以反过来找一个原群上的同态,让它的像正好是 (H),核正好是你想要去掉的正规子群。
比如证明 (\mathbb C^\times/\mathbb R_{>0}\cong S^1)(复数乘法群去除正实数乘法群同构于单位圆群),你只需要取 (\varphi:\mathbb C^\times\to S^1),(\varphi(z)=z/|z|),核是正实数,直接得到结论。
我整理这个套路时,有一个切身体会:大部分初学者构造不出合适的同态,是因为只盯着题目里的群本身,没有去想“目标群的元素长什么样”。反过来想比较容易:你要证明 (G/N\cong H),不如找一个以 (N) 为核、像为 (H) 的同态。也就是先想清楚什么样的“数据丢失”会让 (G) 变成 (H)。
4.2 计算核与像的实用技巧
计算核的本质上是在解方程:
[ \ker\varphi={g\in G:\varphi(g)=e_H} ]
这句话看着简单,实操起来却有讲究。
第一,要分辨单位元是乘法还是加法,特别是群乘法群和加法群同时出现时,单位元容易写错。比如验证 (\det:GL_n(\mathbb R)\to\mathbb R^\times) 的核,是行列式为 1 的矩阵群 (SL_n(\mathbb R)),不是行列式为 0 的矩阵,因为 (0) 在乘法群 (\mathbb R^\times) 里根本不存在。
第二,计算像的时候,不要只写出定义,要尽量写出像的具体刻画。比如 (\det(GL_n(\mathbb R))=\mathbb R^\times) 是因为任意非零实数都有对角矩阵以它为行列式;但 (\det(O_n)={\pm1}),因为正交矩阵的行列式必为 (\pm1),且都存在。像的具体刻画决定了你能不能套用第一同构定理得到完整的信息。
第三,验证满射时,常用技巧是计算阶数:如果 (\varphi:G\to H) 且 (|G|=|\ker\varphi||H|),那么像的大小正好等于 (|H|),于是满射。这比逐个遍历像集合快得多。
4.3 第二、第三同构定理的实际使用场景
第二同构定理使用场景很典型:你有一个大的群 (G),一个正规子群 (N),还有一个不正规的小子群 (H),你想比较 (H) 在商群中的像。
举个例子,(G=S_4),取 (N=V_4)(克莱因四元群,正规的),再取 (H=\langle(1234)\rangle) 之类的循环子群。要算 (H/(H\cap V_4)),与其直接算商群,不如用第二同构定理:先算 (H\cap V_4),再算 (HV_4/V_4)。
更有意思的是,第二同构定理还能解释为什么“商群中的子群”和“原群中子群的像”长得这么像。这在几何或表示论里经常成为“对应原理”的基础。
第三同构定理使用场景则是“两个正规子群嵌套”的模式。比如 (N\lhd K\lhd G) 时,你想知道 (G/K) 在 (G/N) 背后的地位,直接用第三同构定理即可。
需要注意:第三同构定理中的“(K\lhd G)”不是可有可无的条件。如果 (K) 在 (G) 中不正规,(K/N) 未必是 (G/N) 的正规子群,所以 ((G/N)/(K/N)) 这个商群可能根本不存在。
4.4 证明题中如何“猜到”该用哪条定理
做题做多了,我总结了一个粗略的决策表。
| 题目条件 | 目标 | 优先考虑的定理 |
|---|---|---|
| 给了一个从 (G) 到 (H) 的同态 | 求商群同构 | 第一同构定理 |
| 有子群 (H) 和正规子群 (N),想比较 (H) 与商群的关系 | 形如 (HN/N\cong H/(H\cap N)) | 第二同构定理 |
| 有两个嵌套正规子群 (N\le K\le G) | 形如 ((G/N)/(K/N)\cong G/K) | 第三同构定理 |
| 给了商群,想知道原群中对应子群 | 子群对应 | 第四同构定理,也就是子群对应定理 |
这张表只是初始线索,不是万能钥匙。实际的证明往往需要组合两三条定理。我见过一道典型题:给 (G=\mathbb Z),(H=m\mathbb Z),(N=n\mathbb Z),要求证明 (m\mathbb Z/n\mathbb Z) 是循环群并求其阶。你可以先用第四同构定理判断 (m\mathbb Z/n\mathbb Z) 是 (\mathbb Z/n\mathbb Z) 的子群,再用第一同构定理计算商群大小得到 (|m\mathbb Z/n\mathbb Z|=n/\gcd(m,n))。这种组合用法非常常见。
5. 常见误区与高频问题实录
5.1 条件记混、用错的情况
先说最经典的错误:以为第二同构定理要求 (H\lhd G)。真相是只需要 (N\lhd G),(H) 可以是任意子群。为什么能放宽?因为整个构造里的正规性来自 (N),(H) 只是被映射到商群里的一个原像。
另一个常见错误是“把第二同构定理写成 (HN/N\cong H/(H\cap N)) 时,误以为右边是 (H/N)”。这在新手作业里出现的频率非常高。原因是对“(H\cap N) 不为 (N)”这一点没有感知。当 (H\subseteq N) 时,(H/(H\cap N)=H/H=1),而左边 (HN/N=N/N=1),两边确实相等;但这不是通常情形。如果 (H) 不包含于 (N),(H/N) 根本没有定义,因为你不能用不属于 (H) 的商结构。这一点必须强调。
第三个常见错误:第三同构定理里把条件写成 (N\lhd K\lhd G) 就完事了。刚说过,这还不足以推出 (K/N\lhd G/N)。必须有 (K\lhd G)。严格讲,(K\lhd G) 可以推出 (N\lhd K) 若 (N\lhd G),所以条件是 (N\lhd G) 且 (K\lhd G),且 (N\le K)。
5.2 关于良定义性的问题
第四同构定理也好,第一同构定理也好,最容易被忽视的技术环节就是良定义性。很多初学者默认“(gN\mapsto\varphi(g))”是自然定义的,只要同态 (\varphi) 的核为 (N),就一定良定义。但这需要验证:
如果 (g_1N=g_2N),即 (g_1^{-1}g_2\in N),则 (\varphi(g_1^{-1}g_2)=\varphi(g_1)^{-1}\varphi(g_2)=e),于是 (\varphi(g_1)=\varphi(g_2))。
这里用到“(N) 是核”的关键属性。假如 (N) 不是核,而是其他正规子群,这个验证会失败。比如映射 (G\to G/H) 的定义域随便取代表元,良定义性依赖的是等价关系再同态下的不变性。所以做题时要先明确你的映射到底定义在哪个集合上,再验证它是否不依赖代表元选择。
我自己的经验是:凡是讨论“商群上的映射”,先写一句“验证良定义”是必备动作。即使教材里经常省略,考试时写上也能避免过程不严谨。
5.3 如何检查自己套用定理时是否算错
实操过程中,我习惯做三件事来检查:
核对单位元。原群里的单位元与商群里的单位元、像群里的单位元要分清楚。特别是加法群和乘法群混在一起时,最容易把 0 和 1 弄反。
核对阶数。如果 (G) 有限,套用第一同构定理时应有 (|G|=|\ker\varphi|\cdot|\operatorname{Im}\varphi|)。这条等式不成立,说明核或者像算错了。它是很好的快速检查工具。
核对包含关系。用第四同构定理时,要保证原群对应子群确实包含 (N)。如果你构造出的子群不含 (N),对应关系一定错位。
这三步看似简单,实际上能在考场或研究里避免大量低级错误。
5.4 几个经典例子的对照速查
| 群 (G) | 同态 | 核 | 像 | 第一同构定理结论 |
|---|---|---|---|---|
| (\mathbb Z) | (\varphi(k)=k \bmod n) | (n\mathbb Z) | (\mathbb Z/n\mathbb Z) | (\mathbb Z/n\mathbb Z\cong\mathbb Z/n\mathbb Z) |
| (S_n) | (\operatorname{sgn}(\sigma)) | (A_n) | ({\pm1}) | (S_n/A_n\cong\mathbb Z/2\mathbb Z) |
| (GL_n(\mathbb R)) | (\det(A)) | (SL_n(\mathbb R)) | (\mathbb R^\times) | (GL_n/SL_n\cong\mathbb R^\times) |
| (\mathbb C^\times) | ( | z | ) | (S^1) |
这些例子反复出现在各类教材里,建议亲手算一遍再对照。不要只看结论,要自己走一遍构造同态、算核、算像、验证良定义的流程。算过一遍之后,定理就不再是悬空符号,而是具体的操作。
5.5 学习路线建议
如果你正在复习抽象代数,我比较推荐按这个顺序消化同构定理:
先完全理解第一同构定理的证明,能独立写出五步验证。
用第一同构定理把第二、第三同构定理各推一遍,不要背证明。
再做至少五道综合计算题,覆盖循环群、(S_n)、矩阵群等类型。
最后把第四同构定理加进来,用它反推原群与商群之间的子群关系。
这几步走完,群同构同态定理基本就内化成你自己的工具了。
我在反复教授这些内容的过程中,最大的感受是:同构定理不是需要死记的公式清单,而是一种“找到等价结构、算清楚核、用商群还原”的分析思路。一旦你习惯用“核—像—商群”三件套去看群,很多看似复杂的结构题都会变得顺理成章。
最后再分享一个小技巧,考试或查阅笔记时,如果突然忘记第二、第三同构定理的形态,不要慌。先写下第一同构定理,然后思考:题目给的那个映射限制在某个子群上,算核是多少?只要把映射写对、核算对,结论自然就出来了。真实做题时,这套推导过程比背公式更可靠,也更不容易出错。