Sₙ 的自同构群

数学小主题读本 · 其七 | 从类的大小到完备群——n = 6 处唯一的裂缝 | 九章格数学 PhiloMath
本册定位。群的元素是「对称」:置换把文字搬来搬去而保持乘法结构。本册站到更高一层,问对称的对称:从 Sn 到自身的、保持全部乘法关系的双射——自同构——一共有多少个?答案在 n 处裂成两个世界:当 n ≠ 2, 6 时恰有 n! 个,而且全部由群内部的共轭产生(Sn 是完备群);唯独 n = 6 时凭空多出一倍,出现群之外来的对称——外自同构,这是有限群论最著名的例外现象。本册的证明只依赖一件朴素的武器:共轭类的大小。§1 备齐自同构群的语言并证明完备群的第一个回报——直接因子性质;§2 盘点 Sn 的 2 阶共轭类账本,证出「对换类的大小唯一」(除 n = 6);§3 用极大团的组合论证拿下主定理;§4 汇总完备群的性质;§5 用 duad–syntheme–total 三层构造把 S₆ 的外自同构原原本本造出来,并证 Out(S₆) ≅ C₂;§6 走到自同构塔。全册假设读者读过一本入门群论教程的前半段(群、子群、陪集、Lagrange 定理、共轭类);读过本系列其五《数学对象的自同构群》更佳但非必需。附录 A 汇总速查表,附录 B 给出一份可直接运行的核对脚本。

§1自同构:另一种对称

置换群研究的第一层对称是「群作用在集合上」。本册要研究的对象深一层:群作用在它自己身上,而且要求保持乘法。这一节把语言备齐——自同构群、内自同构、外自同构——并证明完备群的第一个回报:完备群在一切过群里都自动是直因子。

1.1 自同构群:只看得见乘法的眼睛

定义 1.1(自同构) 群 G 到自身的同构(保持乘法的双射)称为 G 的自同构(automorphism)。G 的全体自同构在复合运算下成群,记作 Aut(G)。

自同构是「只看得见乘法结构」的双射:它不知道元素叫什么名字、长什么样子,只知道谁乘谁等于谁——而它必须把这张乘法关系网原样搬到另一份名单上。一切群论性质——元素的阶、子群、共轭关系、交换性——都在自同构下原封不动。

例 1.2(热身) 

有一类自同构不需要从外面请,群自己就能生产。

定义 1.3(内自同构) 对 g ∈ G,映射
cg : x ↦ gxg−1
称为(由 g 诱导的)内自同构(inner automorphism),即「共轭」。全体内自同构记作 Inn(G)。
定理 1.4 映射 g ↦ cg 是 G 到 Aut(G) 的满同态( onto Inn(G)),核为 Z(G)。于是
Inn(G) ≅ G/Z(G)。
证. 先验证 cg 是自同构:双射(逆为 cg−1),且 cg(xy) = gxyg−1 = (gxg−1)(gyg−1)。其次 cg∘ch(x) = g(hxh−1)g−1 = cgh(x),故 g ↦ cg 是同态。最后,cg = id ⟺ gx = xg 对一切 x ⟺ g ∈ Z(G)。∎
引理 1.5 Inn(G) ◁ Aut(G);且对任意自同构 α 有共轭公式
α cg α−1 = cα(g)。
证. 对任意 x:(αcgα−1)(x) = α(g·α−1(x)·g−1) = α(g)·x·α(g)−1 = cα(g)(x)。公式右边仍是内自同构,故 Inn(G) 在 Aut(G) 的共轭下封闭,即正规。∎
定义 1.6(外自同构群) 商群
Out(G) = Aut(G)/Inn(G)
称为 G 的外自同构群(outer automorphism group)。两个自同构被 Out(G) 视为同一个,当且仅当它们相差一个共轭——外自同构群度量的正是「共轭够不着的那部分对称」。

顺带得到一条本册反复使用的观察:自同构把共轭类整类搬走——由引理 1.5 的公式,x 与 gxg−1 的像分别是 α(x) 与 α(g)α(x)α(g)−1,仍共轭。所以 α 诱导出「共轭类集合上的一个置换」,而且(习题 2)保持每类的大小。§3 的整个证明就压在这一句话上。

1.2 完备群:两条标准的合订本

定义 1.7(完备群) 群 G 称为完备群(complete group),若
Z(G) = {e} 且 Aut(G) = Inn(G)(即 Out(G) = 1)。

两条标准各挡一条退路。中心平凡保证 G → Inn(G) 是同构(定理 1.4 的核缩成一点),群与它的内自同构群可以划等号;外自同构平凡保证没有体外的自同构。两条合起来:G 的全部自同构恰好就是 G 自己的内部共轭——群把自己所有的对称都用完了。

例 1.8(三条边界) 

本册的主角马上给出正例:Sn 在 n ≠ 2, 6 时完备(定理 3.5),而 S₆ 恰在第二条上破例(定理 5.4)。完备与不完备的分界线画得干净利落,这在群论里相当罕见。

1.3 完备的第一个回报:直接因子性质

完备为什么值钱?第一个答案:完备群嵌进任何过群时,都会自动劈走自己的直积因子——谁也别想用半直积的方式「拧」它。

定理 1.9(直接因子性质) 设 N ◁ G 且 N 完备。则
G = N × CG(N),
其中 CG(N) = {g ∈ G : g 与 N 的每个元素交换} 是 N 在 G 中的中心化子。特别地,商群 G/N ≅ CG(N),而 G 到 N 上的任何「半直积拆解」都必然是平凡的直积。
证. 分三步。 第一步(积):G = N·CG(N)。任取 g ∈ G。由于 N ◁ G,对 x ∈ N 有 gxg−1 ∈ N,故共轭限制出一个自同构 cg|N ∈ Aut(N)。N 完备,这个自同构是内的:存在 n ∈ N 使 cg|N = cn|N。令 h = n−1g。对一切 x ∈ N:
hxh−1 = n−1(gxg−1)n = n−1(nxn−1)n = x,
即 h 与 N 的每个元素交换,h ∈ CG(N)。于是 g = nh ∈ N·CG(N)。 第二步(交):N ∩ CG(N) = Z(N) = {e}——既在 N 里又与 N 交换的元素正是中心,而中心平凡。 第三步(直积):两子群逐点交换(CG(N) 的定义),乘积是全群,交平凡——这正是(内部)直积的定义。∎
例 1.10(正例:D₁₂ 拆成 S₃×C₂) 正六边形的对称群 D₁₂ = ⟨r, s⟩(r⁶ = s² = e,srs = r−1)里,取 S₃ = ⟨r², s⟩(阶 6,指数 2 故正规)与 C₂ = ⟨r³⟩(r³ 是转半圈,居中心)。直接验算:D₁₂ = S₃·⟨r³⟩、两因子交平凡、且 r³ 与 S₃ 的每个元素交换,于是 D₁₂ ≅ S₃×C₂;并且 CD₁₂(S₃) 恰为 ⟨r³⟩——与定理 1.9 的结论逐字吻合(附录 B 脚本逐元素核验)。
例 1.11(反例:A₅ 拧在 S₅ 里) 把 N 换成不完备的 A₅:A₅ ◁ S₅(指数 2),但 S₅ ≠ A₅×CS₅(A₅)——因为 CS₅(A₅) = {e}(与全体偶置换交换的奇置换不存在)。定理 1.9 用不上的原因正是 Out(A₅) ≅ C₂:共轭 cg(g 奇)限制到 A₅ 上是体外自同构,第一步「找一个 n ∈ N 匹配」根本做不到。完备与否,在半直积的螺丝口上见分晓。
注 1.12(全形预告) 把 G 与它的全部自同构装进一个半直积,得全形(holomorph)Hol(G) = G ⋊ Aut(G)——「一个群连同它的全部对称」的最经济包装。G 完备时这个半直积会退化成直积:Hol(G) ≅ G×G(§4 定理 4.2)。完备群连自己的全形都「拧不动」。
思想 本册的地理图景:群 G 站在一座塔里(§6),塔的每一层是上一层的自同构群;Inn 是从本层看得见的楼梯,Out 度量「还差几级够不到上一层」。完备群就是塔顶:楼梯修完了,外面也没有暗门。本册要证的是——Sn 除 n = 2, 6 外个个都站在塔顶;而 S₆ 脚下恰好有一级暗梯,藏在一个由「对边—三边组—大分解」搭成的六重结构里(§5)。

1.4 小结与第一组思考题

小结 1.13 本节建立了四件工具:① Aut(G) ⊃ Inn(G) ≅ G/Z(G),内自同构正规,商即 Out(G);② 自同构整类搬动共轭类且保类大小;③ 完备群 = 中心平凡 + 无外自同构;④ 直接因子性质(定理 1.9)——完备群在一切过群里都是直因子。
思考题 1 
自同构塔的一层:Aut(G) ⊃ Inn(G) ≅ G/Z(G) Aut(G)——全部保持乘法的双射 Inn(G) ≅ G/Z(G) 内部共轭 Out(G) = Aut/Inn 共轭够不着的部分 完备群:Z(G) = 1 且 Out(G) = 1 —— 内框充满外框,楼梯修到塔顶 Sₙ(n≠2,6)站在塔顶;S₆ 脚下多出一级暗梯(§5) 塔向上生长:G ⊲ Aut(G) ⊲ Aut(Aut(G)) ⊲ ⋯(§6)
图 1-1 本册的地理图景。Aut(G) 是全部「保持乘法的双射」,内自同构(共轭)是其中群自己生产的那部分;Out(G) 度量体外的对称。完备群即塔顶;Sn 的塔顶结构是 §3 与 §6 的目标。

§2Sₙ 的账本:共轭类的大小

主定理的证明只需要一张账本:Sn 有哪些 2 阶共轭类、每类多大、这些大小何时撞车。本节把账算清。核心结果是引理 2.4:对换类的大小 C(n, 2) 在全部 2 阶类中独一无二——唯一的例外恰好是 n = 6 时三重对换类与它并列。

2.1 共轭类 = 轮换型

