群论在学什么?一句话:研究对称性的数学语言。
我在翻开抽象代数教材之前,完全不知道一个只有四条公理的定义能引发出这么多内容;翻开之后,又差点被满页的“集合、运算、等价类”劝退。这篇笔记是我自学群论以来踩过坑之后的重新梳理,目标是让还没入门的读者知道群论到底在做什么、核心概念如何理解、怎么安排学习顺序、又有哪些地方最容易翻车。它也适合学过一些但缺乏整体框架的人用来对照查漏。
群论不是一门孤立课程。晶体学中的空间群、化学里的分子对称性、物理中的基本粒子分类、计算机科学里的编码理论,背后都是同一个代数结构。理解了群,就等于拿到了一把能同时打开好几个领域的钥匙。但这把钥匙的造型很怪异——它不依赖具体的数字运算,而是抽象出一个运算结构,再研究结构本身。
下面按我自己的学习路径,把群论的几个关键节点拆开讲。
1. 为什么非要学群论
1.1 对称性的本质是“变换的集合”
你可以先忘掉教材里的公理,从最常见的现象出发:正方形为什么比长方形“更对称”?因为让正方形位置重合的旋转和翻转操作更多。这些操作各自都是一个变换,把所有操作放在一起,就形成了一个集合。群论研究的,就是这个集合内部的操作规律。
比如正方形的对称操作有四次旋转(转0度、90度、180度、270度)和四个翻转,一共八个。任取其中两个操作,先做一个、再做另一个,结果仍然落在这八个操作之中。这个“先做甲再做乙”的复合过程,抽象出来就是群里的“乘法”。两个变换能按顺序合成新的变换,这正是群运算的第一层含义。
为什么对称要用这种抽象方式定义,而不是直接描述图形?因为一旦你把图形换成晶体、换成方程、换成粒子物理里的量子态,操作的本质仍然是“保持某种属性不变的变换”。图形会变,变换的规律不变,这就让同一种数学工具能跨领域复用。
1.2 从方程求解到现代数学:群论的历史动机
群论诞生时解决的是一个非常具体的问题:一个高次多项式方程,有哪些根可以用加减乘除和开方表达出来。表面上看,这跟“对称性”八竿子打不着。但那位最早系统研究这个问题的青年数学家发现,方程根之间存在一种置换关系——把根相互交换,方程依然成立。这种“根的置换”恰恰构成一个群。
于是他得到一个关键结论:方程能否根式求解,取决于这个置换群的结构是否满足某种“可解性”。五次及以上的一般方程不可根式求解,就是因为对应的置换群结构太“复杂”,不满足可解条件。数学史上这个结论解决了几百年悬而未决的难题,群论也因此成为现代代数的基石之一。
学到这里你就会明白,群论不是无聊的公理游戏。它的概念从具体问题里生长出来,再反过来统治了一大批问题。读懂这个动机,后面学子群、商群时就不会觉得是在空中盖楼。
2. 群的公理化定义:四条公理背后的直觉
2.1 封闭性、结合律、单位元、逆元逐个拆
教材上的群定义只有四条,但每一句都值得反复琢磨。
封闭性说的是:集合里任意两个元素做运算,结果必须还在这个集合里。如果集合是整数,运算是加法,那没问题;如果集合是奇数,运算是加法,1加3等于4,4是偶数,不在集合里,所以奇数在加法下不封闭,不能成群。这条公理看起来平淡,却是群作为“自足结构”的前提。
结合律是说运算顺序不影响结果,也就是 ((ab)c = a(bc))。加法、乘法都满足这个性质,但减法不满足,比如 ((5-3)-2 = 0),而 (5-(3-2) = 4)。所以整数在减法下构不成群。
单位元是那个“什么都不做”的元素。乘法中它是1,加法中它是0。在对称变换里,单位元就是“原封不动转0度”。它存在的意义是给每个元素一个参照点。
逆元是“抵消”元素。每个元素 (a) 都必须能找到一个 (a^{-1}),让 (a \times a^{-1}) 等于单位元。加法里,3的逆元是-3;乘法里,2的逆元是1/2。逆元保证了群里的元素可以“撤销”——这在几何变换里尤其直观:一个旋转做完,总有另一个旋转把你转回原位。
四条公理少一条都不行。没有封闭性,运算就出不了集合;没有结合律,表达式本身就没有唯一含义;没有单位元和逆元,就谈不上“对称操作的撤销”。
2.2 群运算不一定是数字乘除
初学者最容易卡住的地方,是把“群运算”想象成熟悉的数字乘法或加法。实际上群运算可以是任何满足公理的双元操作。
比如整数加法构成群 ((Z, +)),这里的“运算”是加法,单位元是0,3的逆元是-3。又比如非零有理数在乘法下成群,单位元是1,3的逆元是1/3。同一个集合在不同运算下可以形成完全不同的群。
最典型的非数字例子是“正方形翻转”构成的群:两个翻转操作“左右翻转”和“沿对角线翻转”复合之后,得到的是一个旋转操作。你很难把它跟普通数字乘法画等号,但它完全满足群公理。建立“运算可以很抽象”这个认知,是理解群论的第一步。
把这种认知再推一步:我们甚至可以完全不关心集合里元素本身是什么,只关心它们之间的运算关系。两个看似风马牛不相及的群,只要运算表结构一致,在群论看来就是同一个东西。这就引出了后面要讲的同构概念。
3. 核心结构:子群、陪集、商群
3.1 子群与陪集:集合内部的自相似
子群的定义不复杂:从一个群里取一部分元素,如果这些元素在同样的运算下自己也构成一个群,就叫子群。比如偶数集合是整数加法群的子群,而奇数集合不是——因为奇数之间相加得不到奇数。
真正有趣的是陪集。给定一个子群 (H),用群里某个元素 (a) 分别“乘” (H) 里的每个元素,得到的集合 (aH = {ah : h \in H}) 叫左陪集。注意我这里用的是乘法记号,实际运算可能是加法、复合等。陪集不一定是子群,它是子群被某个元素“平移”之后的结果。
陪集有一个很漂亮的几何直觉:想象整数加法群里,子群是3的倍数 (3Z = {..., -3, 0, 3, ...})。用1去平移它,得到陪集 (1 + 3Z = {..., -2, 1, 4, ...});用2去平移,得到 ({..., -1, 2, 5, ...})。这三个集合把整个整数划分得干干净净,没有重叠,也没有遗漏。
从这种划分可以推出一个著名的结论:子群的阶数(元素个数)一定能整除群的阶数。简单说,大群被小群平移划分成了若干个大小相同的“块”,每个块都跟子群一样大,所以总元素数必然是子群元素数的整数倍。这个结论叫陪集划分定理,它意味着群的结构不能有“残缺”:如果一个6元群里有子群,子群大小只能是1、2、3或6,不可能是4。
3.2 正规子群与商群:为什么能“除以”一个群
商群是初学群论时最让人头疼的概念之一,但它的本质其实就是“把群按子群打包”。
我们想在一个群里做“除法”:把群 (G) 除以一个子群 (N),得到一个新的群 (G/N)。新群的元素不是单个元素,而是N的全部陪集。问题来了:两个陪集之间怎么定义运算? (aN) 乘以 (bN),自然想定义成 (abN)。这个定义能不能行得通,取决于 (aN \cdot bN) 是否真的等于 (abN),跟取哪个代表元素无关。
数学家发现,这个定义可行当且仅当 (N) 满足一个额外条件:对任意 (g \in G),都有 (gN = Ng)。满足这个条件的子群叫正规子群。注意这个条件不是说每个元素交换,而是说左陪集和右陪集作为集合恰好一致。
一旦 (N) 是正规子群,所有陪集之间就有了合法的运算,商群 (G/N) 就诞生了。我自己的理解方式是把商群想成“把每个陪集压缩成一个点”,然后看这些“点”之间怎么互相作用。这个过程有点像把一整箱水果按颜色分类,每类看成一个整体,再看颜色之间的关系。整数加法群除以 (3Z),得到的是一个只有三个元素的循环群,三个元素分别代表余数0、1、2。商群把原来无限的结构压缩成了一个有限的小结构,小结构反而更容易观察本质。
3.3 同态与同构:结构之间的映射
同态是两个群之间的一个映射 (f: G \to H),它保持运算结构,也就是 (f(ab) = f(a)f(b))。这个条件在群论里意义重大:一个群里的运算,经过映射之后,在另一个群里仍然“说得通”。
如果这个映射还是双射,那就算同构。同构意味着两个群的结构完全一致,只是元素名字不同。比如时钟上的时针旋转群(12个元素)跟整数模12加法群,结构上就是同一个东西。很多教材在反复强调“同构群本质上是同一个群”,这个认知能极大简化问题:你要研究某个群的性质,只要找到一个结构简单的同构对象,就可以拿过来直接用。
同态则更进一步,它允许结构被“压缩”——多个元素映射到同一个元素。这种压缩很有用,比如判断一个群是否等于某个结构的“放大版本”。同态与同构之间那条著名的对应关系,说白了就是在描述“核”(映射到单位元的元素集合)和商群之间的关系。这个定理学完,群论的骨架基本就立起来了。
4. 几类绕不开的具体群
4.1 循环群:最简单却最基础的群
循环群是这样一个群:所有元素都可以由某个固定元素 (a) 的幂(迭代运算)生成,写出来就是 ({e, a, a^2, ..., a^{n-1}})。整数加法群是最典型的无限循环群,元素1可以生成所有整数;模n整数加法群是有限循环群,1可以生成所有余数。
循环群的分类已经完全清楚,这正好让你体会“分类”在群论中的含义。有限循环群的元素个数n一旦确定,结构就完全确定。它的子群结构也很有意思:每个元素个数m都恰好对应一个m元子群,而且这些子群是嵌套式的链状排列。比如12元循环群有子群大小1、2、3、4、6、12,一个不多一个不少。
循环群虽然是结构最简单的群,却是无数更复杂群的基础构件。后面学的置换群、矩阵群,内部往往隐藏着循环子群。理解循环群的生成元和子群规律,是练手的最好起点。
4.2 置换群:群论的“原型机”
置换就是把一组对象重新排列。三个元素的排列一共有 (3! = 6) 种,它们在全排列上做“先排一次再排一次”的复合,构成一个6元群。这个群叫3次对称群。
置换群特别重要的是因为它几乎是所有群的“原型机”。一个著名的结论是:任何有限群都与某个置换群的子群同构。意思是,只要理解了置换群,就等于理解了所有有限群的结构。这个结论非常强大,它把抽象的群问题转化成了具体的排列组合问题,哪怕只是验证一个群的运算表,也能从中看出置换的影子。
我学习置换群时习惯用轮换记号来写:比如 ((1\ 2\ 3)) 表示把1变2、2变3、3变1。这种记号看着简单,实际上能极大简化复合运算的理解。多个轮换之间还可以进一步分解成对换的乘积,由此发展出置换的奇偶性——偶置换构成一半的置换群,这个子群结构优美,是理解更复杂群的最佳跳板。
4.3 二面体群:几何与代数之间最直观的桥
二面体群 (D_n) 描述正n边形的对称操作。正三角形有6个对称操作,正四边形有8个,正n边形有 (2n) 个。一半是旋转,另一半是翻转。
如果你一开始觉得群公理太抽象,可以从二面体群入手。拿一个正三角形纸片,实际动手旋转和翻转,再观察不同操作复合后的结果,你会发现群论的每一条公理都在面前真实上演。比如先翻转再旋转的结果,与先旋转再翻转的结果往往不同——这正是非交换群的直观演示。取 (r) 为顺时针旋转90度,(s) 为某条对称轴翻转,正方形群里会满足关系 (sr = r^{-1}s),这类关系就是群的呈现(generators and relations)思想的雏形。
二面体群还让你自然理解“生成元”和“关系”这两个概念:整个群只需要两个生成元,加上几条关系式就能完全确定。这种“少生成元+多条关系”的视角,是群论里最有力的描述工具之一,也是后续学习更复杂群时反复使用的方法。
5. 学习群论的具体实操路径
5.1 先动手算一算“乘法表”
很多人一上来就背定义,效果奇差。我推荐从群乘法表(也叫凯莱表)入手:选一个简单的群,比如3次置换群,把每个元素和每个元素相乘的结果全部列出来,然后对照群公理逐条验证。这个过程不需要任何天分,但会逼你理解封闭性、单位元、逆元的实际含义。
做乘法表时最好亲手算三遍。第一遍按定义机械算,第二遍用轮换记号简化,第三遍找规律——看看每一行是不是恰好把每个元素都出现一次。这个“每行每列恰好包含所有元素一次”的性质,叫拉丁方性质,它等价于消去律。亲手发现这个规律,你对群结构的理解会比死记硬背深得多。
动手算表过程中,还可以用程序辅助验证。Python里可以用一个类简单封装群元素和运算,循环检查公理;更专业的工具是GAP(Groups, Algorithms and Programming),它专门为群论设计,可以直接定义群、计算子群和陪集。不过我的经验是:程序可以验证结论,但代替不了手算。手算能让你在错位和巧合中发现直觉,程序只能在你知道查什么之后帮你省时间。
5.2 证明关键定理时应该用什么策略
群论的定理证明跟分析、几何完全不同。它没有辅助线、没有连续函数,有的只是公理和定义。初学者最常见的挫败感来自“不知道从哪下手”。我慢慢摸索出的套路是:逐字展开定义,再尝试反证法。
比如证明“群的单位元唯一”:假设存在两个单位元 (e_1) 和 (e_2),把其中一个看成普通元素,用另一个的“单位元性质”去运算,立刻得到 (e_1 = e_1e_2 = e_2)。整个证明不到三行,但如果不先假设两个、直接正面证明,往往卡住。很多这类“第一次看不出来第二步”的证明,都是因为缺少“反证+用定义硬算”的肌肉记忆。
这里的实操建议是:把证明看完一遍之后,合上书独立重写。写不出来不要紧,卡住地方标记出来,第二天再看。重复两三次,那些技巧才能真正变成你自己的。
5.3 建立自己的“群论案例库”
孤立地学定义效率极低。建议建立一个不超过十个例子的“案例库”,随时用它们验证新概念。我的案例库包括:
- 模n加法群(循环群的样板)
- 非零有理数乘法群(无限交换群)
- 正三角形/正方形二面体群(非交换群的样板)
- 三次置换群(非交换、最小非交换群之一)
- 四元数群(结构奇特的小群)
- 整数加法群(无限循环群的样板)
每学一个新概念,比如正规子群、商群,都拿这几个例子各套一遍。看它们在哪个例子里成立、在哪个例子里不成立。这个“套例子”的过程会帮你建立抽象概念的具象记忆,比任何比喻都管用。
5.4 安排学习顺序的建议
群论的自学顺序最好是:集合与映射回顾 -> 群的公理与例子 -> 子群与陪集 -> 正规子群与商群 -> 同态定理 -> 循环群与置换群 -> 群的直积 -> 若继续深入,再进入西罗定理或群的呈现理论。
不要把西罗定理(有限群的素数幂子群存在定理)放在一开始学。它虽然漂亮,但依赖大量预备知识。先吃透商群和同态定理,把有限群和置换群的例子玩熟,再碰西罗定理就会轻松很多。顺序颠倒是群论自学失败的最常见原因。
6. 常见错误与避坑指南
6.1 把“交换律”当成群公理
我第一次学群时,潜意识里总觉得两个元素的运算次序不影响结果,因为从小到大碰到的加法和乘法都满足交换律。这个错觉在群论里非常危险。
只有满足交换律的群才叫交换群(也叫阿贝尔群),比如整数加法群和循环群。但置换群、二面体群、矩阵群绝大多数都不交换。一次翻转和一次旋转的复合顺序不同,结果可能完全不同。学群论时必须时刻提醒自己:运算有方向性,把 (ab) 和 (ba) 当成两个不同的东西去对待。
6.2 混淆陪集与子群的关系
陪集 (aH) 看起来像一个“放大了的子群”,但它本身一般不构成群。为什么?因为单位元不一定在陪集里面——只有当 (a) 恰好属于 (H) 时,(aH) 才等于 (H),否则陪集只是子群的一个平移副本,没有单位元,自然不是群。
这个误解会导致后续商群概念全面崩塌。检验自己是否真懂陪集,可以问一个问题:整数加法群里,子群 (3Z) 的陪集 (1+3Z) 包含0吗?答案是否定的,而0是整数加法群的单位元,所以它不可能是一个子群。搞懂这个例子,陪集的本质就清楚了大半。
6.3 同态与同构分不清
同态只是保持运算关系的映射,它可能把多个元素压成一个;同构则是双射,必须一对一。不少初学者看到 (f(ab) = f(a)f(b)) 就直接断言是同构,忽略了单射和满射条件。
有一个很直观的反例:整数加法群到自身,映射 (f(n) = 0)(把所有元素都映射到单位元)。这个映射保持运算,完全满足同态定义,但它显然不是同构。学习同态定理时,建议把这个“平凡同态”跟真正的一一映射反复对比,别让“保持运算”骗了你。
6.4 只看证明、不亲手验证
群论的抽象程度容易让人产生“看懂即学会”的错觉。我在自学初期就吃过这个亏:教材上的定理证明都看懂了,一到做题就完全卡壳。群论对逻辑推理的缜密程度要求极高,任何“这里应该成立吧”的直觉推断,如果没有逻辑链支撑,几乎都是错的。
我的办法是把所有关键定理(同构定理、拉格朗日定理、西罗定理)至少独立证明两遍,然后合上书、拿出白纸,把证明中最难的一步用自己的话解释出来。解释得通,才算真懂;解释不通,就是还没吃透。
7. 进阶方向与学习资源思路
7.1 从有限群到无限群再到李群
学完基础群论之后,有几个自然方向。有限群方面,西罗定理判断子群存在性;几何方向,可以进入群作用与轨道-稳定点定理;分析方向,可以接触矩阵群、李群等连续对称结构。物理和工程领域最常用的是李群,比如旋转群和洛伦兹群,它们把群论从“有限个元素的代数结构”推广到“连续变化的对称结构”。
理解连续群的关键仍然在基础群论:同一个群可能具有多种等价表示,把抽象元素映射成矩阵,然后研究与矩阵相关的迹与行列式性质。这就是表示论的入口。许多教材把表示论放在比较靠后的章节,但我建议在学习群作用理论后就适当接触一些维数低的具体表示,形成必要的几何直觉。
7.2 用项目驱动代替盲目刷题
纯做习题容易枯燥,我的建议是用一个小项目来带动学习。比如给定一个置换群的生成元,写一个程序自动计算它的全部元素和子群;或者拿一个二阶魔方/拼图模型,用群论分析它的“合法状态”构成多少个循环结构。项目驱动会让你在真实问题里接触大量具体群结构,比单纯刷题效率高得多。
我当时做的一个模拟项目是:把正四面体的全部对称操作列出来,验证它们构成一个12元群,再写程序枚举它的子群和陪集。完成这个项目后,商群、正规子群、陪集这些概念在我脑子里彻底“落地”了,不再是一堆飘在空中的定义。
7.3 资源使用的避坑提醒
群论教材很多,但风格差别巨大。入门阶段我建议找一本侧重例子和应用的教材,而不是一上来就啃全英文的纯理论大部头。中文教材可参考国内的抽象代数著作;英文经典如“代数学引论”系列也非常出色,但中后期阅读更合适。关键在于:不要同时读三本教材,选定一本为主线,其他只作参考。
视频课程可以作为辅助,但群论是“做出来的”学科,看再多的视频都不如亲自算一遍乘法表。我见过不少入坑群论又迅速退坑的人,原因几乎都是“只听不写、只看不算”。
最后分享一点我自己的体会。群论里最让我震撼的时刻,不是读懂某个高深定理,而是有一天突然发现:晶体、分子、粒子物理和数论方程里那些看似毫无关联的对称现象,背后居然用同一套代数结构来描述。这个认知让我重新看待数学中的“抽象”二字——抽象不是为了让人看不懂,而是为了在不同问题之间架桥。
如果你也正在学群论,我建议把“错题笔记”做起来。把每个理解偏差、每次证明失败都记下来,隔一段时间回头看看,你会发现那些当初觉得晦涩的概念,早已变成顺手使用的工具。握紧这条线,群论会越学越顺。