算基本群的生成元,是代数拓扑入门时绕不开的一道坎。课本上会把基本群定义成“基点上闭路同伦类的集合配上拼接运算”,定义好背,可一到具体空间就露怯:圆周的生成元好说,绕一圈嘛;但换成环面、射影平面、两个圆粘在一起,很多人就不知道该画哪条回路、哪些回路其实是冗余的、关系又是怎么冒出来的。
这篇文章就专门解决“基本群生成元怎么算、怎么验证、怎么写成群展示”这个问题。我选了四个最经典的空间当例子:圆周 S¹、圆环面 T²、射影平面 RP²、两个圆的楔和 S¹∨S¹。别看例子基础,它们恰好覆盖了入门阶段你能遇到的所有典型情况——一个生成元、两个生成元带交换关系、一个生成元带二阶关系、两个生成元无关系。把这四个吃透,基本群的生成元计算你就有了自己的“套路”。
如果你正在学代数拓扑、准备相关考试,或者自学到这一章卡在“例题都会、做题不会”的状态,这篇文章可以直接当操作手册用。
1. 先搞清楚:生成元到底在算什么东西
1.1 基本群记的是“洞的类型”
基本群的元素是闭路(起点终点都在基点上的连续映射)的同伦类,乘法就是“先走第一条、再走第二条”的拼接。这个定义比较抽象,但几何直觉其实很朴素:基本群记录的是空间里“洞”的信息。
比如圆周,你拿着一根绳子绕圆一圈,这个“绕一圈”的闭路类就是基本群里的一个重要元素;绕两圈就是它的平方;反向绕一圈就是它的逆。反过来,任何一条闭路在圆周上绕的圈数一定是个整数,所以圆周的基本群是整数加群 Z,生成元就是“绕一圈”那个类。
这里有个很多初学者会忽略的点:不是所有闭路都配当生成元。只有那些“别的闭路都能由它拼出来”的闭路类才叫生成元。圆周上“绕两圈”的闭路类不能单独生成 Z,因为奇数圈拼不出来。所以找生成元,本质是在找一组“最小且能覆盖全体”的闭路类。
1.2 群展示才是最终交付物
群论里,一个群可以用生成元和关系来描写,写成< 生成元 | 关系 >的形式,这叫群展示。基本群计算的目标,通常就是把它化简成一个干净的群展示。
比如圆环面 T² 的结论是:
π₁(T²) ≅ Z × Z = < a, b | aba⁻¹b⁻¹ = 1 >意思是:基本群由两个生成元 a、b 生成,并且满足 a 和 b 交换(因为 aba⁻¹b⁻¹=1 等价于 ab=ba)。这个“关系”不是天上掉下来的,而是由环面的几何结构决定的。
我个人的经验是,计算基本群之前,先想清楚三件事:第一,基点选在哪;第二,空间能拆成哪些简单部分;第三,这些简单部分里的闭路怎么互相拼接。想清楚这三件事,再动手写群展示,基本不会跑偏。
2. 计算生成元的通用套路:三步走
标题里“计算方法”四个字是关键。我见过很多同学背熟了定理,却不知道从哪一步开始。这里给出一个可以按顺序执行的思路。
2.1 第一步:把空间写成“骨架加贴面”的结构
这里用的是 CW 复形的思想,不需要严格的定义,你只需要知道:先把空间搭成顶点和边(这叫 1-骨架),再往上贴圆盘之类的面(2-胞腔)。
为什么要这样做?因为基本群的生成元几乎都藏在 1-骨架里——绕每条边的闭合回路,就是生成元的候选。而关系藏在 2-胞腔的贴法里:边界圆盘沿什么词(word)贴到骨架上,就产生什么关系。
举个例子,射影平面 RP² 就是把一个圆盘的边界按对径点等同,然后贴到一条圆周上。那条圆周提供生成元 a,而边界贴上去时沿 a 走了两遍,于是关系就是 a²=1。这个方法非常“机械”,只要你能把空间拆出来,生成元和关系就自动出现了。
2.2 第二步:用 van Kampen 定理把拆开的部分合并
如果一个空间能拆成两个开集的并 U ∪ V,并且交 U ∩ V 是道路连通的,那么 van Kampen 定理告诉你:π₁(U∪V) 是 π₁(U) 和 π₁(V) 沿着 π₁(U∩V) 做的融合积。
这句话看起来很唬人,实际操作可以理解成两件事:第一,U 里的闭路和 V 里的闭路都能成为合并后空间的生成元;第二,交集中的闭路在 U 和 V 里分别代表某个元素,这两个元素必须被等同起来——这种等同就会产生关系。
环面 T² 的例子里,U 挖掉一个点后收缩成两个圆的楔和,生成元是 a、b;V 是一块小圆盘,基本群平凡;U∩V 是环带,基本群由 c 生成。c 在 U 中对应 aba⁻¹b⁻¹,在 V 中对应 1,所以关系就是 aba⁻¹b⁻¹=1。整个推导就是这么一步步拼出来的。
2.3 第三步:化简群展示,读出最终生成元
即使拿到了群展示,它也未必是最简形式。有冗余生成元或关系是常事,这时候需要做化简。核心工具是 Tietze 变换:可以增加或删除生成元,如果某个生成元能用其他生成元表达,或者某条关系能被其他关系推出,就可以删掉。
举个简单例子,如果展示里有< a, b | b = a³ >,那么 b 就是冗余的,直接消掉得到< a | > ≅ Z。实际操作中,化简的目标是把展示削到“不能再削”为止,这时候读出来的生成元数量和关系形式就是最终答案。
提示:化简时别只靠眼睛看,尤其是关系多的展示。养成“每删一步就回头验证一下”的习惯,避免把非冗余的东西误删。
3. 例子一:圆周 S¹,一个生成元绕一圈
3.1 题目与结论
固定基点 x₀=1,计算 π₁(S¹, 1)。
结论是:
π₁(S¹) ≅ Z生成元取为闭路 γ: [0,1] → S¹,γ(t) = e^(2πit),也就是逆时针绕圆周一整圈的那条回路。
3.2 为什么是 Z:卷绕数在起作用
这个结论通常用覆盖映射 R → S¹,p(t) = e^(2πit) 来证明。任意一条闭路 γ 从基点出发,可以唯一提升成实直线 R 上的一条路径 γ̃,并且 γ̃ 的起点是 0。因为 γ 是闭路,γ̃ 的终点一定是某个整数 n。这个 n 就叫卷绕数,它数的是这条闭路绕圆周转了多少圈。
于是每条闭路对应一个整数 n,闭路的拼接对应整数加法。圆周的基本群就是 Z,生成元是卷绕数为 1 的那条回路。
3.3 实操:拿到一条闭路,怎么判断它是什么类
给你一条画在圆周上的闭路,最快的判断办法就是画一条从圆心出发的射线,然后数这条闭路穿过射线的次数,加上正负号(逆时针为正、顺时针为负),这就是卷绕数。
举个具体例子:闭路 γ₂(t)=e^(4πit) 绕了两圈,卷绕数是 2,它的类就是生成元的平方,记作 [γ₂] = 2[γ]。反过来,一条闭路如果在一个小区间内来回抖动、始终不绕满一整圈,它的卷绕数就是 0,同伦于常值闭路,在基本群里是单位元。
这里有个新手常犯的错:把“绕半圈再原路返回”当成非平凡回路。注意这条路径不是闭路吗?如果从 x₀ 出发绕到对径点再原路返回,它确实是闭路,但它在 S¹ 上是可缩的,卷绕数为 0,所以是平凡元素。生成元必须是“整圈”的类,不是“半圈”。
3.4 生成元选取得灵活一点
Z 的生成元可以是 1,也可以是 -1,这对应逆时针绕一圈和顺时针绕一圈。但如果你试图拿“绕两圈”的类 2 当唯一生成元,那就只能生成偶数,奇数圈全丢了,所以 2 不是生成元。
如果想取两个元素当生成元,例如 2 和 3,那就可以:因为 2×2 - 3 = 1,你能凑出 1,于是 2、3 合起来能生成整个 Z。这个细节说明,生成元从来不是唯一的,但“最少生成元的个数”是群本身的性质。计算基本群时,最后一定要确认你选的生成元真的能生成整个群,而不只是生成一个子群。
4. 例子二:圆环面 T²,两个生成元带交换关系
4.1 题目与结论
把环面看成方形 [0,1]² 把对边等同:左边和右边粘起来记为 a,上边和下边粘起来记为 b。取基点为四个角的公共点。结论是:
π₁(T²) ≅ Z × Z = < a, b | aba⁻¹b⁻¹ = 1 >a 是走“横向”一圈的闭路,b 是走“纵向”一圈的闭路。两条闭路都是真正的生成元,谁也不能由谁拼出来。关系说明 a 和 b 交换:ab = ba。
4.2 用 van Kampen 一步步推出关系
T² 的具体推导过程值得完整走一遍,因为它是融合积的标准案例。
取 U 为环面去掉中心点 (1/2,1/2) 后的开集。U 可以强形变收缩到两个圆的楔和:一个是横向中线的圆 a,一个是纵向中线的圆 b,所以 π₁(U) = F(a,b),自由群。
取 V 为中心点附近的一个小开圆盘,π₁(V) = 1(平凡群)。
U∩V 是环面去掉中心点后剩下的环形带,同伦于一个圆周,所以 π₁(U∩V) = ≅ Z。
关键是 c 在 U 里代表什么。环形带的内边界包围着被挖掉的中心点,它往外走,在“两个圆的楔和”上对应的是先走 a、再走 b、再反向走 a、再反向走 b 的路径。也就是说,c 在 U 中对应换位子 aba⁻¹b⁻¹,而在 V 中对应单位元 1。van Kampen 定理把这两个代表等同,于是得到关系 aba⁻¹b⁻¹ = 1。这就是交换关系的来源。
4.3 实操画图:验证 ab 和 ba 同伦
在方形模型上验证 ab ≃ ba,比在三维环面模型上容易得多。
把 a 画成从左边界走到右边界的横向线段(等同后是闭路),把 b 画成从下边界走到上边界的纵向线段。先走 a 再走 b,形成的路径是一条先横后竖的折线;先走 b 再走 a,形成的是先竖后横的折线。这两条折线在方形内部围出一块区域,你可以把第一条折线连续地“滑”到第二条折线,过程中不碰任何边界障碍——因为方形内部是连通的。于是 ab 和 ba 同伦。
这个“滑动”在环面上对应的是:绕经线一圈再绕纬线一圈,可以连续变形为先绕纬线再绕经线。为什么能换序?因为环面本身是二维的,两条闭路的交点可以在面上滑动绕过对方。
4.4 容易踩的坑:别把 a 和 b 的幂次搞混
环面上“绕两个方向各一圈”和“绕一个方向两圈”是完全不同的元素:a² 和 b² 都不会等于 ab。另外,< a,b | ab=ba > 是 Z×Z,但不少人会误写成 < a,b | a=b >,那就是 Z 了,少了一个生成元,差得很远。
还有一个小坑:如果你只算同调群 H₁,得到 Z×Z 恰好和 π₁ 一样,容易让你误以为“看 H₁ 就行了”。但那是环面群可交换的特殊情况。下一节的例子会告诉你,非交换的时候 H₁ 会丢掉大量信息。
5. 例子三:射影平面 RP²,一个生成元但是二阶
5.1 题目与结论
射影平面 RP² 的常用模型是:取单位圆盘 D²,把边界上的对径点等同起来。结论是:
π₁(RP²) ≅ Z/2Z = < a | a² = 1 >这是一个二阶循环群,只有两个元素:单位元 1 和生成元 a,且 a² = 1。几何含义是:存在一条闭路,走一次不能缩掉,走两次就能缩掉。
5.2 用“骨架加贴面”算:a² 关系从哪来
把 RP² 看成 CW 复形。1-骨架是一条圆周(边界对径等同后的圆),生成元记为 a。2-胞腔是圆盘 D²,它的边界 ∂D² 要沿着圆周贴上去。
问题在于,∂D² 在边界对径等同之后,沿圆周走了几圈?答案是两圈。你可以想象边界上的点从 0 开始走到 2π,投影到对径等同后的圆周上,正好绕了两圈才回到起点。所以关系就是 a² = 1。
这个“两圈”是整个计算的核心。它来自“把对径点等同”这个操作的扭转:一维的边界在贴附时被扭了一次,投影下来圈数翻倍。
5.3 实操:为什么走两次就能缩掉
拿球面 S² 来做直观验证。RP² 可以看成 S² 把对径点叠在一起得到的商空间,覆盖映射 S² → RP² 是双覆盖。
取球面上一点 x,连接 x 到对径点 -x 的大圆弧,投影到 RP² 上就是生成元 a。这条闭路走一次,相当于你在 RP² 上从基点出发,沿着一条“直径方向”绕回基点。它不能缩掉,因为它在球面上的提升是一条连接两个不同点的路径,不是闭路。
但走两次呢?走两次 a² 的提升是:x → -x → x,这是球面上一条闭合路径。球面是单连通的,任何闭路都能缩成一个点,所以 a² 在 S² 上可缩,投影下来在 RP² 上也可缩。于是 a² = 1,而且 a ≠ 1。
顺便说一句,莫比乌斯带的中线就是 RP² 里那条生成元回路的直观化身:你沿中线走一圈回到出发点,但那条中线在带上没法连续缩成一点;走两圈反而能缩掉。RP² 本质上就是把莫比乌斯带和圆盘沿边界粘起来。
5.4 常见误区:生成元不是“半条线”
很多人看 RP² 的圆盘模型,以为生成元是“从圆心到边界”的那条半径。这是错的,因为你得从基点出发并回到基点,半径本身不是闭路。真正的生成元是“半径在边界对径等同下形成的整条闭路”,从基点出发,到达边界某点,再从对径点回来。
另外,< a | a²=1 > 里 a 和 a⁻¹ 是同一个元素,因为 a⁻¹ = a²·a⁻¹ = a。所以在 RP² 里逆时针绕一圈和顺时针绕一圈是一样的类,这在非交换群或 Z 里可完全不一样。
6. 例子四:楔和 S¹∨S¹,自由群 F₂
6.1 题目与结论
楔和 S¹∨S¹ 就是把两个圆周在一个公共基点处粘起来,形状很像数字“8”。结论是:
π₁(S¹∨S¹) ≅ F(a, b),自由群生成元是两个圆各自绕一圈的闭路 a 和 b,但没有任何关系。也就是说,基本群是自由群 F₂,所有有限长的词(比如 abba⁻¹b)都代表不同的元素,除非能通过反复删去 xx⁻¹ 或 x⁻¹x 化简成同一个词。
6.2 为什么没有关系
用 van Kampen 定理看得很清楚。
设 U 是第一个小圆(包含公共基点)附近的一个开邻域,V 是第二个小圆附近的开邻域。U∩V 是公共基点附近的一小片十字形邻域,它可以收缩到基点,所以 π₁(U∩V) = 1。
π₁(U) = ≅ Z,π₁(V) =≅ Z。由于交集的基本群平凡,融合积退化成自由乘积:
π₁(S¹∨S¹) = Z * Z = F(a, b)自由乘积的意思是:a 和 b 各自独立,互相不施加任何交换或幂次关系。
6.3 对比环面:为什么一个交换一个不交换
这是整个计算里最有价值的对比。
环面 T² 上,a 和 b 满足 ab=ba;楔和 S¹∨S¹ 上,a 和 b 不满足任何关系,ab≠ba。两者的区别在哪?
区别在于“能不能在空间里把 b 的路径滑过 a 的路径”。环面是二维曲面,a 和 b 的交点周围有一整块二维区域可供路径变形,所以 b 的回路可以绕过 a,实现交换。楔和的两个圆只在基点一个点处相连,周围没有二维面让路径滑过去;b 的回路如果想从 a 的一边走到另一边,就必须穿过 a 本身,这在同伦意义上做不到。
用群展示的语言说:T² 多了一条关系 aba⁻¹b⁻¹=1,把自由群 F₂ 变成了交换群 Z×Z。这一条关系的影响是巨大的:F₂ 是不可交换的无限群,而 Z×Z 是交换的无限群。
6.4 实操:写一个非平凡词并检验
在 S¹∨S¹ 上考虑词 w = ab a⁻¹ b。这个元素能不能化简成单位元?
自由群里判断平凡的唯一方法:反复删除相邻的 xx⁻¹ 或 x⁻¹x 对,能不能删光。w = ab a⁻¹ b 没有相邻的互逆对,所以它无法化简,不是单位元。它在楔和上的几何形状是:先绕 a 圆一圈,再绕 b 圆一圈,再反向绕 a 圆,再绕 b 圆一圈——这是一个绕了两次 b 的“8 字形”闭路,当然不能缩成点。
实操建议:在纸上画“8”字,把 a 圆和 b 圆涂成不同颜色,然后按词序描路径,每遇到逆元素就反向描一笔。描完你会发现,只有那些能“原路退回”的词才会缩掉,其他都是非平凡元素。
7. 常见问题与排查技巧实录
7.1 怎么判断候选回路真的是生成元
算完基本群,我一般会做两个验证。第一个验证是生成性:这组回路能不能拼出空间里所有“基本”的圈?第二个验证是独立性:这些回路之间有没有非平凡关系?
判断生成性,常用覆盖空间法。比如 S¹ 的覆盖空间 R → S¹,一条闭路如果卷绕数是 1,它的提升可以从 0 到 1,说明它确实跨过了覆盖的一个基本周期。如果卷绕数是 2,提升从 0 到 2,它只能生成偶数类,显然不是生成元。
判断独立性,则要看关系的存在性。如果空间本身是单连通的(比如球面 S²),基本群平凡,任何回路都可缩,不存在生成元。如果空间能拆成两个开集的并,注意 van Kampen 定理的交集是否道路连通——不满足条件时强行使用,会凭空多出错的关系。
7.2 常见错误速查表
| 错误表现 | 典型原因 | 正确做法 |
|---|---|---|
| 把非闭路(如半径)当成生成元 | 没检查起点终点是否在基点 | 生成元必须是闭路类,先确认闭路 |
| 只写生成元不写关系 | 忽略 2-胞腔贴附产生的约束 | 每贴一个圆盘,沿边界读一个关系 |
| 环面算成 F(a,b) | 忘掉 aba⁻¹b⁻¹=1 这条交换关系 | 用 van Kampen 检查交集带来的等同 |
| RP² 算成 Z | 以为 a² 和 a 一样 | 用双覆盖验证 a² 可缩、a 不可缩 |
| 把 H₁ 当 π₁ | 混淆同调与同伦 | 非交换时 π₁ 信息更多,如 F₂ 交换化才是 Z² |
7.3 验证群展示的最后一个技巧
拿到展示< S | R >后,别急着收工,动手做两组检查。
第一,把每个关系的“长度”数一遍。比如 aba⁻¹b⁻¹ 长度是 4,a² 长度是 2。如果发现某个关系可以被其他关系推出,它是冗余的,可以删。第二,试着用小规模检验:比如展示< a,b | ab=ba >,你验证 ab=ba 只在表面相等,但通过关系可以推出 a²b = ba²,说明 a 和 b 确实能在任意位置换序,群确实交换。如果换不了序,说明你少写了一条关系,或写错了。
如果条件允许,我还会用符号计算环境把群展示输入进去做一遍化简和阶数验证。工具不会说谎,它能快速发现你的关系写反了、或者生成元漏了一个之类的低级错误。
7.4 四个例子的最终速查
| 空间 | 基本群 | 生成元 | 关系 |
|---|---|---|---|
| S¹ | Z | 绕一整圈的闭路 | 无 |
| T² | Z × Z | 经向闭路 a、纬向闭路 b | aba⁻¹b⁻¹ = 1 |
| RP² | Z/2Z | 对径闭路 a | a² = 1 |
| S¹∨S¹ | F(a,b) | 两个圆各自的闭路 a、b | 无 |
把这四个结论对照着看,你会发现一个规律:生成元的个数反映了空间里“独立洞”的个数,而关系反映了洞与洞之间的纠缠方式。计算基本群生成元,本质上就是在做两件事:数洞,和数“洞之间怎么绕”。
我个人在实际操作中的体会是,算基本群最忌讳一上来就套定理。我的习惯是:先画图,标出基点,把可能的关键回路描出来并给它们命名,再写群展示,最后用 van Kampen 或 CW 贴附去验证关系。四个例子做完,这套流程基本就固化下来了。
最后再分享一个小技巧:学完这四个标准例子,可以试着练几个变体——比如亏格为 2 的曲面、去掉两个点的平面、莫比乌斯带。你会发现,生成元的选取和关系的推导会有更多微妙的细节,但核心思路完全一致:拆空间、找骨架、写展示、化简验证。练熟了,基本群生成元的计算就不再是背结论,而是真正可以随手操作的技能。