回顾(本系列其三、其五已反复使用):Sn 的元素按轮换型(不交轮换长度的不增序列)分类,两个置换共轭当且仅当轮换型相同。于是共轭类与轮换型一一对应,类的大小只依赖型。例如 (2,1,1,1) 型——对换——的类由一切对换组成,共 C(n, 2) 个。

引理 2.1(自同构整类搬运且保大小) 设 α ∈ Aut(G)。则 α 把 x 的共轭类送到 α(x) 的共轭类,且两类大小相等。
证. y 与 x 共轭,即 y = gxg−1,则 α(y) = α(g)α(x)α(g)−1 与 α(x) 共轭,故 α(类(x)) ⊆ 类(α(x));反方向用 α−1 同理,故相等。大小方面,共轭类的大小 = 指数 [G : 中心化子],而 α(CG(x)) = CG(α(x))(直接验证: commuters 的像仍是 commuters),指数不变。∎

于是任何一个自同构 α 都在「共轭类的名单」上 induces 一个置换,且保持每类的大小与每类元素的阶。这是全部证明的支点:名单上谁认得谁,全看大小与阶。

2.2 中心平凡

引理 2.2 n ≥ 3 时 Z(Sn) = {e}。
证. 反证。设 σ ∈ Z(Sn) 且 σ ≠ e,取动点 i(即 σ(i) = j ≠ i;n ≥ 3 保证还存在第三个文字 k ∉ {i, j})。取对换 τ = (i k)。一方面 (τσ)(i) = τ(σ(i)) = τ(j) = j;另一方面 (στ)(i) = σ(k)。由 σ 是双射且 σ(i) = j,σ(k) ≠ j,故 τσ ≠ στ,与 σ 居中心矛盾。∎

于是(定理 1.4)对 n ≥ 3 有 Inn(Sn) ≅ Sn:内自同构已经排满了 n! 个名额。剩下的唯一问题——还有没有编外的?——就化为证明 Aut(Sn) 的阶。

2.3 2 阶类的清单

Sn 的 2 阶元恰是若干不交对换之积。

引理 2.3(2 阶类及其大小) 设 1 ≤ k ≤ ⌊n/2⌋。k 重对换(k 个不交对换之积,轮换型 (2k, 1n−2k))构成 Sn 的一个共轭类,其大小为
sk = C(n, 2k) · (2k)!/(2k·k!) = n! / (2k·k!·(n−2k)!)。
证. 2 阶元的轮换分解只能由长度 2 与 1 的轮换组成(长 ≥ 3 的轮换阶 ≥ 3),故 2 阶元 = k 重对换,k = 不交对换个数。同型者共轭(2.1)。大小计数:先选出支集——C(n, 2k) 种;再把 2k 个文字两两配对——配对总数 = (2k)!/2k(k! 来自 k 个对换之间的次序无妨,2k 来自每个对换内部两个方向的写法无妨)。相乘化简即得。∎

k = 1 就是对换类,大小 s1 = C(n, 2)。k = 2 是双对换类,大小 3·C(n, 4)。k = 3 是三重对换类——它在 n = 6 时的特殊地位马上显形。把小 n 的账列出来:

ns1(对换)s2(双对换)s3(三重)s4(四重)
463——
51015——
6154515—
721105105—
828210420105
9363781260945
104563031504725

粗体是 s1。n = 6 那一行刺眼:对换类与三重对换类的大小都是 15。n = 7 也有重影(105 = 105,双对换与三重对换),但撞车的不是对换类——下一条引理说明,与 s1 撞车的全世界只有 (6, 3) 这一处。

2.4 对换类大小的唯一性

引理 2.4(大小唯一性) 设 2 ≤ k ≤ ⌊n/2⌋。则 sk = s1 当且仅当 (n, k) = (6, 3)。
证. sk = s1 即
2k−1·k!·(n−2k)! = (n−2)!,
两边除以 (n−2k)!,左端变成连乘:
∏i=22k−1 (n−i) = 2k−1·k!。
(左端恰是 (n−2)(n−3)⋯(n−2k+1),共 2k−2 个因子。)分情形收口。 k = 2:方程 (n−2)(n−3) = 4,即 n²−5n+2 = 0,判别式 17 非平方数,无整解。 k = 3:方程 (n−2)(n−3)(n−4)(n−5) = 24。左端随 n 严格递增;n = 6 时 4·3·2·1 = 24 ✓;n ≥ 7 时左端 ≥ 5·4·3·2 = 120 > 24。故唯一解 n = 6。 k ≥ 4:此时 n ≥ 2k,左端每个因子 n−i ≥ 2k−i,故
左端 ≥ ∏i=22k−1 (2k−i) = (2k−2)!。
下证 (2k−2)! > 2k−1·k! 对一切 k ≥ 4:k = 4 时 6! = 720 > 192 = 2³·4!;归纳步中 (2(k+1)−2)! = (2k)! = (2k)(2k−1)·(2k−2)!,而 (2k)(2k−1) > 2(k+1) ⟺ 4k²−4k−2 > 0 对 k ≥ 2 成立,归纳通过。于是左端 > 右端,无解。∎
推论 2.5 n ≠ 6 时,对换类是 Sn 的 2 阶类中唯一大小为 C(n, 2) 的类;n = 6 时恰有两个大小 15 的 2 阶类——对换类与三重对换类。
注 2.6(重合不止一处) 类大小的重合并非 n = 6 独有:n = 7 时双对换类与三重对换类同为 105,n = 13、14、22、23……也各有重合对(附录 B 脚本扫描至 n = 60)。但与对换类撞车的只有 (6, 3)——引理 2.4 的丢番图分析对一切 n 有效。例外 pick 这么干净,正是 S₆ 外自同构「只此一家」的算术根源。

2.5 旁证:配对计数给出同一道裂缝

换一把尺子量同样的裂缝:对每个对合 t,数一数与它「配成 3 阶元」的同伴——

N(t) = #{对合 u ≠ t : tu 的阶 = 3}。

N 在每个共轭类内取常值(它由共轭不变量决定),故得到一张类函数表:

n对换类双对换类三重对换类四重对换类
44 = 2(n−2)0——
56 = 2(n−2)4——
68 = 2(n−2)168—
710 = 2(n−2)3614—
812 = 2(n−2)644432

对换类的值可以完全证明:对 t = (i j) 与对合 u,按 u 与 {i, j} 的相交情形逐案验算(u 是恰共享一个文字的对换 ⟹ tu 是 3-循环;其余情形 tu 的阶是 2、4 或 6),得 N(t) = 2(n−2):共享一个文字的对换恰有 2(n−2) 个。表里再次看到 n = 6 的对换类与三重对换类并列第一(8 = 8),而 n ≥ 7 时三重对换类的值(14, 44, 146, …)甩开 2(n−2)。两把完全不同的尺子——类的大小、配对计数——在同一个地方出裂缝。这不是巧合:§5 将看到,外自同构恰好在 S₆ 里把对换类整个搬到三重对换类,所以任何「类函数」只要被自同构保持,这两类就必须同值。

S₆ 的三个 2 阶共轭类:大小 15 / 45 / 15 15 对换 (2,1⁴) 型 45 双对换 (2²,1²) 型 15 三重对换 (2³) 型 15 = 15:n = 6 独有的并列(推论 2.5) n≠6 时左柱独占高度 C(n,2)——对换类由此被「认出」
图 2-1 S₆ 的 2 阶类大小。引理 2.4 说明对换类的高度在一切 n ≠ 6 时独占;n = 6 时三重对换类并列——这份「模糊」正是外自同构的活动空间。

2.6 小结与第二组思考题

小结 2.7 本节三件套:① 自同构整类搬共轭类、保大小保阶(引理 2.1);② Sn 的 2 阶类 = k 重对换类,大小 sk = n!/(2kk!(n−2k)!)(引理 2.3);③ sk = s1 仅 (6, 3) 一例(引理 2.4),于是 n ≠ 6 时对换类可凭大小认出,n = 6 时有一名并列者。
思考题 2 

§3 主定理(上):对换的辨认

现在兑现 §2 攒下的全部本钱。本节的目标是一条引理,它把「保住对换类的自同构」一刀切进体内:只要 n ≥ 5 且自同构把对换映到对换,它就必然是共轭。工具是一张图和图里的团——这是本册证明的核心机关,请慢读。

证明的形状 回顾定理 1.4:Inn(G) ≅ G/Z(G)。要证 Sn(n ≠ 2, 6)完备,需过两关:① Z(Sn) = 1——已由引理 2.2 解决;② Aut = Inn——任取 ψ ∈ Aut(Sn),证它等于某个共轭 cπ。思路分三步走:先认类(§2:对换类凭大小被认出),再认点(本节:对换类上的团结构编码了 n 个点,自同构被迫诱导点的置换 π),后认元素(对换生成 Sn,逐点对上即得 ψ = cπ)。

3.1 R-图:把乘法表画成图

定义 3.1(R-图) 固定 n ≥ 3。R-图 Rn 是以 Sn 的全体对换为顶点(共 C(n, 2) 个)、按如下规则连边的图:两个不同对换 s, t 相邻,当且仅当乘积 st 的阶为 3。

这条边规则看似人为,实则纯粹是群论内置的:相邻与否完全由乘积的阶决定,而自同构保阶、保乘法,于是立刻得到——

观察(关键) 若 ψ ∈ Aut(Sn) 把对换类映到自身,则 ψ 自动是 Rn 的图自同构:顶点集被 ψ 双射,且 st 阶为 3 ⟺ ψ(s)ψ(t) 阶为 3。图结构不需要额外记忆——它就藏在乘法表里。

先把边规则翻译成点语言,图才算真正「看见」:

引理 3.1′ 两个不同对换在 Rn 中相邻,当且仅当它们恰好共享一个点(此时称「相交」)。
证. 设 s = (a b),t = (c d) 为不同对换,按共享点数分三种情形。
① 不相交(s ∩ t = ∅):四个点互不相同,s 与 t 作用在不交集合上,故 st = ts 且 (st)² = s²t² = e,st ≠ e——阶恰为 2。不相邻。
② 共享两点:s = t,与「不同」矛盾,排除。
③ 共享一点:不妨 s = (1 2),t = (1 3)。直接验算乘积(从右往左作用):st 把 1 ↦ 3 ↦ 3…不对,逐点算:3 ↦ (1 3) ↦ 1 ↦ (1 2) ↦ 2,2 ↦ 2 ↦ 2,1 ↦ 1 ↦ 2?仔细写:t = (1 3) 先作用,s = (1 2) 后作用,则 1 ↦t 3 ↦s 3,3 ↦t 1 ↦s 2,2 ↦t 2 ↦s 1。故 st = (1 3 2) 是 3-轮换,阶恰为 3。相邻。∎

于是 Rn 的团(两两相邻的顶点组)恰是「两两相交的对换组」。图论问题就位:Rn 的极大团长什么样?答案只有两种,而且大小悬殊。

引理 3.2(极大团二分) 设 n ≥ 5,C 是 Rn 的一个团。则下列二者必居其一:
(i)C 中所有对换共享一个公共点 i,从而 C ⊆ Si := {(i j) : j ≠ i}(星团,大小 n−1);
(ii)C ⊆ {(a b), (a c), (b c)}(三角团,大小 3)。
且两类都是极大团;当 n ≥ 5 时,大小为 n−1 的团恰是星团 Si(i = 1, …, n),再无其他。
证. 第一步:团 ⊆ 星或 ⊆ 三角。设 C 是团(成员两两相交、互不相同)。若 |C| ≤ 1,平凡归入 (i)。否则取定 (a b) ∈ C。C 的其余成员都与 (a b) 相交,故各含 a 或 b(不含 ab 两点者即 (a b) 自己,已排除)。按「含 a 不含 b」与「含 b 不含 a」把其余成员分为 Ca、Cb 两族。
若其中一族为空,例如 Cb = ∅:则 C 全体含 a,归 (i)。设两族皆非空:取 (a c) ∈ Ca 与 (b d) ∈ Cb。二者必须相交,而 a ≠ b、c ≠ b、d ≠ a,唯一可能是 c = d。于是 (a c), (b c) ∈ C。
现在任取 w ∈ C。若 w = (a e) ∈ Ca:它与 (b c) 必须相交,而 e ≠ b,故 e = c,即 w = (a c)。若 w = (b e) ∈ Cb:同理 e = c,w = (b c)。所以 C ⊆ {(a b), (a c), (b c)},归 (ii)。
第二步:两类都是极大团。星团 Si:任取不在其中的对换 (p q)(p, q ≠ i)。因 n ≥ 5,可取 j ∉ {i, p, q},则 (i j) ∈ Si 与 (p q) 不相交——不相邻。故任何新成员都加不进来,Si 极大。三角团 {(a b), (a c), (b c)}:设对换 t 与三条边都相交。若 t 含 a,写 t = (a e),它与 (b c) 相交迫使 e ∈ {b, c},即 t 已是三角团成员;t 含 b 或 c 而不含 a 的情形同理。t 三点皆不含则与所有边不相交,矛盾。故三角团也极大。
第三步:大小 n−1 的团只有星。三角团大小为 3 且极大,包含它的团只能是它自己;而 n ≥ 5 时 3 < n−1,故大小 n−1 的团不含三角团,只能落在某个星团里。又星团 Si 本身大小恰为 n−1,故大小 n−1 的团恰为 Si。顺带一提:Si 与 Sj(i ≠ j)是不同的团((i k) ∈ Si ∖ Sj,取 k ∉ {i, j}),星团与它的点一一对应。∎
星团 S₁(n−1 = 4 元) 三角团(3 元) 1 2 3 4 5 四条蓝边 (1j) 两两相邻:任意两条乘积为 3-轮换 1 2 3 (12),(13),(23) 两两相邻,却没有公共点 n ≥ 5:n−1 ≥ 4 > 3 团的大小把两种形状分开
图 3-1 Rn 的两种极大团(以 S₅ 为例,相邻 = 乘积阶 3 = 共享一点)。星团 Si 有 n−1 个成员且共享点 i;三角团只有 3 个成员、无公共点。n ≥ 5 时大小把二者分开——这正是 n = 4 埋雷的地方(星 3 元 = 三角 3 元,注 3.4)。团的形状编码了「点」本身:星团 ↦ 点。

3.2 团论证:从对换恢复置换

万事俱备。设 ψ 是一个「已经认出对换类」的自同构——即 ψ 把对换映到对换。观察告诉我们 ψ 是 Rn 的图自同构,引理 3.2 告诉我们大团只有星,于是 ψ 被迫搬运星团、也就是搬运「点」。点的置换一经恢复,对换的像就被完全钉死:

引理 3.3(团论证) 设 n ≥ 5,ψ ∈ Aut(Sn) 且 ψ 把对换类映到自身。则存在置换 π ∈ Sn,使得对一切对换 t 有 ψ(t) = πtπ−1,从而 ψ = cπ 是内自同构。
证. 第一步:星团被搬成星团。由引理 3.1′ 与「ψ 保对换类、保乘积阶」,ψ 限制为 Rn 的图自同构,故把团映成团、且保团的大小。星团 Si 是大小 n−1 的团,于是 ψ(Si) 也是大小 n−1 的团。由引理 3.2 第三步(n ≥ 5),它必是某个星团,记作 Sπ(i)。这就定义了映射 π : {1, …, n} → {1, …, n}。
第二步:π 是双射。对 ψ−1 重复第一步:它也把 Sπ(i) 映回大小 n−1 的星团,且 ψ−1(ψ(Si)) = Si。由引理 3.2 末注(星团与点一一对应),ψ−1 在点层面诱导的映射必是 π 的逆,故 π 可逆,π ∈ Sn。
第三步:对换的像被钉死。对 i ≠ j:对换 t = (i j) 是唯一同时属于 Si 与 Sj 的对换(含 i 与 j 的对换只有它)。双射保交,故
ψ((i j)) = ψ(Si ∩ Sj) = ψ(Si) ∩ ψ(Sj) = Sπ(i) ∩ Sπ(j) = (π(i) π(j)) = π(i j)π−1。

第四步:从对换到全体。映射 ψ 与共轭 cπ 都是自同构,且由第三步在对换生成集上逐点相等(思考题 2:对换生成 Sn)。两个同态若在生成集上相等则处处相等(乘法表归纳即可),故 ψ = cπ。∎
注 3.4(n = 4 埋雷) 引理 3.3 的全部火力来自「n−1 > 3」。当 n = 4,星团与三角团同为一元三组、大小都是 3——大小这把尺子失效了。数一数更心惊:星的个数是 4(每个点一个),三角团个数是 C(4, 3) = 4,连个数都打平。然而结论并没坏:S₄ 依然完备,只是论证要换一件更细的兵器——星团与三角团虽同大小,三成员的乘积却不同类(一个是 4-轮换,一个是对换),定理 3.5 的证明将用这条「三元不变量」补刀(见 §3.3)。
阶段小结 本节装配了主定理的发动机:对换类上的 R-图把「点」编码为星团,任何保对换类的自同构(n ≥ 5)都被团结构逼成共轭 cπ。剩下的活只是收尾——n ≥ 5 时先验证 ψ 确实保对换类(引理 2.1 + 2.4),再加上中心平凡(引理 2.2);低维 n = 2, 3, 4 逐个案说。下一页合成定理 3.5。

3.3 低维情形与主定理

发动机已就位(引理 3.3),还差三件小事:确认 ψ 真的保对换类(n ≥ 5 时靠 §2 的账本)、补上 n = 3 与 n = 4 两个小案、以及 n = 4 的那件「细兵器」。全部合拢,就是本册的主角。

定理 3.5(主定理) 对 n ≥ 3 且 n ≠ 6,Sn 是完备群:
Z(Sn) = 1, Aut(Sn) = Inn(Sn) ≅ Sn, Out(Sn) = 1。
又:S₁(平凡群)也算完备;S₂ 与 S₆ 不完备(前者中心不平凡,后者 Out ≅ C₂,§5 详述)。
证. 逐案进行。n ≥ 3 时 Z(Sn) = 1 已由引理 2.2 解决,以下只证 Aut = Inn。
情形一:n ≥ 5,n ≠ 6。任取 ψ ∈ Aut(Sn)。Sn 的 2 阶元恰是各 k 重对换类的成员(引理 2.3 的类型清单),自同构把 2 阶类整类搬到 2 阶类且保大小(引理 2.1)。对换类的大小是 s1;而 sk = s1 仅在 (6, 3) 发生(引理 2.4),本情形排除之——故对换类是唯一大小为 s1 的 2 阶类,ψ 必把它映到自身。引理 3.3 随即给出 ψ = cπ ∈ Inn。由 ψ 任意,Aut ⊆ Inn ⊆ Aut,二者相等;再由 Z = 1,g ↦ cg 是同构(定理 1.4),Sn ≅ Inn(Sn) = Aut(Sn)。完备。
情形二:n = 3。2 阶元只有三个对换 (1 2), (1 3), (2 3)(k = 2 需 4 个点,不存在),自成一类。ψ 把它们彼此互换。取生成对 (1 2), (1 3):二者相交,故 ψ((1 2)), ψ((1 3)) 也相交(引理 3.1′ 在 n = 3 同样成立:三个对换两两相交)。于是 ψ((1 2)) = (a b),ψ((1 3)) = (a c),b ≠ c,其中 a 为公共点。定义 π ∈ S₃:π(1) = a,π(2) = b,π(3) = c。则 ψ 与 cπ 在生成对上相等,而 (1 2), (1 3) 生成 S₃,故 ψ = cπ。完备。
情形三:n = 4(细兵器出场)。此时 2 阶类只有两个:对换类(大小 6)与双对换类(大小 3)。大小不同,故 ψ 保对换类——这本该接引理 3.3,但注 3.4 说过,R₄ 里星团与三角团同为三元团,团的大小分不出彼此。幸而还有一条更细的不变量:
三元不变量 设 {t, u, v} 是 S₄ 的三元团(两两相交的对换)。则:三者之积 tuv 是对换 ⟺ 该团是三角团;tuv 是 4-轮换 ⟺ 该团是星团。
验证:三角团 {(a b), (a c), (b c)} 的三个成员都固定第 4 点 d,其积也固定 d、且是奇置换(三个对换之积),落在这三点上的 S₃ 的奇元只有对换——故积是对换。星团 {(1 a), (1 b), (1 c)}({a, b, c} = {2, 3, 4}):逐点追迹(设 t = (1 a) 最后作用)得 1 ↦ c ↦ b ↦ a ↦ 1,即 tuv = (1 c b a) 是 4-轮换;其他作用顺序由对称性同理。
ψ 保乘法与类,故保这条不变量:星团被搬成星团(三角团被搬成三角团)。四个星团 S₁, …, S₄ 在 ψ 下互映,得双射 π;又 (i j) 是 Si ∩ Sj 的唯一成员,与引理 3.3 第三步逐字相同,得 ψ((i j)) = (π(i) π(j));六个对换生成 S₄,故 ψ = cπ。完备。(附录 B 脚本另以穷举复核:|Aut(S₄)| = 24 = |S₄|。)
情形四:n = 2 与 n = 1。S₂ = {e, (1 2)} ≅ C₂:Aut = 1(唯一非平凡元必须映到自身),Inn = S₂/Z(S₂) = 1——Aut = Inn 竟然成立!但 Z(S₂) = S₂ ≠ 1,完备定义(定义 1.7)的第一条即告失守。这提醒我们:完备 ≠ 自同构少,而是「中心平凡 + 无外自同构」两条同时成立。S₁ 是平凡群,两条空洞地成立,算完备。∎
推论 3.6 n ≥ 3 且 n ≠ 6 时,Sn 与其自同构群重合:每一个保乘法的双射都是共轭。S₅, S₇, S₈, … 全部如此;唯一的「体外的对称」藏在 S₆ 里。
注 3.7(为什么偏偏是 6) 回看证明的三块基石:类大小的唯一性(引理 2.4:丢番图方程 ∏(n−i) = 2k−1k! 只在 (6, 3) 出解)与团的大小可分性(n−1 > 3,除 n = 4 外恒真,而 4 由三元不变量救回)。两块石头都只在 n = 6 处同时松动:三重对换类与对换类大小打平(15 = 15),星团与三角团的大小差却依旧健在(5 > 3)——于是自同构可以把对换「整体改扮」成三重对换而不被大小戳穿,但团结构仍把点的信息原封不动地递了出去。S₆ 的外自同构正是站在这道 15 = 15 的平局之上(§5 建造)。
思考题 3 

§4 完备群的能力与一面镜子

主定理到手(定理 3.5),本节先盘点「完备」这件装备能做什么——全形定理给出一个漂亮的退化;再照一面镜子:隔壁的 A₅ 为什么不完备、它的自同构群到底有多大。镜子照清楚,S₆ 的反常(§5)才显得有据可依。

4.1 完备带来什么:直因子与全形的退化

§1 的定理 1.9 已证:完备群一旦正规地坐在更大的群里,就自动拆成直因子。把它当作工具重新领一遍,随后立刻升级成全形定理。

推论 4.1(完备 ⟹ 正规即直因子) 设 G 完备且 G ◁ H。则
H = G × CH(G)。
特别地,G 在 H 里「没有拧劲」:任何 h ∈ H 共轭 G 的方式都已被 G 内部实现(ch|G = cg 对某 g ∈ G),于是 hg−1 ∈ CH(G),分解 h = (hg−1)·g 应声而出——这正是定理 1.9 证明的第一步。
定理 4.2(全形定理) 回忆注 1.12:全形 Hol(G) = G ⋊ Aut(G),乘法为 (a, α)(b, β) = (a·α(b), αβ)(α 先作用于 b,平移与自同构互相咬合)。若 G 完备,则
Hol(G) ≅ G × G。
证. G 完备给出两件事实:Aut(G) = {cg : g ∈ G},且表示唯一(cg = ch ⟺ h−1g ∈ Z(G) = 1)。于是定义
F : Hol(G) → G × G, (a, cg) ↦ (ag, g)。
同态:(a, cg)(b, ch) = (a·gbg−1, cgh),其像为 (agbg−1·gh, gh) = (agbh, gh);而 F(a, cg)·F(b, ch) = (ag, g)(bh, h) = (agbh, gh)。相等。双射:逆映射 (u, w) ↦ (uw−1, cw) 逐点验算即回。∎
注 4.2′(塔的第一级封顶) 全形退化直积,等于说:完备群的塔(G, Aut(G), Aut(Aut(G)), …)在第一层就封顶——Aut(G) ≅ G 已完备,再往上取自同构不会长出新楼层。实例:Hol(S₃) ≅ S₃×S₃(36 阶,附录 B 脚本逐元素核对)。不完备的 G 呢?半直积拧不直,塔可能继续长——长多高、会不会停,§6 给出有限群的完整答案(Wielandt 定理),并让 S₆ 亲自示范「走两步才停」。

4.2 镜子之一:A₅ 体内少了什么

A₅ 是单群(其六的主题),Z(A₅) = 1,第一条完备标准安然无恙;但它坐在 S₅ 里面,奇置换们从外面共轭它。这些「体外共轭」是不是内自同构?这是完备性的第二条标准,也是例 1.11 欠下的债。

引理 4.3(小引理:居中者唯有恒等) CS₅(A₅) = {e}。即:与全体偶置换交换的置换只有恒等。
证. 设 σ 与 A₅ 的每个元素交换。看 3-轮换 (1 2 3):σ(1 2 3)σ−1 = (σ(1) σ(2) σ(3)) = (1 2 3),故 σ 把集合 {1, 2, 3} 整体保住,且按轮换次序只能循环对位。同样由 (1 2 4) 得 σ 保住 {1, 2, 4}。两集合之交 {1, 2} 也被 σ 保住;而 (1 2 3) 的循环对位里没有任何一个把 1、2 互换(互换给出 (2 1 3) = (1 3 2) ≠ (1 2 3)),故 σ(1) = 1,σ(2) = 2,进而 σ(3) = 3。再由 (1 2 5) 同理得 σ(5) = 5,最后由 (3 4 5)(此时 3、5 已固定,循环对位只剩一种)得 σ(4) = 4。σ = e。∎
定理 4.3(A₅ 不完备) 取奇置换 t = (1 2),限制共轭 ct|A₅ 是 A₅ 的一个非内自同构。于是 Out(A₅) ≠ 1,A₅ 不完备。
证. 它是自同构:A₅ ◁ S₅(指数 2 的子群必正规),故 ct 把 A₅ 映回 A₅,限制后保持乘法。它非平凡:ct((1 2 3)) = ((1 2)·1 (1 2)·2 (1 2)·3)…注意 t 交换 1、2 而固定 3,得 ((2)(1)(3)) = (2 1 3) = (1 3 2) ≠ (1 2 3)。它非内:若 ct|A₅ = ch|A₅ 对某 h ∈ A₅,则 h−1t 与 A₅ 的每个元素交换(对 x ∈ A₅:h−1txt−1h = x),与引理 4.3 矛盾(h−1t 是奇置换,不是 e)。∎
注(缺的正好一半) 内自同构只来自 A₅ 自身(60 个),而 S₅ 的共轭提供 120 个(cσ|A₅ = cτ|A₅ ⟺ τ−1σ ∈ CS₅(A₅) = 1)。差的这 60 个「体外」自同构是否就是全部?下一小节证明:是——Aut(A₅) 恰好 120 阶。这个「恰好」的证明是一张 15 行的乘法表,值得亲眼一看。

4.3 镜子之二:Aut(A₅) 到底多大

定理 4.4 Aut(A₅) ≅ S₅;从而 Inn(A₅) ≅ A₅,Out(A₅) ≅ C₂——A₅ 的全部自同构恰是「偶的在内、奇的在外」这 120 个。
证. 下界(≥ 120):映射 S₅ → Aut(A₅),σ ↦ cσ|A₅ 是单同态(核 = CS₅(A₅) = 1,引理 4.3),故 |Aut(A₅)| ≥ 120。
上界(≤ 120):在 A₅ 里取定
x = (1 2)(3 4)(双对换,2 阶), y = (1 3 5)(3-轮换,3 阶)。
则 xy = (1 4 3 5 2)(下表第 5 行)是 5-轮换。于是 ⟨x, y⟩ 含 2、3、5 阶元,阶被 30 整除、又整除 60;若阶为 30 则指数 2 而正规,与 A₅ 的单性(其六)矛盾。故 A₅ = ⟨x, y⟩,一个自同构由 (ψ(x), ψ(y)) 唯一决定。
现在数一数 (ψ(x), ψ(y)) 有多少种可能。A₅ 的 2 阶元恰是 15 个双对换(奇置换如对换不在 A₅ 里),3 阶元恰是 20 个 3-轮换;又 (ψ(x)ψ(y))⁵ = ψ((xy)⁵) = e,且 ψ(x)ψ(y) ≠ e(否则 2 阶元 = 3 阶元),故其阶恰为 5。固定 y′ = (1 3 5),把 15 个候选 x′ 的乘积阶全部列出(表 4-1):恰有 6 个给出 5 阶。
对一般的 3-轮换 y′ = gyg−1(g ∈ A₅;A₅ 在 3-轮换上传递),共轭把 x′ ↦ g−1x′g 给出双射 {x′ : (x′y′)⁵ = e} → {x″ : (x″y)⁵ = e}(阶在共轭下不变,验算 (g−1x′g)·y = g−1(x′gyg−1)g),故每个 y′ 配 6 个 x′。合计
|Aut(A₅)| ≤ 20 × 6 = 120。
上下界合拢:|Aut(A₅)| = 120,且每个自同构都是 cσ|A₅,Aut(A₅) ≅ S₅/CS₅(A₅) ≅ S₅。∎
表 4-1 固定 y′ = (1 3 5)(从右往左作用),15 个双对换 x′ 的乘积 x′y′ 及其阶。5 阶恰出现 6 次(加粗)。
x′x′y′阶x′x′y′阶x′x′y′阶
(2 3)(4 5)(1 2 3 4 5)5(1 2)(3 5)(1 5 2)3(1 4)(2 3)(1 2 3 5 4)5
(2 4)(3 5)(1 5)(2 4)2(1 3)(4 5)(3 4 5)3(1 4)(2 5)(1 3 2 5 4)5
(2 5)(3 4)(1 4 3 2 5)5(1 3)(2 4)(2 4)(3 5)2(1 5)(3 4)(1 4 3)3
(1 2)(4 5)(1 3 4 5 2)5(1 3)(2 5)(2 5 3)3(1 5)(2 3)(1 2 3)3
(1 2)(3 4)(1 4 3 5 2)5(1 4)(3 5)(1 5 4)3(1 5)(2 4)(1 3)(2 4)2
完备谱系:一条数轴上的生死簿(S₁ 与 S₂ 起特殊) 1 2 3 4 5 6 7 8 9 10 Sₙ 的完备性:绿 = 完备(n = 1, 3, 4, 5, 7, 8, 9, 10, …),红 = 破例(n = 2 中心不平凡;n = 6 有外自同构) A₅:Out ≅ C₂ 奇共轭在体外(定理 4.3) V₄:Aut ≅ S₃ 自同构比群还多 C₂:Z ≠ 1 S₂ 的病根 定理 3.5 + 定理 5.4:Sₙ 完备 ⟺ n ≠ 2, 6
图 4-1 完备谱系。Sn 家族几乎全体登顶,破例只有 n = 2(中心病)与 n = 6(外自同构病);家族之外的常客——单群 A₅、阿贝尔群们——各有各的不完备病因。完备是例外,不完备是常态;Sn 家族的整齐因此格外醒目。
小结 4.5 本节三件事:① 完备 ⟹ 正规即直因子(推论 4.1),且全形退化 Hol(G) ≅ G×G(定理 4.2);② A₅ 的奇共轭是货真价实的体外自同构(定理 4.3);③ 体外者恰为半壁:一张 15 行的乘法阶表 + A₅ 在 3-轮换上的传递性,把 |Aut(A₅)| 钉死在 120(定理 4.4),Out(A₅) ≅ C₂。对照表:S₅ 完备而 A₅ 不完备——同一个 5,差一个奇置换的世界。
思考题 4 

§5 S₆ 的体外对称(上):对边、三拼与大分解

§2 与 §3 把「n ≠ 6」的江山打完;现在进城勘察那道唯一的裂缝。本节与下一节合起来完成一件事:给 S₆ 造出一个把对换改扮成三重对换的自同构,并证明它(乘上内自同构后)就是全部的体外对称。

5.1 十五对十五:蓄谋已久的平局

回顾注 3.7 的账目:在 S₆ 里,对换类与三重对换类同为 15 个。内自同构永远保共轭类,所以内自同构绝无可能把这两类互换;可类大小又没把「改扮」的路堵死——这是一场平局留下的悬案。破案的钥匙不是在旧点上动刀,而是:让 S₆ 作用在一套崭新的 6 个对象上。同态 φ : S₆ → S₆(新)一旦造出且单射,它就是自同构;若还把对换送到三重对换,体外对称就现形了。

新对象要造三层,一层比一层大。这三层结构的名字在文献里相当俏皮——对边(duad)、三拼(syntheme)、大分解(total)——我们沿用。

定义 5.1(对边) 六点集 {1, …, 6} 的一个二元子集叫对边(duad),记作 ab(如 12)。对边共 C(6, 2) = 15 个,S₆ 自然地作用在它们上。
定义 5.2(三拼) 三个两两不交的对边拼起来恰好盖住全部六点,叫一个三拼(syntheme)——用图的话说,是六点完全图 K₆ 的一个完美匹配,如 12·34·56。三拼的个数:
6!/(2³·3!) = 720/48 = 15。
第一层巧合出现了:对边 15 个,三拼也是 15 个。
定义 5.3(大分解) 五个三拼合在一起,把 15 个对边每个恰好用一次,叫一个大分解(total)——即 K₆ 的一个 1-因子分解。大分解的个数是 6(引理 5.3′),这是第二层巧合:点 6 个,大分解也是 6 个。记它们为 T₁, …, T₆(显式清单见表 5-0)。
大分解 T₁:K₆ 的十五条边染成五色,每色一个三拼 1 2 3 4 5 6 红:12·34·56 蓝:13·25·46 绿:14·26·35 橙:15·24·36 紫:16·23·45 五种颜色两两无公共边;十五条边每条恰属一色——一个大分解 = 「赛程表」:六队单循环,五轮打完
图 5-1 一个大分解就是六支球队的单循环赛程表:五轮比赛(五个三拼),每轮三场(三个对边),十五场比赛每场恰好打一轮。S₆ 作用在「赛程表」上——重编号球队,赛程表跟着重排。
引理 5.3′(大分解的组合学) (i)大分解恰有 6 个,显式清单(表 5-0)为:
三拼 1三拼 2三拼 3三拼 4三拼 5
T₁12·34·5613·25·4614·26·3515·24·3616·23·45
T₂12·34·5613·26·4514·25·3615·23·4616·24·35
T₃12·35·4613·24·5614·25·3615·26·3416·23·45
T₄12·35·4613·26·4514·23·5615·24·3616·25·34
T₅12·36·4513·24·5614·26·3515·23·4616·25·34
T₆12·36·4513·25·4614·23·5615·26·3416·24·35
(ii)任意两个大分解恰共享一个三拼(逐行对账即验)。(iii)于是「三拼 ↦ 它所属的那两个大分解」是三拼集到大分解无序对集的双射(15 = C(6,2))。(iv)固定全部六个大分解的置换 σ ∈ S₆ 必为恒等。
证. (i)强制选择法。先数「含定三拼 s₁ = 12·34·56 的大分解」有几个。T 的五个三拼恰好各含从点 1 出发的对边 12, 13, 14, 15, 16 之一(15 个对边各出现一次)。含 13 的三拼形如 13·ab·cd,{a,b,c,d} = {2,4,5,6};因 56、34 已被 s₁ 用掉,只剩两种:13·25·46 或 13·26·45。取前者,则含 14 的三拼被逼到唯一选择 14·26·35(24·56、25·36 均含已用对边),继而 15·24·36、16·23·45 相继被逼定——得 T₁;取后者同理逼出 T₂。故含 s₁ 的大分解恰 2 个。又 S₆ 在三拼上传递(把三拼的三个对边送到任何指定位置即可),故每个三拼恰属 2 个大分解;计 (大分解, 三拼) 搭配:大分解数 × 5 = 15 × 2,得大分解数 = 30/5 = 6。表中六个就是全部(每个都含 s₁ 或其像之一,逐行可见)。
(ii)对表中 C(6,2) = 15 对大分解逐一比对:如 T₁ ∩ T₂ = {12·34·56}、T₁ ∩ T₃ = {16·23·45}……恰好都是单点交。
(iii)每个三拼属几个大分解?计 (大分解, 三拼) 搭配:6 × 5 = 30,而三拼 15 个,故每个三拼恰属 2 个大分解(表中逐行可见)。于是得到映射 三拼 ↦ {所属两大分解}。若两个不同三拼映到同一对 {T, T′},则 T 与 T′ 共享两个三拼,与(ii)矛盾。故单射;又两边都是 15 个元素,是双射。
(iv)设 σ 固定每个 Tk。任取三拼 m,设它属于 {Tp, Tq}。σ(m) 也是三拼,且属 σ({Tp, Tq}) = {Tp, Tq}——由(iii)的双射,属于这一对的三拼唯一,故 σ(m) = m。σ 固定全部 15 个三拼。若 σ ≠ e,取 a 使 a′ := σ(a) ≠ a;取对边 bc 使 bc ≠ a′σ(b)(这样的 b, c 存在:六点充分)。含 bc 的三拼有 3 个,避开 a′σ(b) 的至少有 3 − 1 = 2 个,取其一为 m。则 σ(m) 含对边 a′σ(b),而 m 不含——σ(m) ≠ m,矛盾。(特例:若 σ 把每个二元子集都映成自身,则 σ 固定每一点,σ = e。)∎
注(第三层巧合,先睹为快) 引理 5.3′(iii)只是开始。继续数:T 与 T′ 恰共享一个三拼——大分解之间的「对边关系」;对边 d 属于 3 个三拼(d 配其余四点的匹配,3 种),这 3 个三拼的两两大分解对两两不交,恰是六个大分解上的一个三拼(新的完美匹配)!于是在大分解的世界里:旧三拼扮演对边,旧对边扮演三拼,旧大分解扮演点——整个三层结构照镜子照出了自己。S₆ 的体外自同构正站在这面镜子前。
阶段小结 三层对象各就各位:15 对边、15 三拼、6 大分解;大分解之间两两共享一个三拼,三拼与「大分解对」一一对应。下一节把 S₆ 按在大分解上:同态 φ 的良性(同态、单射)由引理 5.3′(iv)一手包办,剩下的只是看 φ 把对换改扮成了什么。

5.2 同态 φ:把 S₆ 按在赛程表上

S₆ 重编号六点,六个大分解(赛程表)跟着重排:σ 把 T 的每个三拼的每个对边送到像位置,σ(T) 仍是大分解。于是得到映射

φ : S₆ → S({T₁, …, T₆}) ≅ S₆(新), σ ↦ [Tk ↦ σ(Tk)]。

取定标号「Tk ↦ k」(表 5-0 的编号),φ 就成了 S₆ 到自身的映射。φ 保乘法(先 σ 后 τ 的重编号 = 先 τ 后 σ 的赛程重排,纯作用公理);φ 单射:若 σ(Tk) = Tk 对一切 k,则引理 5.3′(iv)给出 σ = e;φ 满射:像的阶 = 720/1 = 720 = 全对称群的阶。一个不请自来的自同构。

引理 5.4′(对换的去向) n = 6 的对换 (1 2) 在任何一个大分解表中都不是固定点:对表 5-0 六行逐一验算——每行查含 13 的三拼(如 T₁ 中 13·25·46 ↦ 23·15·46,不在这行的五个三拼里),六行全部出格。于是 φ((1 2)) 是六个标号上的一个无不动点的对合——只能是三个不交对换之积,即三重对换。由共轭类随同构整体搬运(引理 2.1)与单射性:
φ(对换类,15 个)= φ(S₆) 的三重对换类(15 个)。
定理 5.4(S₆ 的外自同构) (a)标号确定后,φ 是 S₆ 的自同构,且
φ(对换类)= 三重对换类, φ(三重对换类)= 对换类,
故 φ ∉ Inn(S₆),Out(S₆) ≠ 1。
(b)Aut(S₆) = Inn ⊔ φ∘Inn,|Aut(S₆)| = 1440,Out(S₆) ≅ C₂。特别地 S₆ 不完备——它输掉的恰是完备定义的第二条。
证. (a)已备:φ 是保乘法双射;φ((1 2)) 是三重对换(引理 5.4′),而非对换;内自同构保共轭类,永做不到这一点(引理 2.1)。φ⁻¹ 同理反向换类。
(b)任取 ψ ∈ Aut(S₆)。它把对换类映到某个 15 元的 2 阶类(引理 2.1、2.3),即对换类或三重对换类——平局的两造。若保住对换类:注意 n = 6 ≥ 5 时 R-图的星团(5 元)仍严格大于三角团(3 元),引理 3.3 原封不动地适用,得 ψ = cπ ∈ Inn。若换成三重类:则 φ⁻¹ψ 把对换类送回对换类,由上段 φ⁻¹ψ = cπ,即 ψ = φ∘cπ ∈ φ∘Inn。两族不相交(内自同构保类、φ 换类),各 720 个,合计 1440。商群按 Out = Aut/Inn 数一数:两个陪集,C₂。∎
注 5.5(φ 的私章:显式表与八阶身世) φ 全身可查:15 条对换的去向列于表 5-1(标号 Tk ↔ k)。更妙的是平方:程序逐元素核验
φ² = cκ, κ = (1 6 5 4)(2 3),
即 φ² 已是内自同构!κ 是 (2,4) 型,4 阶,于是 φ⁴ = cκ² = c(1 5)(4 6) ≠ id,而 φ⁸ = cκ⁴ = id:φ 在 Aut(S₆) 中的阶是 8——一个 720 阶群里挤进来一条 8 阶的体外长鞭。另据程序清点,Aut(S₆) 在 Inn 之外恰有 36 个对合(形如 φ∘cg),它们将在 §6 的塔里充当现成楼梯。
对换φ 像对换φ 像对换φ 像
(1 2)(1 2)(3 4)(5 6)(2 3)(1 3)(2 5)(4 6)(3 5)(1 5)(2 6)(3 4)
(1 3)(1 6)(2 4)(3 5)(2 4)(1 4)(2 6)(3 5)(3 6)(1 4)(2 3)(5 6)
(1 4)(1 5)(2 3)(4 6)(2 5)(1 6)(2 3)(4 5)(4 5)(1 3)(2 4)(5 6)
(1 5)(1 4)(2 5)(3 6)(2 6)(1 5)(2 4)(3 6)(4 6)(1 6)(2 5)(3 4)
(1 6)(1 3)(2 6)(4 5)(3 4)(1 2)(3 6)(4 5)(5 6)(1 2)(3 5)(4 6)
表 5-1 φ 在对换类上的显式动作(15 条,标号 Tk ↔ k)。如 (1 2) ↦ (1 2)(3 4)(5 6):对换被改扮成三重对换。全部 720 个元素的动作可由共轭生成,附录 B 脚本备查。

5.3 十二个 S₅:两类家族与 φ 的换装戏法

S₆ 的 S₅ 子群(120 阶,指数 6)是观察 φ 的另一扇窗。它们恰好 12 个,分成两类各 6 个:

命题 5.6(两类 S₅) (i)点稳定子:Stab(i) ≅ S₅(固定 i,重排其余五点),共 6 个,彼此共轭,不传递(轨道 {i} ∪ 其余五点)。(ii)传递型:把 PGL₂(5) = {分式线性变换 x ↦ (ax+b)/(cx+d), ad−bc ≠ 0} 作用在射影直线 P¹(F₅) = {∞, 0, 1, 2, 3, 4}(6 个点)上,得 S₆ 的一个 120 阶子群(生成元 T: x↦x+1、M: x↦2x、I: x↦−1/x;|GL₂(5)| = (25−1)(25−5) = 480,模去数量纯量 4 倍得 120),它传递(I 交换 ∞ 与 0,T 转动其余五个)。这样的子群恰有 6 个(大分解的稳定子:φ 的像群里固定 Tk 的 120 阶子群,经标号搬回 S₆),彼此共轭。(iii)φ 把两族互换:φ(点稳定子族) = 大分解稳定子族(程序逐群核验)。(iv)12 = 6 + 6 就是全部:对合类账本旁证——若另有 S₅,其对合配置将超出两类账目(附录 B 程序穷举:恰 12 个)。
十二个 S₅ 子群:两个共轭类,φ 在其间穿针引线 点稳定子族(不传递) Stab 1 Stab 2 Stab 3 Stab 4 Stab 5 Stab 6 各固定一点,剩五点内照旧是 S₅ 6 个,互相共轭 传递族 PGL₂(5) PGL 1 PGL 2 PGL 3 PGL 4 PGL 5 PGL 6 各自是某个大分解的稳定子 在六点上传递(I 交换 ∞ 与 0) φ φ⁻¹ φ 把一族整体搬到另一族——外自同构「看不出来」的对称,子群布局替它招了供
图 5-2 S₆ 的 12 个 S₅ 子群分成两个 6 元共轭类:点稳定子(不传递)与大分解稳定子(传递,PGL₂(5) 型)。内自同构各守本族,唯有 φ 跨族搬家——外自同构的存在,被子群的「户口本」记录在案。
小结 5.7 §5 的全线战果:三层对象(15 对边—15 三拼—6 大分解)自带一面镜子(注:旧对边 ↔ 新三拼);S₆ 作用在大分解上得到单自同构 φ(引理 5.3′(iv)保证单射);φ 把对换改扮成三重对换(引理 5.4′),把 S₅ 子群换族搬家(命题 5.6);Aut(S₆) = Inn ⊔ φ∘Inn(定理 5.4),Out(S₆) ≅ C₂——平局 15 = 15 兑现为一头真实的体外对称。
思考题 5 

§6 自同构塔:往上还能盖几层

完备群是塔顶(§1 的思想框)——但塔到底是什么、一定有顶吗?本节把比喻兑现成定义,陈述 Wielandt 的收尾定理,然后用程序加理论把 S₆ 的塔盖到顶:它恰好要走两步,这一站式观光是本册压轴的风景。

6.1 塔:定义与小实例

定义 6.1(自同构塔) 从群 G 出发,令
G₀ = G, Gk+1 = Aut(Gk),
并用内自同构 g ↦ cg 把 Gk 嵌入 Gk+1(引理 1.5 保证这是同态,核 = Z(Gk))。链
G = G₀ ⊴ G₁ ⊴ G₂ ⊴ ⋯
称为 G 的自同构塔。若某层 Gm 完备,则 Gm+1 ≅ Gm,此后层楼层同——塔封顶,Gm 称为塔顶。
例 6.2(四座小塔) 

6.2 Wielandt 定理:塔总会停

定理 6.3(Wielandt,1939) 有限群的自同构塔总在有限步内封顶于一个完备群:存在 m 使 Gm 完备(且 Z(Gk) 沿途逐层清空后塔严格长高,直到封顶)。
思路(非证明) 完整证明属于子群格的精细组合(Wielandt 的「双正规子群」理论),超出本册装备,我们只交代塔为何必须停的两股力。其一:每层 Gk+1 = Aut(Gk) 里,Gk 的像 = Inn 是特征的(引理 1.5 的共轭公式说 Inn 在 Aut 下稳定;更精细的论证给出特征性),于是塔是「特征列」——每一层都传下去。其二:若 Gk 不完备,要么中心非平凡(下一层嵌压缩水,阶严格变化),要么有真外自同构(下一层严格变大);Wielandt 证明这条「变大—压水」的进程对有限群必然耗尽。定性结论:塔顶永远存在、永远完备;定量问题——从 G 出发要盖几层——没有一般的先验答案,只能一座塔一座塔地量。这正是 S₆ 出场的地方。

6.3 S₆ 的塔:两步封顶

记 B := Aut(S₆)(1440 阶,定理 5.4)。要量 S₆ 的塔,只需回答:B 完备吗?先把 B 的内脏摸清(以下每条均经程序逐元素核验,附录 B): ① 派生列:B′ = A₆(360 阶)——因为 B/Inn(S₆) ≅ C₂ 而 S₆′ = A₆,派生不会比这更小(B 的换位子已能把 A₆ 全数凑出)。② 商:B/B′ ≅ C₂×C₂(4 阶、无 4 阶元)。③ 中心:Z(B) = 1。④ 分裂:B ≅ S₆ ⋊ C₂,Inn 之外恰有 36 个对合(注 5.5),任取其一(如 φ)与 S₆ 合起来生成 B。⑤ 中心化子:CB(A₆) = 1——与整个 A₆ 交换的 B 元素必居 Z(A₆) 附近的平凡角落。

定理 6.4(S₆ 的塔两步封顶) B = Aut(S₆) 是完备群:
S₆ ⊴ B = Aut(S₆) = Aut(B) ⊴ ⋯, |B| = |Aut(B)| = 1440。
即 S₆ 的塔走两步到顶;顶层 B 不完备不了——它把自己所有的对称也用完了。
证. 任取 ψ ∈ Aut(B),证 ψ = cb 对某 b ∈ B。
第一步:限制到 A₆。B′ = A₆ 是派生子群,而派生子群是特征的(自同构保换位子:ψ([x,y]) = [ψ(x), ψ(y)]),故 ψ(A₆) = A₆,限制 ψ|A₆ ∈ Aut(A₆)。
第二步:限制映射单射。若 ψ 在 A₆ 上恒等:任取 b ∈ B,其共轭作用 cb|A₆ 被 ψ 原样保住(ψ 逐点固定 A₆,对 a ∈ A₆:ψ(bab−1) = bab−1),于是 ψ(b)b−1 与 A₆ 的每个元素交换,落进 CB(A₆) = 1,ψ(b) = b。故限制映射 Aut(B) → Aut(A₆) 单射,|Aut(B)| ≤ |Aut(A₆)|。
第三步:对账。经典事实(本册用程序穷举核验,附录 B):|Aut(A₆)| = 1440——A₆ 也带 C₂×C₂ 的体外对称(S₆ 现象的影子:见注 6.4′)。于是
1440 = |B| = |Inn(B)| ≤ |Aut(B)| ≤ |Aut(A₆)| = 1440,
处处取等:Aut(B) = Inn(B),且 Z(B) = 1。B 完备。∎
注 6.4′(A₆ 的回声) |Aut(A₆)| = 1440 与 |B| 相同并非偶然:B 作用在自己的特征列 A₆ 上给出 B ↪ Aut(A₆),两边同为 1440 阶,B 竟是 Aut(A₆) 的一个具体化身(文献里 Aut(A₆) ≅ PΓL₂(9) ≅ M₁₀ 的一个版本)。S₆ 与 A₆ 的体外对称在这层楼合流——塔的第二层同时是两家的塔顶。
三座塔:封顶所需步数各不相同 S₅ 的塔 S₅ 60 S₅ ≅ Aut(S₅) 完备,原地封顶 0 步:出发即塔顶 V₄ 的塔 V₄ 4,中心病 S₃ ≅ Aut(V₄) 完备,封顶 1 步封顶(自同构「变大」) S₆ 的塔 S₆ 720,Out ≅ C₂ B = Aut(S₆) 1440,B′ = A₆ B ≅ Aut(B) 完备,封顶 1 步长高(φ 及 36 个外对合登场),再 1 步封顶 Wielandt:有限群的塔必停;S₆ 示范「外表不完备、内里终有顶」
图 6-1 塔对比。S₅ 出发即顶;V₄ 爬一层(变成 S₃)就到顶;S₆ 先长高到 B(1440 阶,添进 φ 与 36 个外对合),B 再原地封顶。塔顶必完备,但不完备的群可能要爬几步——步数本身是一座群的性格签名。
小结 6.5 塔的定义(定义 6.1)+收尾保证(Wielandt 定理 6.3)+S₆ 实测(定理 6.4:两步封顶,B 完备)。§1 埋下的「塔地理」至此全部兑现:Sn 家族几乎全体原地封顶,S₆ 独要一跳——跳上去之后,连影子(A₆ 的自同构群)都一起住进了塔顶。
思考题 6 

§7 词源、三句话与下一座山

7.1 术语考古

本册的几个关键词都带着年轮,把出处摆出来,证明的地层结构会更清楚。

考古条目 

7.2 三句话

全册压缩 ① 认类:对换类的大小 s1 在 2 阶类中唯一,除 (6, 3) 一处平局(引理 2.4,丢番图方程 ∏(n−i) = 2k−1k!)。② 认点:R-图的星团把点编码进对换类,保类的自同构被逼成共轭(引理 3.3),于是 Sn(n ≠ 2, 6)完备(定理 3.5)——群把自己所有的对称用完。③ 补缝:唯一裂缝 n = 6 由对边—三拼—大分解的镜屋填上,Out(S₆) ≅ C₂(定理 5.4),塔爬一层即封顶(定理 6.4)——体外对称只此一家,且住在塔顶。

7.3 下一座山:读完之后去哪里

阅读指引 
终章一问 Sn 的故事在 n = 6 处拐了个弯,拐弯处立着一面镜子:十五个对边、十五个三拼、六个大分解。下次你在自己的群里数共轭类大小,数到平局时别急着翻页——平局不是定理的敌人,是通往塔顶暗梯的门口。赫尔德 1895 年在这扇门口站过,你也在。

附录 A 速查表

A.1 符号与术语

记号含义出处
Aut(G) / Inn(G)全体自同构 / 全体内自同构(共轭 cg)定义 1.1 / 1.3
Out(G)外自同构群 = Aut/Inn:「共轭够不着的对称」定义 1.6
完备群Z(G) = 1 且 Aut = Inn 的群(塔顶)定义 1.7
skk 重对换共轭类的大小 = n!/(2kk!(n−2k)!)引理 2.3
R-图 Rn顶点 = 对换;相邻 ⟺ 乘积阶 3 ⟺ 共享一点定义 3.1
星团 / 三角团Rn 的两种极大团:{(i j)}(n−1 元)/ {(ab),(ac),(bc)}(3 元)引理 3.2
对边 duad六点集的二元子集,15 个定义 5.1
三拼 syntheme三个两两不交对边(K₆ 完美匹配),15 个定义 5.2
大分解 total五个三拼用尽 15 个对边(K₆ 的 1-因子分解),6 个定义 5.3
φS₆ 在六个大分解上的作用,外自同构本体定理 5.4
κ(1 6 5 4)(2 3),满足 φ² = cκ注 5.5
BAut(S₆),1440 阶,B′ = A₆,S₆ 塔顶定理 6.4
PGL₂(5)F₅ 上的分式线性群,≈ S₅,S₆ 的传递型子群命题 5.6
自同构塔G, Aut(G), Aut(Aut(G)), …(内嵌 cg)定义 6.1

A.2 定理对账单

编号一句话内容
定理 1.4Inn(G) ≅ G/Z(G)(g ↦ cg 满同态,核 = 中心)
引理 1.5Inn ◁ Aut;αcgα−1 = cα(g)
定理 1.9N ◁ G 且 N 完备 ⟹ G = N × CG(N)
引理 2.1自同构整类搬共轭类,保大小、保阶
引理 2.2Z(Sn) = 1(n ≥ 3)
引理 2.32 阶类恰为 k 重对换类,大小 sk
引理 2.4sk = s1 仅当 (n, k) = (6, 3)——全册的枢纽
引理 3.2n ≥ 5 时 Rn 大小 n−1 的团恰为星团
引理 3.3团论证:保对换类的自同构(n ≥ 5)必为 cπ
定理 3.5Sn(n ≥ 3, n ≠ 6)完备:Aut = Inn ≅ Sn
推论 4.1完备子群一旦正规即直因子
定理 4.2全形定理:G 完备 ⟹ Hol(G) ≅ G×G
定理 4.3奇置换的共轭是 A₅ 的非内自同构;A₅ 不完备
定理 4.4Aut(A₅) ≅ S₅,Out(A₅) ≅ C₂(表 4-1 十五行点数)
引理 5.3′大分解 6 个、两两恰共享一个三拼、固定全部大分解者必恒等
引理 5.4′φ((1 2)) 无不动点 ⟹ 是三重对换;φ 换两类
定理 5.4Aut(S₆) = Inn ⊔ φ∘Inn(1440 阶),Out(S₆) ≅ C₂
命题 5.6S₆ 的 12 个 S₅ 分两族(点稳定子 / PGL₂(5)),φ 互换两族
定理 6.3Wielandt:有限群的自同构塔有限步封顶于完备群
定理 6.4B = Aut(S₆) 完备:S₆ 的塔两步封顶

A.3 关键数字

数字身份
15 = 15S₆ 里对换类 = 三重对换类——唯一的平局,裂缝的宽度
720|S₆| = |Inn(S₆)|
1440|Aut(S₆)| = |Aut(A₆)| = |B| = |Aut(B)|
8φ 在 Aut(S₆) 中的阶(φ² = cκ 已是内的)
36B 中 Inn 之外的对合数(φ 的同伙)
12 = 6 + 6S₆ 的 S₅ 子群:点稳定子 6 + 传递型 6
120 / 60|Aut(A₅)| = 120;|Inn(A₅)| = 60——A₅ 缺的恰是半壁
2S₆ 的塔爬的层数:S₆ → B → 停

附录 B 可运行的核对脚本

本册每条关键断言——类大小的唯一性、低维与 A₅ 的自同构计数、大分解的组合学、φ 的换类、B 的内脏清单、A₆ 的 1440——都汇成下面这一个纯标准库脚本。它不依赖任何群论库:群是置换的元组,乘法是自己写的合成。复制、运行、对表——证毕的断言应当全部打上 [✓](在普通家用电脑上约半分钟)。

# -*- coding: utf-8 -*- """verify_book.py —— C-ST-7《Sₙ 的自同构群》附录 B 合并验证脚本(纯标准库)""" from itertools import permutations, combinations I = lambda n: tuple(range(n)) def compose(p, q): return tuple(p[q[i]] for i in range(len(p))) def inv(p): r = [0]*len(p) for i in range(len(p)): r[p[i]] = i return tuple(r) def order(p): r = p; k = 1 while r != I(len(p)): r = compose(p, r); k += 1 return k def ctype(p): n = len(p); seen = [False]*n; t = [] for i in range(n): if not seen[i]: l = 0; j = i while not seen[j]: seen[j] = True; j = p[j]; l += 1 if l > 1: t.append(l) return tuple(sorted(t)) def sgn(p): return 1 if sum(1 for i in range(len(p)) for j in range(i+1,len(p)) if p[i]>p[j]) % 2 == 0 else -1 def closure(gens, gid): cl = set(gens) | {gid}; fr = list(gens) while fr: a = fr.pop() for g in gens: for c in (compose(a, g), compose(g, a)): if c not in cl: cl.add(c); fr.append(c) return cl def ok(name, cond, extra=''): print(('[✓] ' if cond else '[✗] ') + name + (' ' + extra if extra else '')) # ---------- 1. s_k 唯一性:仅 (6,3) ---------- print('== 1. 2 阶类大小 s_k(n = 3..12) ==') coll = [] for n in range(3, 13): import math sizes = {} for k in range(1, n//2 + 1): sizes[k] = math.factorial(n) // (2**k * math.factorial(k) * math.factorial(n-2*k)) for k in sizes: if k > 1 and sizes[k] == sizes[1]: coll.append((n, k)) ok('s_k = s_1 仅在 (6,3)', coll == [(6, 3)], '重合清单 %s' % coll) # ---------- 2. |Aut(S₃)| = 6, |Aut(S₄)| = 24(三角群表现计数) ---------- print('== 2. 低维 Aut 计数(生成像对 + 闭包) ==') def count_aut_tri(n, e1, e2): """Aₙ 前用 Sₙ:生成对 (τ,σ),τ^e1=σ^e2=(τσ)^e3=1 型三角表现,数合法像对""" G = sorted(set(permutations(range(n)))) gid = I(n) invs = [g for g in G if order(g) == e1 and g != gid] os = [g for g in G if order(g) == e2] cnt = 0 for a in invs: for b in os: if order(compose(a, b)) != e3: continue if len(closure([a, b], gid)) != len(G): continue cnt += 1 return cnt e3 = 2 ok('|Aut(S₃)| = 6', count_aut_tri(3, 2, 3) == 6, '((2,3,2) 三角表现 ≅ S₃)') e3 = 3 ok('|Aut(S₄)| = 24', count_aut_tri(4, 2, 4) == 24, '((2,4,3) 三角表现 ≅ S₄)') # ---------- 3. |Aut(A₅)| = 120 ---------- print('== 3. |Aut(A₅)| ==') S5 = sorted(set(permutations(range(5)))); gid5 = I(5) A5 = [p for p in S5 if sgn(p) == 1] d5 = [p for p in A5 if ctype(p) == (2, 2)] t5 = [p for p in A5 if ctype(p) == (3,)] cnt = sum(1 for a in d5 for b in t5 if order(compose(a, b)) == 5 and len(closure([a, b], gid5)) == 60) ok('|Aut(A₅)| = 120', cnt == 120, '((2,3,5) 三角表现 ≅ A₅,实测 %d)' % cnt) # ---------- 4. S₆:大分解与 φ ---------- print('== 4. S₆ 外自同构 ==') pts6 = range(6); gid6 = I(6) S6 = sorted(set(permutations(pts6))) duads = set(frozenset(d) for d in combinations(pts6, 2)) matchings = [] for trio in combinations(combinations(pts6, 2), 3): if sorted([x for d in trio for x in d]) == list(pts6): matchings.append(frozenset(frozenset(d) for d in trio)) assert len(matchings) == 15 totals = set() def rec(rest, used, acc): if not rest: totals.add(frozenset(acc)); return d0 = min(rest) for m in matchings: if d0 in m and rest.issuperset(m) and m not in used: rec(rest - m, used | {m}, acc | {m}) rec(frozenset(duads), frozenset(), frozenset()) totals = sorted(totals) ok('大分解恰 6 个', len(totals) == 6) ok('两两恰共享 1 个三拼', all(len(totals[i] & totals[j]) == 1 for i in range(6) for j in range(i+1, 6))) tidx = {T: i for i, T in enumerate(totals)} def phi(g): out = [None]*6 for T in totals: gT = frozenset(frozenset(frozenset(g[x] for x in d) for d in m) for m in T) out[tidx[T]] = tidx[gT] return tuple(out) ok('φ 同态', all(phi(compose(a, b)) == compose(phi(a), phi(b)) for a, b in zip(S6[::7], S6[1::7]))) ok('φ 单射(核平凡)', [g for g in S6 if phi(g) == gid6] == [gid6]) sw = {} for g in S6: sw.setdefault(ctype(g), set()).add(ctype(phi(g))) ok('φ(对换类)=三重类、φ(三重类)=对换类', sw[(2,)] == {(2, 2, 2)} and sw[(2, 2, 2)] == {(2,)}) ok('φ((2,3))↔(6)、φ((3,))↔(3,3)', sw[(2, 3)] == {(6,)} and sw[(3,)] == {(3, 3)}) phi2 = {x: phi(phi(x)) for x in S6} kaps = [k for k in S6 if all(phi2[x] == compose(compose(k, x), inv(k)) for x in S6)] assert len(kaps) == 1 kap = kaps[0] def cycfmt(p): n = len(p); seen = [False]*n; parts = [] for i in range(n): if not seen[i]: j = i; l = [] while not seen[j]: seen[j] = True; l.append(j+1); j = p[j] if len(l) > 1: parts.append('(' + ''.join(map(str, l)) + ')') return ''.join(parts) if parts else 'e' print('φ² = c_κ,κ =', cycfmt(kap), '(型', ctype(kap), ',阶', order(kap), ')') ok('φ² 是内自同构(φ² = c_κ)', True, 'κ = %s' % cycfmt(kap)) # ---------- 5. B = Aut(S₆) 的双字表示与内部结构 ---------- print('== 5. B = Aut(S₆)(元素对 (σ,ε)) ==') phiS = {g: phi(g) for g in S6} phiI = {v: k for k, v in phiS.items()} def bmul(x, y): (s, e), (t, d) = x, y if e == 0: return (compose(s, t), d) if d == 0: return (compose(s, phiS[t]), 1) return (compose(compose(s, phiS[t]), kap), 0) B = [(s, e) for s in S6 for e in (0, 1)] ok('|B| = 1440', len(B) == 1440) import random random.seed(2) for _ in range(500): x, y, z = (random.choice(B) for _ in range(3)) assert bmul(bmul(x, y), z) == bmul(x, bmul(y, z)) Binv = {} for (s, e) in B: Binv[(s, e)] = (inv(s), 0) if e == 0 else (phiI[compose(inv(s), inv(kap))], 1) for _ in range(200): x = random.choice(B) assert bmul(x, Binv[x]) == (gid6, 0) def bclosure(gens): gid = (gid6, 0) cl = set(gens) | {gid}; fr = list(gens) while fr: a = fr.pop() for g in gens: for c in (bmul(a, g), bmul(g, a)): if c not in cl: cl.add(c); fr.append(c) return cl gb = [((1,0,2,3,4,5), 0), ((1,2,3,4,5,0), 0), (gid6, 1)] # c_(12), c_(123456), φ assert len(bclosure(gb)) == 1440 def comm(x, y): return bmul(bmul(bmul(x, y), Binv[x]), Binv[y]) D = bclosure([comm(g, b) for g in gb for b in B]) A6B = {(s, 0) for s in S6 if sgn(s) == 1} ok("B′ = {c_σ : σ ∈ A₆}(360 阶)", D == A6B, '实测 |B′| = %d' % len(D)) ZB = [x for x in B if all(comm(x, g) == (gid6, 0) for g in gb)] ok('Z(B) = 1', ZB == [(gid6, 0)]) # A₆B 的生成对(置换层面找) gA = None for p in [x for x in S6 if sgn(x) == 1 and order(x) == 3]: for q in [x for x in S6 if sgn(x) == 1 and order(x) == 5]: if len(closure([p, q], gid6)) == 360: gA = [p, q]; break if gA: break assert gA CB = [x for x in B if all(comm(x, (a, 0)) == (gid6, 0) for a in gA)] ok('C_B(A₆) = 1', CB == [(gid6, 0)]) out_inv = sum(1 for (s, e) in B if e == 1 and bmul((s, e), (s, e)) == (gid6, 0)) ok('Inn 之外恰 36 个对合', out_inv == 36, '实测 %d' % out_inv) # ---------- 6. |Aut(A₆)| = 1440(生成像对 + BFS 一致性) ---------- print('== 6. |Aut(A₆)| ==') A6 = sorted(set(permutations(range(6)))) A6 = [p for p in A6 if sgn(p) == 1]; gidA = I(6) inv6 = [p for p in A6 if order(p) == 2] fiv6 = [p for p in A6 if order(p) == 5] p0 = q0 = None for p in inv6: for q in fiv6: if len(closure([p, q], gidA)) == 360: p0, q0 = p, q; break if p0: break assert p0, '未找到 (2,5) 生成对' o_ref = order(compose(p0, q0)) def hom_pair(bp, bq): word = {p0: bp, q0: bq} fr = [(p0, bp), (q0, bq)]; seen = {p0, q0} while fr: g, gi = fr.pop() for base, bimg in ((p0, bp), (q0, bq)): h, hi = compose(g, base), compose(gi, bimg) if h in seen: if word[h] != hi: return None else: seen.add(h); word[h] = hi; fr.append((h, hi)) if len(seen) != 360 or len(set(word.values())) != 360: return None return word n_aut = 0 for bp in inv6: for bq in fiv6: if order(compose(bp, bq)) != o_ref: continue if hom_pair(bp, bq) is not None: n_aut += 1 ok('|Aut(A₆)| = 1440', n_aut == 1440, '实测 %d' % n_aut) print() print('== 塔的结论 ==') print('|Inn(B)| = |B|/Z(B) = 1440/1 = 1440') print('限制映射 Aut(B) → Aut(A₆) 单射(C_B(A₆) = 1)') print('1440 = |Inn(B)| ≤ |Aut(B)| ≤ |Aut(A₆)| = 1440 ⟹ Aut(B) = Inn(B)') print('>>> B 完备:S₆ 的塔两步封顶 S₆ → B → 停 ✅')
运行结果对照 脚本应依次报告:s_k 重合清单恰为 [(6, 3)];|Aut(S₃)| = 6、|Aut(S₄)| = 24(定理 3.5 情形二、三的计数);|Aut(A₅)| = 120(定理 4.4);大分解 6 个、两两共享一个三拼、φ 同态单射且换两类(引理 5.3′、定理 5.4);φ² = c_κ 的 κ 打印出来(标号 Tk ↔ k 下为 (1 6 5 4)(2 3),(2,4) 型 4 阶);B′ = 360、Z(B) = 1、C_B(A₆) = 1、36 个外对合(定理 6.4 的三块基石);|Aut(A₆)| = 1440;最后打印塔的两步封顶结论。改动标号(重排 totals 表)只会改 κ 的具体写法,不改任何一条 [✓]。
再见 读本到此为止,脚本交到你手上。十五个对边、十五个三拼、六个大分解、一座两步封顶的塔——都是你的了。
Sₙ 的自同构群 —— 从类的大小到完备群——n = 6 处唯一的裂缝 · 数学小主题读本 · 其七 · v1.0 | 格物致知 · JUST FOR FUN

版权所有©2026九章格数学 PhiloMath
北京九章格教育科技有限公司