二面体群 · 正多边形的对称群

数学小主题读本 · 其五 | 从对称群到 Dn 的结构定理——正多边形为何只有两类对称 | 九章格数学 PhiloMath
本册定位。一枚正三角形的瓷砖,放在桌上稍稍转动 120°,看起来与原来一模一样;沿着一条中线把它翻个面,也一模一样。这些「让它看起来没动」的动作,就是对称;把一个图形所有对称收集起来,得到的集合关于「接连做两个动作」的运算封闭,因而是一个群——图形的对称群。正 n 边形的对称群记作 Dn,称为二面体群。本册只做一件事:把 Dn 的结构彻底讲清楚,并给出尽可能细致的证明——它恰有 2n 个元素,一半是绕中心的旋转,一半是沿 n 条轴的反射;作为抽象群,它是一个循环群被另一个二元群「拧」出来的半直积,即 Dn ≅ Cn ⋊ ℤ2。为了让这条定理站得住,本册从最底层开始:先给出对称群的严格定义并证明它确实是群(§1),再论证正多边形的对称必固定中心、并把顶点搬到顶点(§2),由此数出 2n 这个上界;接着分别把其中的旋转(§3)与反射(§4)两种动作研究清楚,然后在 §5 合流为结构定理。此后顺势给出生成元与关系(§6),看清 Dn 的中心、共轭类与子群格(§7),最后把它放回平面欧氏变换群与晶体学的坐标系里(§8),再把视野从有限推向无限:讨论圆的对称群 O(2),并把不同位置的圆、不同位置的正多边形的对称群都放进平面等距群 E(2) 里作比较——看它们是否互为共轭、相交于什么、联合起来能生成什么(§9)。全册不假设任何超出高中与一门入门线性代数的知识,附录给出各正多边形的对称速查表和一份可直接运行的核对脚本。

§1图形的对称群:把「对称」写成函数

「对称」是几何里最古老也最含混的词之一。说一个图形对称,究竟在说什么?画家的回答是「看起来匀称」,物理的回答是「转动之后没有变化」。数学要给出一个能计算、能证明的版本,就得把「没有变化」翻译成函数语言:有一个动作,它把图形整体搬到它自己身上。本节负责把这句直觉写成定义,并说明为什么这样拼出来的集合天然是一个群。

1.1 三类熟悉的「动作」

先看三个日常例子,找出它们的共同点。把一枚正三角形瓷砖放在桌上,围绕它的中心转 120°,瓷砖落到与原位置完全重合的地方——若不看标记,无法察觉它动过。同样,绕中心转 240° 也一样;沿着一条中线把它翻过来(像翻书页那样),也重合。正方形的选择更多:转 90°、180°、270° 都重合,还有四条不同的翻面方式。而一枚雪花(正六边形)可以转 60° 的整数倍,翻面方式有六条。反过来,一枚「长宽不等的长方形」只能转 180°、以及关于两条中垂线翻面;一枚形状随意的三角形,则一个动作也做不了,任何移动都会露馅。

这些动作有个共同的名字:它们都是平面上的刚性运动——纸片在桌面上滑动、转动、翻面时,纸上任意两点的距离毫厘不变。用数学的话说,它们都是等距(保距变换)。把平面上全体等距记作 E(2),即平面欧氏变换群;而「把图形 F 搬回自身」的那些等距,自然就是 E(2) 中满足 f(F) = F 的成员。

定义 1.1(图形的对称与对称群) 设 F 是平面上一个非空点集,E(2) 为平面上全体等距。F 的一个对称是一个等距 f,满足
f(F) = F。
F 的全体对称所成之集记作 Sym(F),称为 F 的对称群(symmetry group)。当 F 是正 n 边形时,习惯把 Sym(F) 记作 Dn,并称二面体群(dihedral group)。

定义里的等号要读懂:f(F) = F 说的是「图形作为整体被搬回自身」,而不是「每一点都原地不动」。转 120° 时,除中心外每一个点都换了位置,但整块瓷砖占的地方分毫不差——这正是对称的精髓:它动的是点,不动的是形状。

思想 把「对称」交给函数,是一次典型的数学搬运:一个含糊的美学术语,从此变成一个可枚举、可复合、可分类的集合。本节接下来要做的,就是证明这个集合不只是一堆散沙,而是一个有结构的整体。

1.2 对称群为什么是群

任何一个图形的对称群都自动是群,理由只用「复合」与「求逆」两条运算就够了。先回忆群的定义:一个集合 G 连同一种运算,若满足结合律、有单位元、每个元素有逆元,就是一个群。

定义 1.2(群) 集合 G 上的运算 · 若满足:(G1) 结合律 (a·b)·c = a·(b·c);(G2) 单位元 存在 e ∈ G 使 e·a = a·e = a;(G3) 逆元 每个 a 有 a−1 使 a·a−1 = a−1·a = e;则称 (G, ·) 为一个群。若运算可交换(a·b = b·a)则称 Abel 群。

对称群用的运算是映射的复合:先做 g 再做 f 记作 f ∘ g,其规定是 (f ∘ g)(X) = f(g(X))。映射复合天然满足结合律,这一点无需验证。真正要查的是:复合之后是否仍在 Sym(F) 里。

定理 1.3 对任意非空点集 F,Sym(F) 在映射复合下构成一个群。
证. 逐条核对群的三条公理。把 Sym(F) 简记作 S。 (G1) 结合律是映射复合的固有性质。三条齐备,Sym(F) 是群。∎
说明 1.4 上面第三条用到了「平面上每个等距都是双射」。这件事在一般的点集上并不自动成立(例如只含两个点的点集,任意映射都保距却未必可逆),但在欧氏平面上它是真的:一个可选的证明思路是,用平面上的距离可以把「三点不共线」写成代数条件,从而等距必把不共线的三点送到不共线的三点,再配合「等距由不共线的三点唯一决定」即可证得满射。本册 §2 会给出后一条引理的完整证明;在它到位之前,读者不妨先接受「平面等距是双射」这一常识——它等价于「刚体运动不会把平面皱缩或折叠」。

1.3 对称保住了什么:由距离决定的一切

对称是等距,因此它保住一切「只用距离就能说清」的量。这个原则看似空泛,却是后面所有论证的引擎:正多边形的中心、半径、边长,全都由距离刻画,因而自动被每个对称保住。

命题 1.5 设 f ∈ Sym(F)。若点 P 由「到 F 中若干点的距离」唯一确定,则 f(P) 由「到这些点的像的距离」同样唯一确定。特别地,下列对象被 f 保持:F 的直径(F 中距离最大的两点)、最小外接圆及其圆心、F 的凸包与它的顶点。
证. 设 P 满足「对 F 中某组点 A1, …, Ak,距离 d(P, Ai) = ri(给定),且这样的 P 在平面内唯一」。由 f 保距,d(f(P), f(Ai)) = ri,即 f(P) 也落在同样的距离条件下;由唯一性,它正是「该条件所指的那一点」。故 P 的地位被 f 如实搬运。直径、最小外接圆(半径最小者唯一)等对象均由距离唯一刻画,故一并被保持。∎

这条命题马上会派上用场。例如,正 n 边形的中心是「到全部顶点等距」的那个唯一点,因此每个对称都必须固定中心——这正是下一节数出 2n 个对称的出发点。

1.4 四个小例子:从平凡群到无限群

在动手研究正 n 边形之前,先用四个简单的图形熟悉 Sym(F) 的用法。它们分别是平凡、四元、有限、无限四种面貌的代表。

例 1.6(不规则三角形:最小的对称群) 取一个三边两两不等、三角两两不等的三角形 T。任何对称 f 都把 T 的三条边当作带长度的对象搬来搬去;由于三边长度互不相同,最长边只能落到最长边、最短边只能落到最短边。于是每个顶点都被固定(顶点是两条特定边的交点)。由 §2 的「三点定位」可知 f 必为恒等。故 Sym(T) = {id},是最小的群。
例 1.7(线段:克莱因四元群) 设 F 是一条线段 AB,M 是它的中点。把 A、B 互换的长度数据(d(A,B) 处处相同)使得对称可以把端点互换。可验证恰有四个: 这四者的复合关系是 σ∥ ∘ σ⊥ = ρ,且每个非单位元素自逆。这是一张熟悉的乘法表,名为克莱因四元群 V4。
例 1.8(三角形与正方形) 正三角形有 6 个对称:绕中心转 0°、120°、240°,以及沿三条中线的三个反射。正方形有 8 个:绕中心转 0°、90°、180°、270°,以及沿四条对称轴(两条对角线、两条中垂线)的四个反射。它们的对称群就是 D3 与 D4,其阶分别是 6 与 8 = 2n。本册的目标是把这两个数字背后的一般规律证成一个定理,并说清这 2n 个元素如何相乘。

最后看两个极端。一枚形状随意的三角形给出最小的群 {id};而一个圆则给出一个无限群——绕圆心的任意角度旋转、关于任意过圆心的直线的反射,全都把圆映回自身。这个无限群正是平面上保持原点(圆心)的等距全体,记作 O(2),称为正交群。它既包含无限多个旋转(连续统),又包含无限多个反射。把这个无限群与下面要研究的有限群 Dn 对照,能看清「正 n 边形的对称」是如何从「圆的对称」里按 n 等分挑选出来的。

A B C O 120°
图 1-1 正三角形的对称:绕中心转 120° 把三角映回自身(蓝色弧),沿三条中线(金色虚线)各翻面一次也映回自身。连同「不动」,共 3 + 3 = 6 个对称。

1.5 小结与第一组思考题

小结 1.9 本节把「对称」翻译成了函数:Sym(F) = { f ∈ E(2) : f(F) = F }。要点有三——① 它关于复合自动成群,因为恒等、复合、求逆三种操作都保住了 f(F) = F 这个条件;② 对称保住一切由距离唯一刻画的量(直径、最小外接圆、凸包顶点);③ 正三角形与正方形的对称群阶分别是 6 与 8,圆则给出无限群 O(2)。下一节将证明:任何正 n 边形的对称都不超过 2n 个。
思考题 1 

§2正多边形的对称:固定中心,置换顶点

现在把注意力收到正多边形上。要数清它的对称,先得把正多边形本身说清楚,再证明三件事:对称必固定中心、对称必把顶点搬到顶点、对称由「相邻两个顶点的像」完全决定。第三件事会给出一个硬性的上界——对称不超过 2n 个。这个上界是整册的支点,后面两节的任务就是把这 2n 个对称一个一个造出来。

2.1 正 n 边形的定义

「正 n 边形」在中学课上是画出来的图形,这里需要一个能给证明用的定义。办法是抓住它最本质的数据:一个中心、一个半径、等分的 n 个方向。

定义 2.1(正 n 边形) 设 n ≥ 3 为整数,O 为平面上一点,R > 0。在平面上取 n 个点 A0, A1, …, An−1,使 把 n 个顶点依次连接所得的凸包(连同边界与内部)称为正 n 边形,记作 Pn;O 称为它的中心,R 称为外接圆半径。

定义里「依次连接」与「凸包」是同一件事:把 A0A1, A1A2, …, An−1A0 这些边围起来的区域,正是这 n 个点的凸包。这样定义的好处是:Pn 完全由「一组点到 O 等距、彼此等角」这组纯距离的条件刻画,于是 §1 的命题 1.5 可以直接开工。

先记下一条随时要用的弦长公式。「两点到中心的夹角为 θ」时弦长为 2R sin(θ/2)——这是等腰三角形 OAiAj 的半角公式,两腰长 R、顶角 θ。对顶点 Ai, Aj,夹角是 2|i−j|n·π/n(这里 |i−j|n 表示 i−j 模 n 后取到 0, 1, …, ⌊n/2⌋ 的那个最小非负代表),于是

d(Ai, Aj) = 2R sin( |i−j|n π / n )。(2.1)

由此立刻得到一条将反复使用的边长辨识:边长 s = d(A0, A1) = 2R sin(π/n)。因为 sin 在 [0, π/2] 上严格递增(而 |i−j|n π/n ≤ π/2 对 n ≥ 3 恒成立),所以

命题 2.2(相邻 ⇔ 距离为边长) d(Ai, Aj) = s 当且仅当 Ai, Aj 相邻(即 |i−j|n = 1)。
证. 由 (2.1),d(Ai, Aj) = 2R sin(mπ/n),其中 m = |i−j|n ∈ {0, 1, …, ⌊n/2⌋}。它等于 s = 2R sin(π/n) 当且仅当 sin(mπ/n) = sin(π/n);由于 mπ/n, π/n 都落在 [0, π/2],且 sin 在此段严格单增,故当且仅当 m = 1。∎

2.2 三条定位引理:点由距离钉死

要把「对称被两个顶点的像决定」证出来,需要一条纯距离的定位原理:只要到一个不共线三点的距离全给定,点的位置就唯一了。这条原理完全不提等距,只用圆的性质。

引理 2.3(三点定位) 设 O, A, B 三点不共线。若 X, Y 满足 d(X,O) = d(Y,O)、d(X,A) = d(Y,A)、d(X,B) = d(Y,B),则 X = Y。
证. 记公共距离为 r = d(X,O) = d(Y,O)。以 O 为心、r 为半径的圆记为 ΓO;则 X, Y 都在 ΓO 上。同理,以 A 为心、d(X,A) 为半径的圆 ΓA 也同时含 X, Y。

第一步:两个圆至多交于两点。两圆 ΓO, ΓA 的公共点在直线 OA 的中垂线(到 O、A 等距的点集)上;一条直线与一个圆至多交于两点,故公共点至多两个。于是 { X, Y } ⊆ ΓO ∩ ΓA,其中至多含两点。

第二步:第三个圆把它们区分开。若 X ≠ Y,则 ΓO 与 ΓA 的两交点恰是 X, Y,且它们关于直线 OA 对称(因为圆 ΓO 与 ΓA 的圆心 O, A 都在直线 OA 上,两圆都关于直线 OA 对称,故交点成对地关于该直线对称)。此时 X 与 Y 到直线 OA 的距离相等、分居两侧,特别地,它们到 B 的距离一般不同。要严格排除相等,注意 B 不在直线 OA 上(三点不共线);若 B 到 X、Y 等距,则 B 落在 XY 的中垂线上。而 XY 垂直于 OA(因 X, Y 关于 OA 对称),其中垂线平行于 OA 且过 X, Y 的中点 M;由于 M 在 OA 上(对称轴上的中点),这条中垂线就是过 M 且平行 OA 的直线,即直线 OA 本身。于是 B 在直线 OA 上,与不共线矛盾。故 d(X,B) ≠ d(Y,B),与假设矛盾。所以 X = Y。∎

顺着这条引理,等距的一个强性质就水到渠成:三个不共线点的像,锁死了整个等距。

定理 2.4(等距由三点确定) 设 f, g 都是平面上的等距,A, B, C 是三个不共线的点。若 f(A) = g(A),f(B) = g(B),f(C) = g(C),则 f = g。
证. 任取平面上一点 X,我们来证 f(X) = g(X)。

(i) 先记 A′ = f(A) = g(A),B′ = f(B) = g(B),C′ = f(C) = g(C)。三条距离由保距给出:d(f(X), A′) = d(X, A) = d(g(X), A′),同理对 B′、C′。所以 f(X) 与 g(X) 到 A′, B′, C′ 的距离分别相等。

(ii) 三点 A′, B′, C′ 不共线。反设它们共线,则其中一点(不妨设为 B′)落在另两点之间,于是 d(A′, C′) = d(A′, B′) + d(B′, C′)。由保距,d(A, C) = d(A, B) + d(B, C),即 A, B, C 共线(三角不等式取等号),矛盾。

(iii) 于是对不共线三点 A′, B′, C′,点 f(X) 与 g(X) 到它们的距离两两相等。由引理 2.3,f(X) = g(X)。对一切 X 成立,即 f = g。∎

O A B X 另一个交点(被第三圆排除)
图 2-1 三点定位:到不共线三点 O, A, B 的距离各自给定,相当于落在三个圆上。前两圆的交点只有两个,第三个圆恰好排除其一,剩下的 X 被完全钉死。

2.3 对称固定中心,并置换顶点

有了定位引理,回到正多边形。第一个好消息是:任何对称都动不了中心 O,也动不了顶点集。

定理 2.5 设 n ≥ 3,f ∈ Sym(Pn)。则 (a) f 把顶点集 { A0, …, An−1 } 映到自身;(b) f(O) = O。
证. (a) 顶点恰是凸集 Pn 的极点(不能被写成集内另外两点的严格凸组合的点,即多边形的「角」)。「P 是 X, Y 之间的内点」这一性质可由距离刻画——X 在线段 YZ 上当且仅当 d(Y,Z) = d(Y,X) + d(X,Z)(三角不等式取等)——因此等距 f 把「介于」关系原样搬运,也就把极点搬到极点。由 f(Pn) = Pn,极点的像仍是 Pn 的极点,故 f 把顶点集映到自身。

(b) 先说明满足「到全部 n 个顶点等距」的点唯一。设 P 到 A0, A1, A2 都等距。由到 A0, A1 等距,P 在 A0A1 的中垂线上;由到 A1, A2 等距,P 在 A1A2 的中垂线上。两条中垂线不平行(分别垂直于不共线的两边 A0A1 与 A1A2),交于唯一一点,而 O 正是一个这样的点;故 O 是唯一的这种点。

现在 f 保距且把顶点集映到自身,所以对每个 k,d(f(O), Ak) = d(O, f−1(Ak)),而 f−1(Ak) 也是某个顶点,故 d(O, f−1(Ak)) = R。于是 f(O) 到全部顶点距离都是 R;由唯一性,f(O) = O。∎

解读 2.6 定理 2.5 说的是:每个对称都是「绕 O 的动作」,同时是顶点集的一个置换。这就是正多边形对称群的全部秘密——它们既不移动中心,也不把顶点挪到边或内部去。于是「数对称」变成「数顶点集的可行置换」,问题一下变得具体。

2.4 支点定理:对称不超过 2n 个

接着证明:一个对称只要记住它把相邻两个顶点送到了哪儿,就完全确定了。既然相邻两顶点的像各有有限多种,对称的总数就被卡住。

命题 2.7 设 f, g ∈ Sym(Pn)。若 f(A0) = g(A0) 且 f(A1) = g(A1),则 f = g。
证. 由定理 2.5(b),f(O) = g(O) = O。于是等距 f 与 g 在三点 A0, A1, O 上取值相同。而 O 不在边 A0A1 上(O 是多边形内部一点,A0A1 是边界),故三点不共线。由定理 2.4,f = g。∎
定理 2.8(上界) Sym(Pn) 的元素个数不超过 2n:|Sym(Pn)| ≤ 2n。
证. 考虑映射 Ψ : f ↦ ( f(A0), f(A1) )。由命题 2.7,Ψ 是单射。只需数它的取值有多少种。

(a) f(A0) 必是顶点之一(定理 2.5(a)),故有 n 种可能。

(b) 固定 f(A0) = Ai 之后,f(A1) 必须是 Ai 的某个相邻顶点。理由:f 保距,所以 d(Ai, f(A1)) = d(A0, A1) = s(边长);由命题 2.2,到 Ai 距离恰为 s 的顶点只有 Ai−1 与 Ai+1 两个(下标模 n)。故 f(A1) 至多 2 种可能。

(c) 于是 Ψ 的取值至多 n × 2 = 2n 种。单射的像不超过 2n,即 |Sym(Pn)| ≤ 2n。∎

思想 上界 2n 的证明里,真正出力的是两条:① 中心不动(定理 2.5),于是 A0, A1, O 三点锁死对称;② 保距,于是 A0A1 这条边只能落到等长的边上——而等长的边只有两条。两条合起来把 2n 这个数字挤了出来。接下来 §3、§4 会把这 2n 个名额逐个填满,从而把 ≤ 提升为 =。
思考题 2 

§3旋转:Dn 中的循环子群 Cn

上界已到手,现在开始「填名额」。最容易想到的对称是旋转:绕中心 O 把正 n 边形转 2π/n 的整数倍。本节把这一族动作组织成一个 n 阶循环群。

3.1 旋转 r 及其幂

定义 3.1(基本旋转 r) 设 RO,θ 表示绕 O 逆时针旋转角 θ 的变换。基本旋转定义为
r = RO, 2π/n,
即绕中心逆时针转 2π/n。r 的 k 次复合记为 rk(k ≥ 0;约定 r0 = id),它等于 RO, 2kπ/n。

旋转是等距(把每点绕 O 转过同一角,任何两点的距离不变——这是等腰三角形两腰恒等式的直接后果),而且它显然把每个顶点送向下一个顶点。

引理 3.2 r ∈ Sym(Pn),并且对每个 k,rk(Aj) = Aj+k(下标模 n)。
证. 由定义 2.1,Aj+1 正是把 Aj 绕 O 逆时针转 2π/n 得到的点(两者到 O 等距、夹角 2π/n),故 r(Aj) = Aj+1。迭代得 rk(Aj) = Aj+k。于是 rk 把顶点集映到自身;又边 AjAj+1 被送到 Aj+kAj+k+1(仍是边),故凸包 Pn 映到自身,rk ∈ Sym(Pn)。特别地 r ∈ Sym。∎

3.2 r 生成的群恰是 n 阶循环群

关键问题是:r 反复复合,会得到多少个不同的对称?答案恰是 n 个,一步不多一步不少。先把「r 转一圈」这件事写成一个等式。

定理 3.3 对整数 k,rk = id 当且仅当 n 整除 k。特别地 rn = id,且 r 的最小正周期恰为 n。
证. rk 是绕 O 逆时针转 θk = 2kπ/n 的旋转。它等于 id 当且仅当每个点都被转回原处,即 θk 是 2π 的整数倍(转 0 圈——不可为 2π 的非零整数倍以外的其它值,因为固定 O 的旋转若固定另一点,转角必为 2π 的整数倍)。θk = 2kπ/n ∈ 2πℤ ⟺ k/n ∈ ℤ ⟺ n | k。取 k = n 得 rn = id;对 0 < k < n 有 n ∤ k,故 rk ≠ id,最小正周期为 n。∎
推论 3.4 下列 n 个旋转
id, r, r2, …, rn−1
两两不同,且对复合封闭;它们构成 Sym(Pn) 的一个 n 阶子群,记作 ⟨r⟩,它与循环群 Cn ≅ ℤ/nℤ 同构。
证. 两两不同:设 0 ≤ i < j ≤ n−1 且 ri = rj。两边左乘 r−i(旋转可逆,逆是转 −2iπ/n)得 rj−i = id,其中 0 < j−i < n,与定理 3.3 矛盾。故两两不同。

封闭:ri ∘ rj = ri+j,写 i+j = qn + t(0 ≤ t < n),由 rn = id 得 ri+j = rt 仍在集合内。含 id 与各逆元,故成群。同构 Cn ≅ ℤ/nℤ 由 k ↦ rk 给出(保持加法、满、核为 nℤ)。∎

至此已经在 Sym(Pn) 里造出了 n 个不同的元素。它们全都是绕 O 的旋转,合起来正好「转遍」正 n 边形一周。图 3-1 画出正六边形上 r 的作用:它把每个顶点顺次推向下一个。

A0 A1 A2 A3 A4 A5 60° O r(A0) = A1
图 3-1 基本旋转 r 绕中心 O 转 2π/6 = 60°,把 A0 送到 A1,把每条边送到下一条边。反复做 6 次回到原处:r6 = id。
小结 3.5 旋转给出 n 个对称 ⟨r⟩ ≅ Cn。它们是 Sym(Pn) 中「让图形整体转动而不翻面」的一族。下一节补上另一半——沿 n 条对称轴的反射。
思考题 3 

§4反射:n 条对称轴,n 个翻面

旋转只填了一半名额。要凑满 2n,还得找出另外 n 个对称。它们是反射——沿着一条过中心的直线把整个平面翻个面。本节先给出正多边形的 n 条对称轴,再证明对应的 n 个反射两两不同、且与 §3 的旋转全不相同。

4.1 关于一条过中心的直线的反射

把平面想象成一张纸,沿一条直线对折,纸上的点各自落到「对面的对称位置」——这个动作就是关于该直线的反射。

定义 4.1(反射) 设 L 是平面上一条直线。关于 L 的反射 sL 规定为:L 上的点保持不动;不在 L 上的点 X 被送到直线 L 另一侧、与 X 关于 L 对称的点 X′(即 L 是线段 XX′ 的垂直平分线)。

反射是等距(对折不改变纸上任何两点距离),它把直线 L 上的每一点固定,并交换 L 的两侧。两条基本性质要先记住:

命题 4.2 关于直线 L 的反射 sL 满足 sL ∘ sL = id;且若把 L 的方向角记为 α,则 sL 把方向角为 θ 的点送向方向角 2α − θ 的点。
证. 第一条:对折一次再对折一次,每个点回到原位,故 sL 是自身的逆。第二条:设 X = O + R(cos θ, sin θ),轴 L 过 O、方向角 α。把坐标系旋转 −α,轴变成水平直线,此时反射 sL 就是「把纵坐标取反」;角度 θ 变为 θ−α,取反后为 −(θ−α),再转回 +α 得 2α−θ。这就是镜像点的方向角。∎

4.2 正多边形的 n 条对称轴

现在把反射搬到正多边形上。中心 O 到顶点 A0 的射线给出一个基准方向,记它的角为 φ0。每过一个「半格」π/n 取一条过 O 的直线,共得 n 条。

定义 4.3(n 个基本反射) 对 k = 0, 1, …, n−1,令 Lk 为过 O、方向角等于 φ0 + kπ/n 的直线,并记
sk = sLk,  特别地 s = s0。

这 n 条直线作为「方向的取法」两两不同:直线方向按 mod π 计,而 kπ/n 对 k = 0, …, n−1 恰好给出 n 个不同的方向。关键引理是它们各自把顶点集映到自身。

引理 4.4 sk(Aj) = Ak−j(下标模 n)。因此每个 sk 是顶点集的一个置换,从而 sk ∈ Sym(Pn)。
证. 顶点 Aj 的方向角是 φ0 + 2jπ/n,到 O 距离 R。由命题 4.2,sk 把它送向方向角
2( φ0 + kπ/n ) − ( φ0 + 2jπ/n ) = φ0 + 2(k−j)π/n
的点。该点仍距 O 为 R,方向角恰是顶点 Ak−j 的方向角(模 n),故就是 Ak−j。于是 sk 把顶点集映到自身,边映成边,凸包映成自身,即 sk ∈ Sym(Pn)。∎
定理 4.5 s0, s1, …, sn−1 两两不同。
证. 反射由它的轴唯一决定:轴的全体不动点就是那条直线。若 sk = sk′,则 Lk = Lk′,即方向 φ0 + kπ/n 与 φ0 + k′π/n 作为直线方向相同,模 π 相差整数倍,即 (k−k′)π/n ∈ πℤ,故 n | (k−k′),在 0 ≤ k, k′ < n 下只能是 k = k′。∎

4.3 轴长什么样:奇偶两种面貌

「过中心」的直线不一定是「过顶点」的直线。哪些轴穿过一对顶点、哪些穿过一对边的中点,取决于 n 的奇偶。这是一个值得看清的细节,因为它决定了正多边形「看起来」的对称方式。

命题 4.6(轴的两种型) 轴 Lk 过一个顶点,当且仅当存在 j 使 φ0 + 2jπ/n ≡ φ0 + kπ/n(mod π),等价于
2j ≡ k (mod n)。
于是:(i) n 为奇数时,同余式 2j ≡ k 对每个 k 都有唯一解(因 2 与 n 互素),每条轴都穿过一个顶点(自然也就穿过对边的中点);(ii) n 为偶数时,k 偶时有两个解 j = k/2 与 j = k/2 + n/2,轴穿过一对对顶点;k 奇时无解,轴穿过一对对边中点。故偶边形的 n 条轴中,n/2 条为对角线型、n/2 条为中垂线型。
证. 「轴过顶点 Aj」即方向角 φ0 + 2jπ/n 与轴方向 φ0 + kπ/n 相差 π 的整数倍,约去 φ0、乘以 n/π 得 2j − k ∈ nℤ,即 2j ≡ k (mod n)。

(i) n 奇:gcd(2, n) = 1,2 在 ℤ/nℤ 中可逆,同余式对每个 k 有唯一解。此时该轴既过顶点 Aj 又必过其对边中点(因为对边中点也在轴的另一侧,由 sk 把顶点集分成固定点与成对点,见思考题)。

(ii) n 偶:令 n = 2m。同余式 2j ≡ k (mod 2m) 可解当且仅当 k 为偶数(左端恒为偶)。k 偶时解为 j ≡ k/2 (mod m),即 j = k/2 或 k/2 + m,两个互为对顶点。故 k 偶的轴过一对对顶点。k 奇时无顶点落在轴上,轴只可能过边的中点——由 sk 把每条边映成一条边且固定中点,这条轴恰过两两相对的一对边中点。∎

n = 5:5 条轴都过顶点 金色:3 条过对顶点 青色:3 条过对边中点
图 4-1 对称轴的两种面貌。左(正五边形,n 奇):5 条轴全部穿过顶点与对边中点。右(正六边形,n 偶):3 条穿过对顶点(金色实虚),3 条穿过对边中点(青色点线)。

4.4 旋转与反射互不相同

现在手上有了两组各 n 个的元素,还要确认它们没有重叠,才能凑出 2n 个不同的对称。

定理 4.7 对 n ≥ 3,集合
{ id, r, …, rn−1 } ∪ { s0, s1, …, sn−1 }
中的 2n 个元素两两不同。
证. 两组各自内部已证不同(推论 3.4、定理 4.5)。只需证任一 rk 不等于任一 sm。
反设 rk = sm。比较它们对 A0 的作用:rk(A0) = Ak(引理 3.2),sm(A0) = Am(引理 4.4 取 j = 0),故 Ak = Am,得 k ≡ m (mod n)。再比较对 A1 的作用:rk(A1) = Ak+1,sm(A1) = Am−1,故 k+1 ≡ m−1 (mod n)。代入 m ≡ k 得 2 ≡ 0 (mod n),即 n | 2。这与 n ≥ 3 矛盾。故 rk ≠ sm。∎
思想 定理 4.7 只用了一处「n ≥ 3」的实质:若 n | 2,则 2π/n 的旋转可能恰好等于某个反射。事实上当 n = 2(线段)时确会发生——「转 180°」与「沿 AB 中垂线反射」在平面上是不同的变换,但在线段自身上的作用却仿佛「互换两端」,这正是退化情形需要单独讨论的原因。对 n ≥ 3,旋转与反射永不重合。
思考题 4 

§5结构定理:Dn ≅ Cn ⋊ ℤ2

名额已经填满:§3 造出 n 个旋转,§4 造出 n 个反射,定理 4.7 保证它们互不相同,§2 又保证总数不超过 2n。本节把这三点收紧成一个等式,再把「一半旋转、一半反射」这句话翻译成半直积的语言。

5.1 二面体群的阶

定理 5.1(结构定理 I:元素清单) 设 n ≥ 3。则
Sym(Pn) = { id, r, …, rn−1 } ∪ { s0, …, sn−1 },   |Dn| = 2n。
证. §3 与 §4 已证这 2n 个元素都属于 Sym(Pn),定理 4.7 又证它们两两不同,故 |Sym(Pn)| ≥ 2n。另一方面定理 2.8 给出 |Sym(Pn)| ≤ 2n。夹逼得 |Dn| = 2n,且这 2n 个元素正是全部对称。∎

5.2 全部元素写成 r 与 s 的乘积

结构定理真正的价值不在于「有几个」,而在于「怎么相乘」。先解决一个换算:别的反射 sk 与基本反射 s = s0 之间差一个旋转。

命题 5.2 对每个 k,sk = rk ∘ s。于是
Sym(Pn) = { rk : k ∈ ℤ } ∪ { rks : k ∈ ℤ }。
证. 两边都是 Sym 的元素,用「由 A0, A1 的像决定」(命题 2.7)即可。计算 (rk s)(Aj) = rk( s(Aj) ) = rk(A−j) = Ak−j,与引理 4.4 的 sk(Aj) = Ak−j 一致,对全部 j 成立,故 sk = rks。∎

更进一步,r 与 s 之间有一条漂亮的「扭转关系」,它把整个乘法规则锁定下来。

定理 5.3(扭转关系) s r s = r−1,等价地 s r = r−1 s。
证. 设 h = s r s。因 s, r ∈ Sym 而 Sym 是群,h ∈ Sym。算它在两个顶点上的作用:
h(A0) = s(r(s(A0))) = s(r(A0)) = s(A1) = A−1 = An−1,
h(A1) = s(r(s(A1))) = s(r(An−1)) = s(A0) = A0。
而 r−1 同样满足 r−1(A0) = An−1、r−1(A1) = A0(引理 3.2)。由命题 2.7 的结论(A0, A1 的像决定元素),h = r−1。两边右乘 s 并用 s2 = id 得 s r = r−1 s。∎
定理 5.4(结构定理 II:生成与乘法规则) Dn 由 r 与 s 生成,且乘法完全由下列规则决定(i, j ∈ ℤ):
ri · rj = ri+j,   ri · rjs = ri+js,
(ris) · rj = ri−js,   (ris) · (rjs) = ri−j。
证. 第一式是旋转的定义;第二式两边都形如 r·s,由命题 5.2 的清单与 r 的结合律可得。第三式用扭转关系:(ris) rj = ri (s rj) = ri (r−j s) = ri−js,这里用了 s rj = r−j s(把定理 5.3 中 r 换成 rj 即得)。第四式:(ris)(rjs) = ri(srj)s = ri−j (s s) = ri−j。生成性是命题 5.2 的直接推论。∎

5.3 半直积:把「一半旋转、一半反射」讲成代数

定理 5.4 的乘法规则有一个通用的代数名字:它是循环群 Cn 被 C2 的「取逆」作用拧出来的半直积。先回忆这个构造。

定义 5.5(半直积) 设 N, H 是群,φ : H → Aut(N) 是同态(h ↦ φh,每个 φh 是 N 的自同构)。半直积 N ⋊φ H 以集合 N × H 为元素,乘法规定为
(n1, h1) · (n2, h2) = ( n1 · φh1(n2), h1h2 )。
单位元是 (eN, eH),(n, h) 的逆为 ( φh−1(n−1), h−1 )。

在 Dn 里,取 N = ⟨r⟩ ≅ Cn(旋转群)、H = ⟨s⟩ ≅ C2(二元群,由反射生成)。定义 φ : C2 → Aut(Cn) 为 φ(s)(r) = r−1,即 φ(s)(rk) = r−k(取逆自同构)。这不是任选:定理 5.3 说 s 在 Dn 中正是以「取逆」的方式作用在 r 上。把这个旋钮装好,主定理随之落定。

定理 5.6(结构定理 III:半直积形式) 设 n ≥ 3,φ 如上。则映射
Φ : Cn ⋊φ C2 ⟶ Dn,   Φ(rk, sε) = rk sε (ε ∈ {0,1})
是一个群同构。即 Dn ≅ Cn ⋊φ C2 ≅ ℤ/nℤ ⋊φ ℤ/2ℤ。
证. (1) Φ 是双射。由定理 5.1 与命题 5.2,Dn 的每个元素唯一地写成 rksε(k ∈ {0,…,n−1},ε ∈ {0,1});而 (rk, sε) 也正好跑遍 Cn × C2 的 n·2 个元素。两边元素数同为 2n 且一一对应,故 Φ 是双射。

(2) Φ 是乘法同态。在 Cn ⋊φ C2 中,φ(s)(rl) = r−l,φ(id) 为恒等;一般地 φ(sε)(rl) = r(1−2ε)l(ε ∈ {0,1})。于是

(rk, sε) (rl, sδ) = ( rk r(1−2ε)l, sε+δ ) = ( rk+(−1)εl, sε+δ )。
于是
Φ(左端) = rk+(−1)εl sε+δ。
另一方面
Φ(rk, sε) · Φ(rl, sδ) = rk sε rl sδ。
用扭转关系把 sε rl 化为 r(1−2ε)l sε(ε = 0 时平凡,ε = 1 时即定理 5.3 的 s rl = r−l s),得
Φ(...)·Φ(...) = rk r(1−2ε)l sε sδ = rk+(−1)εl sε+δ = Φ(左端)。
故 Φ 保乘法。(1)(2) 合起来,Φ 是同构。∎
解读 5.7 结构定理有三层含义,值得分开记住。数量上:Dn 有 2n 个元素。算法上:每个元素是 rk 或 rks,乘法用定理 5.4 的四条规则。 结构上:旋转子群 Cn 是正规子群(下面 §7 会证),商群 Dn/Cn ≅ C2,且整个群由「商群通过取逆作用回到正规子群」的半直积复原。这正是几何中「一半旋转、一半反射」的代数化身。
内环:n 个旋转 rk (≅ Cn) 外环:n 个反射 rks
图 5-1 Dn 的两层结构(以 n = 6 为例):内环是 n 个旋转 rk(构成 Cn),外环是 n 个反射 rks。外层的每个反射都是「内层的旋转再叠一个翻面」。
思考题 5 

§6生成元与关系:Dn 的一张名片

结构定理说 Dn 由两个元素 r、s 生成,并给出了它们相乘的规则。本节把这件事翻译成群论里最简洁的一种描述——生成元加关系,也就是给 Dn 一张「身份证」:写出两个字,再写出它们之间全部必要的关系。有了它,Dn 就不必再依赖「正多边形」这个几何背景,而成为一个可以独立研究的抽象群。

6.1 生成集与「字」

「由 r 与 s 生成」的精确含义是:Dn 里每个元素都能写成 r、s 的一串乘积。先把这串乘积的记法固定下来。

定义 6.1(字与生成) 设 S 是群 G 的子集。S 上的一个字是形如
x1ε1 x2ε2 ⋯ xmεm (xi ∈ S,εi ∈ {±1},m ≥ 0)
的乘积;m = 0 时约定为空字,取值 e。记 ⟨S⟩ 为 S 上全体字所取值的集合,称 S 生成 G,若 ⟨S⟩ = G。

⟨S⟩ 自动是子群(字可以继续拼接、也可以取逆),且是含 S 的最小子群。由命题 5.2,Dn = { rk } ∪ { rks },这些都是 { r, s } 上的字,所以 r、s 确实生成 Dn。反过来,这两个字之间并不是「想怎么排就怎么排」——它们受三条关系的约束。

命题 6.2(三条基本关系) 在 Dn 中恒有
rn = e,  s2 = e,  s r s = r−1。
证. 第一条是定理 3.3,第二条是命题 4.2,第三条是定理 5.3。∎

6.2 这三条关系是「完备」的

关系够不够用,是本节的核心问题。所谓「够用」指:任何形如 rasbrcsd⋯ 的字,都能靠这三条关系化简成 rk 或 rks 的标准形,不多也不少。下面用群论的标准套路把它证成。

定理 6.3(Dn 的表现) 设 n ≥ 3,F = ⟨r, s⟩自由 为以 r, s 为生成元的自由群,N 为 F 中由 rn, s2, (s r s)(r−1)−1 生成的正规闭包。则
Dn ≅ F / N = ⟨ r, s | rn = s2 = e, s r s = r−1 ⟩。
证. 记 G = F/N,并令 r̄、s̄ 表示 r、s 在 G 中的像。

(1) 存在满同态 G → Dn。由定义 6.1 的生成性,映射 r ↦ r、s ↦ s 给出满同态 φ : F → Dn。由命题 6.2,三条关系在 Dn 中取值 e,故 N ⊆ ker φ,于是 φ 诱导满同态 φ̄ : G = F/N → Dn。

(2) G 中每个元素都是 r̄k 或 r̄ks̄。任取 F 中的一个字 w,我们给出一个归约过程,逐步把它换成标准形,而每一步都在模 N 的意义下不改变 w 的值:

归约必停止:取「s 右侧的 r 的数目之和」为度量,凡 (iii) 每执行一次就严格减少 1;而 (i)(ii)(iv) 都会缩短字长。最终形式只能是 r̄k(无 s)或 s̄r̄k;再把 s 移到右侧即得 r̄−ks̄。故 G = { r̄k } ∪ { r̄ks̄ }(k ∈ {0,…,n−1}),| G | ≤ 2n。

(3) 综合。|G| ≤ 2n,而 φ̄ 是满的、|Dn| = 2n,故 |G| ≥ 2n。夹逼得 |G| = 2n,从而 φ̄ 是双射,即同构。∎

解读 6.4 定理 6.3 的意义有两层。其一,它说明 Dn 完全可以脱离「正多边形」被描述:只要有一个元素 r 有 n 阶、一个元素 s 有 2 阶、且 s 共轭把 r 变成 r−1,那么由它们生成的群「一定」同构于 Dn。其二,归约过程本身就是一台计算乘法的小机器:把两个元素的名字拼起来,按 (i)–(iv) 化简,立刻得到乘积的名字。下一小节的乘法表与 Cayley 图,正是这台机器的可视化。

6.3 乘法表与 Cayley 图

把定理 5.4 的四条规则逐格填满,就得到完整的乘法表。下面以 D4 为例;表中第 a 行第 b 列写的是「先做 a、再做 b」的复合 ba(与定理 5.4 的「先 b 后 a」约定一致)。请特别注意:表关于对角线不对称,这正是非交换的证据。

表 6-1 D4 的乘法表(行 ∘ 列) 
∘err2r3srsr2sr3s
eerr2r3srsr2sr3s
rrr2r3ersr2sr3ss
r2r2r3err2sr3ssrs
r3r3err2r3ssrsr2s
ssr3sr2srser3r2r
rsrssr3sr2srer3r2
r2sr2srssr3sr2rer3
r3sr3sr2srssr3r2re

作为抽样,验证两格。第 r 行、第 s 列:先做 r 再做 s,即 s ∘ r = sr,按定理 5.4 第三式(i = 0, j = 1)= r−1s = r3s,表中记为 r3s ✓。第 s 行、第 r 列:r ∘ s = r1s = rs。两者位置互换、结果不同(r3s vs. rs),故 D4 非交换。

另一张更有结构的图是 Cayley 图:把群元素画成点,乘 r 画蓝边、乘 s 画金边,于群的结构一眼可见——它由两个正方形(旋转层与反射层)与它们之间的配对边组成。

e r r2 r3 s rs r2s r3s 蓝:乘 r(转角 90°) 金:乘 s(翻面)
图 6-1 D4 的 Cayley 图。外圈是 4 个旋转(蓝边成正方形),内圈是 4 个反射(蓝边成菱形);金边表示「乘 s」,把每个旋转与相应的反射配对。
思考题 6 

§7内部解剖:中心、共轭类与子群格

结构定理讲清了 Dn 如何由 r、s 拼成,本节换成「解剖」的视角:这个群里哪些元素最特殊(中心)、哪些元素彼此「同类」(共轭类)、它能容纳哪些更小的群(子群格)。这三件事是所有群论教材的必修内容,而在 Dn 上它们都有干净的答案。

7.1 旋转子群是正规子群,商群是 C2

先说一条最有用的事实:两个基本元素中,r 的地位比 s 更「稳固」——它生成的子群被整个群通融。

定义 7.1(正规子群) 子群 H ≤ G 称为正规(记 H ◁ G),若对一切 g ∈ G 有 gHg−1 = H。此时可在商集 G/H 上定义群结构,称商群。
命题 7.2 ⟨r⟩ ◁ Dn,其指数为 2,且 Dn/⟨r⟩ ≅ C2。
证. 只需验证正规性:对每个 g ∈ Dn,g 形如 ra 或 ras。若 g = ra,则 g rk g−1 = rk ∈ ⟨r⟩;若 g = ras,则 g−1 = s r−a,而
ras · rk · sr−a = ra ( s rk s ) r−a = ra r−k r−a = r−k ∈ ⟨r⟩,
(用了 s rk s = r−k,由定理 5.3 迭代而得)。故 ⟨r⟩ ◁ Dn。指数 = |Dn| / |⟨r⟩| = 2n/n = 2。2 阶群只有 C2 一种,故商群 ≅ C2。∎
旁注 7.3(指数 2 即正规) 还有一条更省力的路:任何指数为 2 的子群都自动正规。理由:指数 2 意味着 G = H ∪ gH(对任意 g ∉ H),同样 G = H ∪ Hg;两边比较补集得 gH = Hg,即 gHg−1 = H。这条小引理在判定正规性时极其常用,值得单独记住。

7.2 中心:谁与所有元素都交换

中心 Z(G) = { g : gh = hg 对一切 h } 是群里最「平静」的部分。对 Dn 而言,它几乎是平凡的,唯一的例外来自半圈旋转。

定理 7.4(中心) 
Z(Dn) = { e }(n 为奇数),   Z(Dn) = { e, rn/2 }(n 为偶数)。
证. 设 g ∈ Z(Dn)。

第一步:g 必是旋转。反设 g = rks。由 g 与 r 交换:rks r = r rks。左端 = rk(s r) = rk r−1s = rk−1s,右端 = rk+1s。故 rk−1 = rk+1,即 r2 = e,由定理 3.3 得 n | 2,与 n ≥ 3 矛盾。故 g = rk。

第二步:rk ∈ Z 的条件。由 g 与 s 交换:s rk = rk s。左端 = r−k s(定理 5.3 的推论),故 r−k = rk,即 r2k = e,由定理 3.3 得 n | 2k,等价于 (n/gcd(n,2)) | k。若 n 奇:gcd = 1,得 n | k,故 k ≡ 0,g = e。若 n 偶:得 (n/2) | k,即 k ≡ 0 或 n/2,故 g = e 或 rn/2。两者确实都与 r、s 交换(rn/2 与自己及 s 交换,因 s rn/2 = r−n/2 s = rn/2 s),故确在中心。∎

定理 7.4 有一个立刻能看见的几何意义:当 n 为偶数时,rn/2 正是绕中心转 180°。它与所有对称交换——先转 180° 再翻面,与先翻面再转 180°,结果相同。这是因为 180° 旋转把每条对称轴类都映到自己,于是它与翻面「互不干扰」。当 n 为奇数时不存在这样的半圈旋转,中心里便只剩下单位元。

7.3 共轭类:把元素分成「同类」

定义 7.5(共轭与共轭类) a, b ∈ G 称为共轭的,若存在 g ∈ G 使 b = g a g−1。共轭是等价关系,各等价类称共轭类。相似地,g a g−1 也叫 a 在 g 下的共轭元。

几何上,共轭类就是「同一类型、只是方位不同」的对称:所有反射都让某个顶点保持不动,但不同反射保持不同的顶点,于是它们互为共轭。关键在于 s 共轭 r 得到 r−1,即「取逆」。

定理 7.6(共轭类清单) Dn 的共轭类如下(下标模 n):
证. (a) 旋转部分。用 r 共轭:rj rk r−j = rk(不动);用 s 共轭:s rk s−1 = r−k。所以 rk 的共轭只有 rk 与 r−k:当 k ≢ −k(即 n ∤ 2k)时得二元类,当 2k ≡ 0 (n) 时得单元类;后者在 n 偶时发生于 k = n/2。

(b) 反射部分。用旋转 rj 共轭 rks:

rj ( rks ) r−j = rj+k ( s r−j ) = rj+k rj s = rk+2j s。
即旋转共轭把 rks 送到 rk+2js,步长恒为偶数 2。n 奇时 2 在 ℤ/nℤ 中可逆,j 跑遍时 k+2j 跑遍全部下标,故所有反射同类;n 偶时下标只按奇偶移动,故分成 K偶, K奇 两类。再用 s 共轭 rks:s(rks)s = s rk = r−k s,k → −k 不改变奇偶,不破坏上述分法。类的大小由轨道数给出(j 的作用给出 n/gcd(n,2) 个不同值,再被取逆对折叠半),即得所云。∎
表 7-1 小 n 的共轭类 
群阶旋转共轭类反射共轭类类数
D36{r, r²}{s, rs, r²s}3
D48{r, r³}, {r²}{s, r²s}, {rs, r³s}5
D510{r, r⁴}, {r², r³}全部 5 个同类4
D612{r, r⁵}, {r², r⁴}, {r³}{s, r²s, r⁴s}, {rs, r³s, r⁵s}6

7.4 子群格:谁能住进 Dn

最后一个解剖问题是:Dn 里能装下哪些更小的群?答案异常整洁——只有两类。

定理 7.7(子群分类) 设 H ≤ Dn。则 H 必为下列之一:
证. 情形一:H ⊆ ⟨r⟩。循环群的子群仍是循环群,且 ⟨r⟩ 的 m 阶子群唯一,等于 ⟨rn/m⟩。写 d = n/m,得 H = ⟨rd⟩,且 d | n 遍历全体因子。

情形二:H ⊄ ⟨r⟩。则 H 含某个反射,记作 ρ。令 H0 = H ∩ ⟨r⟩,由情形一是 ⟨rd⟩(d | n)。断言 H = ⟨rd, ρ⟩:任意 h ∈ H,若 h ∈ ⟨r⟩ 则已在 H0 内;若 h ∉ ⟨r⟩ 则 h 是反射,于是 h ρ−1 ∈ H 是两个反射之积、是旋转,故 h ρ−1 ∈ H0,从而 h ∈ H0ρ。而 ρ = rks(某个 k),k 可模 d 化简(若 k ≥ d 则把 rd 提出),故 H = ⟨rd, rks⟩,0 ≤ k < d。此时 H 里旋转恰有 n/d 个、反射亦恰有多少个?——用 H = H0 ⊔ H0ρ 得 |H| = 2n/d(H0 与 H0ρ 不交:前者是旋转、后者是反射)。最后,这个 H 与 Dn/d 同构:元素 rd 起 n/d 阶的作用,ρ 起 2 阶作用,且 ρ (rd) ρ−1 = r−d,正是定理 6.3 的关系式,故 ≅ Dn/d。∎

定理 7.8(子群的个数) 记 τ(n) 为 n 的正因子个数、σ(n) 为 n 的正因子之和。则 Dn 的子群总数为
τ(n) + σ(n)。
证. 由定理 7.7,循环型子群与 n 的因子 d 一一对应,共 τ(n) 个。二面体型子群 ⟨rd, rks⟩ 由二元组 (d, k mod d) 决定,d | n、k ∈ {0, …, d−1},数目为 Σd|n d = σ(n)。合计 τ(n) + σ(n) 个。(需确认不同 (d, k) 给出不同子群:若 d ≠ d′ 则旋转部分的阶不同;若 d = d′ 而 k ≢ k′ (mod d),则所含反射的「类」不同。)∎
表 7-2 子群个数速查 
n345678
τ(n)232424
σ(n)47612815
子群总数6108161019

对素数 p,τ(p) = 2、σ(p) = p+1,故 Dp 恰有 p+3 个子群:Dp 本身、⟨r⟩、p 个反射生成的 C2、以及 { e }。

D4 ⟨r⟩ ⟨r2, s⟩ ⟨r2, rs⟩ ⟨s⟩ ⟨r2s⟩ ⟨r2⟩ ⟨rs⟩ ⟨r3s⟩ {e} 阶 8 阶 4 阶 2 阶 1
图 7-1 D4 的子群格:10 个子群按包含关系分层(连线表示「直接覆盖」)。阶 8 的 D4 之下是 3 个阶 4 子群,其下是 5 个阶 2 子群,最底是 { e }。数字与 τ(4) + σ(4) = 3 + 7 = 10 相符。
思考题 7 

§8回到平面:Dn 在数学地图上的位置

二面体群最初是作为「正多边形的对称群」被发现的。本节把它放回更大的背景:它在平面欧氏变换群 E(2) 中占据什么位置?为什么现实中的晶体只允许 n = 1,2,3,4,6?它又如何成为现代数学许多分支的入口?

8.1 Dn 是平面上的一类有限点群

由定义,Dn = Sym(Pn) 是 E(2) 的子群(§1 已证)。它还有一个特点:所有元素都固定中心 O(定理 2.5)。这样的群,即「固定某一点的 E(2) 的子群」,叫点群。一个自然的问题是:平面的有限点群共有多少种?

定理 8.1(平面有限点群的分类) 设 G ≤ E(2) 有限且所有元素固定同一点 O(等价地 G ≤ O(2),把 O 取作原点)。则 G 恰为下列之一:
Cn(循环群,n ≥ 1) 或 Dn(二面体群,n ≥ 2)。
证. 把 O 放在原点,则 G ≤ O(2)。按「是否含反射」分两种情形。

情形一:G 不含反射(即 G ≤ SO(2))。此时 G 中每个元素都是绕 O 的旋转,对应角 θ ∈ ℝ/2πℤ。令 θ0 = min{ θ > 0 : 旋转 θ ∈ G }(存在且为正,因为 G 有限非平凡)。若某元素对应角 θ 不是 θ0 的整数倍,用带余除法 θ = qθ0 + θ′(0 < θ′ < θ0),则旋转 θ′ = 旋转 θ · (旋转 θ0)−q 也在 G 中,与 θ0 的极小性矛盾。故 G = ⟨旋转 θ0⟩;再由 G 有限得 θ0 = 2π/n。即 G ≅ Cn。

情形二:G 含反射。取一反射 ρ ∈ G。则 G0 = G ∩ SO(2) 由情形一为 Cn = ⟨r⟩。任何 g ∈ G:若 g 保向则 g ∈ G0;若 g 反向则 gρ 保向,故 g ∈ G0ρ。于是 G = G0 ⊔ G0ρ,|G| = 2n,且 ρ r ρ−1 = r−1(反射使转角反号)。这正是定理 6.3 的关系式,故 G ≅ Dn。∎

思想 定理 8.1 说:平面上的有限对称「只可能是转盘的对称或正多边形的对称」,再无第三种。这条结论反过来也解释了 Dn 为何如此基本——它不是某个多边形的偶然属性,而是平面上一切有限对称的两种基本形态之一。圆(O(2))是无限的极限情形,正多边形则是把圆按 n 等分「离散化」的结果。

8.2 晶体学限制:为什么雪花是六重的

如果把「正多边形」推广成「可以无限重复铺满平面的图案」,问题会立刻变窄:n 不能任意取。这就是著名的晶体学限制定理。

定理 8.2(晶体学限制) 设 Λ 是平面上一个格(Λ = ℤe1 + ℤe2,e1, e2 线性无关)。若 Λ 允许 n 重旋转对称(即存在绕某点的 n 重旋转 r 把 Λ 映到自身,r(Λ) = Λ),则
n ∈ { 1, 2, 3, 4, 6 }。
证. 把原点平移到旋转中心,Λ 仍是格。取 e1, e2 为 Λ 的一组基(作为 ℤ 模),则 r 由整数矩阵 A 表示:因为 r(e1)、r(e2) ∈ Λ,它们在基下是整系数组合。

迹的两个算法。一方面,r 是转过角 2π/n 的旋转,其特征值为 e±2πi/n(把 r 放在标准正交坐标里即知),故

tr A = 2cos(2π/n)。
另一方面,A 是整数矩阵,其迹 tr A 是整数。故 2cos(2π/n) ∈ ℤ。而 2cos(2π/n) ∈ [−2, 2],所以它只能取 −2, −1, 0, 1, 2。逐一代入:n = 1 得 2;n = 2 得 −2;n = 3 得 −1;n = 4 得 0;n = 6 得 1;而 n ≥ 7 时 2π/n ∈ (0, π/3),cos 落在 (½, 1),故 2cos(2π/n) ∈ (1, 2) 严格夹在 1 与 2 之间,不是整数;n = 5 时 2cos(72°) ≈ 0.618,也不是整数。故 n ∈ {1, 2, 3, 4, 6}。∎
解读 8.3 定理 8.2 的证明短得出奇,却挡住了一整类「不可能的对称」。五重旋转之所以在晶体里绝迹,理由不在物理,而在一个整除性:格的对称必须写成整数矩阵,而整数矩阵的迹是整数——几何的限制最终落在 ℤ 上。雪花六重(n = 6)、蜂巢六重、方形地砖四重、蜂房与冰晶的三角格三重,都能在 n ∈ {1,2,3,4,6} 里找到位置;五重对称则要等到「准晶体」被发现才以另一种形式登场。
n = 3 n = 4 n = 6 格允许的三重、四重、六重旋转(外加平凡的一重与二重)
图 8-1 晶体学限制允许的三类旋转对称:三重(正三角形)、四重(正方形)、六重(正六边形)。五重与七重以上都被整除性挡在门外。

8.3 展望:从万花筒到根系统

Dn 并不只是「正多边形的对称群」这一句介绍就能打发的对象。它在现代数学的几个方向上都是最基本的构件,这里列出四条线索,作为继续阅读的路标。

四条延伸线索 

§9圆的对称群:无限从哪里来,又在哪里退去

至此,本册研究的都是有限的对称群:无论正几边形,对称只有 Dn 的那 2n 个(定理 5.1)。可 §1.4 早就提过,圆给出的是一个无限群 O(2)——绕圆心的任意角度旋转、关于任意过圆心的直线的反射,全都把圆映回自身。本节把「对称群」这把尺子正式用到一个没有顶点的图形上。不过 O(2) 这个记号并不记得圆放在哪里:把圆心挪一挪,得到的是同一个结构的另一份拷贝。所以本节真正要问的是——

把不同位置的圆、不同位置的正多边形的对称群,都看成平面等距群 E(2) 的子群,它们彼此是什么关系?

答案分三层,每一层都对应一个已经学过的群论概念:是否共轭(同一个模样、位置不同,§7.3)、相交于什么(能同时照顾两个图形的动作还剩多少)、联合起来能生成什么(把两个不同位置的对称放到一起,会不会「动」出一个更大的群)。顺着这三层走下去,有限群 Dn 与无限群 O(2)、离散与连续,会在同一个位置上被区分清楚,也正好补上 §1.4 留下的那个伏笔。

9.1 一个圆:每个旋转、每条过心的轴

圆是第一个「对称多到数不清」的图形。要把它数清楚,先把「圆」与「圆心」用距离写死——因为整套论证的支点是:圆心必被任何对称固定在原地。

定义 9.1(圆与圆心) 设 O 是平面上一点,r > 0。到 O 的距离恰为 r 的全体点构成以 O 为心、r 为半径的圆,记作 C(O, r);O 称为它的圆心,r 称为它的半径。

先把「固定一个点的等距」这件小事彻底说清楚。它是下面一切结论的引擎:一旦某个对称固定了圆心,它就被限定在两种面貌里。

引理 9.2(固定一点的等距只有两种) 设 f 是平面上的等距,且 f(O) = O。则 f 必为下列之一:绕 O 的旋转 RO, θ,或关于某条过 O 的直线的反射。
证. 取一点 P ≠ O,记 P′ = f(P)。因 f 保距且固定 O,有 d(O, P′) = d(O, P)。分两种情形。

情形一:P′ = P。此时 f 固定 O 与 P 两点。任取直线 OP 上一点 X:由保距,f(X) 到 O、P 的距离分别等于 d(X, O)、d(X, P);而直线 OP 上同时满足这两条距离的点只有 X 自己(X 到 O、P 的两个距离一给定,位置就被钉死),故 f(X) = X。于是 f 把直线 OP 逐点固定。直线外的点 X,其像必在 OP 的另一侧、且到 O、P 的距离不变;满足这两条的只有 X 与它关于 OP 的镜像点,故 f 只能是恒等,或关于直线 OP 的反射。两者都属于「绕 O 的旋转(转 0°)」或「过 O 的反射」。

情形二:P′ ≠ P。记 ℓ 为线段 PP′ 的垂直平分线。由 d(O, P) = d(O, P′),O 到 P、P′ 等距,故 O 在 ℓ 上。令 g = sℓ ∘ f(sℓ 是按定义 4.1 关于 ℓ 的反射)。则 g(O) = sℓ(O) = O,且 g(P) = sℓ(P′) = P,即 g 固定 O 与 P,回到情形一:g 是恒等,或关于直线 OP 的反射。于是 f = sℓ(此时 f 是过 O 的反射),或 f = sℓ ∘ sOP。后者是两条过 O 的反射的复合——两次对折等于转过两倍折痕夹角,即一条绕 O 的旋转(这正是 §5 半直积结构 srs = r−1 的几何来源)。∎

命题 9.3(圆的对称群) 对任意 r > 0,
Sym(C(O, r)) = { 绕 O 的旋转 } ∪ { 关于过 O 的直线的反射 } ≅ O(2)。
特别地,圆的对称群是无限群。
证. 「⊇」绕 O 的旋转与关于过 O 的直线的反射都固定 O、且保距;于是把「到 O 距离为 r」的点仍送成这样的点,即把 C(O, r) 映到自身。故它们都是对称。

「⊆」设 f ∈ Sym(C(O, r)),先证 f(O) = O。圆心 O 由圆唯一确定:若两点都到圆上每一点距离为 r,则它们都是「到圆上不共线三点等距」的点,由三点定位(引理 2.3)只能是同一点;而 O 恰是这样的点。现在 f 保距且 f(C) = C,故对圆上每点 P 有 d(f(O), f(P)) = d(O, P) = r;而 f(P) 跑遍整个圆,故 f(O) 到圆上每一点距离都是 r,由唯一性得 f(O) = O。再由引理 9.2,f 是绕 O 的旋转或过 O 的反射。∎

解读 9.4(O(2):转不停的圈 ⋊ 一面镜子) 把固定 O 的等距全体记作 O(2),称为正交群;其中保向的那些(纯旋转)构成子群 SO(2)。旋转由转角 θ ∈ ℝ/2πℤ 决定,可以「连续地转」,所以 SO(2) 与圆周一一对应,是一个连续群;反射各由一条过 O 的直线(方向角 mod π)决定。把它与 §5 的 Dn ≅ Cn ⋊ ℤ2 并排看,会发现是同一个模式换了原料——把「n 个离散转角」换成「一整圈连续转角」,有限群就长成了无限群。
O 转 θ 金色虚线:过 O 的直线(每一条都是对称轴) 蓝色弧:绕 O 的旋转(任意角度都行)
图 9-1 圆的对称:绕圆心 O 转任意角度都是对称(蓝色弧),关于过 O 的每一条直线的反射也都是对称(金色虚线)。这类动作多到无法用个数计量,它们合起来构成无限群 O(2)。
表 9-1 有限与连续:Dn 与 O(2) 的同一模式 
构件正 n 边形 Dn圆 O(2)
旋转部分转 2π/n 的整数倍,共 n 个任意角,一整圈
反射部分n 条等分轴,n 个反射过心每条直线,连续多个
半直积Dn ≅ Cn ⋊ ℤ2O(2) ≅ SO(2) ⋊ ℤ2
群的阶2n(有限)无限(连续统)
对称轴只有 n 条每一条过心直线都是

两行对照读出的正是同一句话:都是「循环部分 ⋊ 一个二元反射」,区别只在循环部分是离散的 Cn 还是连续的 SO(2)。

9.2 圆是正多边形的「极限」

命题 9.3 里的 O(2) 无限大,而 §3–§5 的 Dn 只有 2n 个元素。两者其实不是陌路:每个正 n 边形的对称,都是把圆的对称「按 n 等分挑出来」的结果。

命题 9.5(Dn 住在 O(2) 里) 设正 n 边形 Pn 的中心为 O。则 Dn = Sym(Pn) 是 O(2) 的子群;具体地,它恰由「转过 2π/n 整数倍的旋转」与「关于过 O 的 n 条等分直线的反射」组成。
证. 由定理 2.5,每个对称固定 O;由引理 9.2,它必是绕 O 的旋转或过 O 的反射,故 Dn ≤ O(2)。旋转中能保持 Pn 的,只有转角为 2π/n 整数倍的那些(§3,共 n 个);反射中能保持的,只有轴落在 §4.2 那 n 条等分直线上的那些,共 n 个。两类合计 2n 个,恰为全部。∎
思想 把圆看作「边数无穷」的正多边形,命题 9.5 给出一个精确的说法:Dn 是「每 2π/n 挑一次」,O(2) 则「一次都不挑」——任意角度都收。n 越大,正 n 边形在形状上越像圆,它的对称群也越「密」地铺满 O(2)。有限与无限在这里接头:圆是正多边形的极限,O(2) 是 Dn 的极限。
表 9-2 越大的 n,越像圆 
图形旋转个数反射个数|对称群|类型
正三角形336有限
正方形448有限
正六边形6612有限
正十二边形121224有限
正 n 边形nn2n有限
圆(= 无穷边)一整圈每一条过心直线∞连续

9.3 不同位置的圆:E(2) 里同一个子群的化身

先给「圆心落在哪」配一个自己的记号。O(2) 是「固定原点(圆心)的等距全体」(§1.4),可平面上真正有的是一个一个的圆心 O。把那个「被钉住的点」从原点换成任意的 O,就得到本节的主角。

定义 9.6(点群的记号) 设 O 是平面上一点。把 E(2) 中固定 O 的等距全体记作
ΓO := { g ∈ E(2) : g(O) = O },
称为 O 处的点群(§8.1)。它显然是一个群:复合与求逆都保持「固定 O」。O(2) 正是不动点取在原点时的这一份,所以每个 ΓO 都与 O(2) 长得一模一样,差别只在「钉在哪一点」。

「点群」这个词 §8.1 已经用过:那里指固定同一点的 E(2) 的有限子群,定理 8.1 把它们分类成 Cn 与 Dn。现在这个限制解除了:ΓO 是一个无限点群,而 §8.1 的 Cn, Dn 全都住在它里面(命题 9.5)。所以下面关于 ΓO 的每一条结论,都自动适用于其中每一个有限点群——这就是本节与 §8 的接口。

引理 9.7(圆的对称群只认圆心) 设 r > 0,C(O, r) 是以 O 为心、r 为半径的圆。则
Sym(C(O, r)) = ΓO。
特别地,圆的对称群与半径 r 无关:同一个心上的所有圆,不论大小,共享同一个对称群。
证. 把命题 9.3 的证明重读一遍:那里证出的正是「f 是 C(O, r) 的对称」当且仅当「f(O) = O」——正向用圆心唯一性(等距把圆心送到圆心),反向用保距(固定 O 又保距,就把「到 O 距离为 r」的点仍送成这样的点)。两个方向都没有用到 r 的具体数值,只用到「有这样一列半径」;故等式对一切 r > 0 成立,与 r 无关。∎

接下来三层关系,从最「软」的一层说起:看模样是否相同。

命题 9.8(挪动位置 = 做一次共轭) 设 g ∈ E(2),O 是平面上一点。则
g ΓO g−1 = Γg(O)。
特别地,取 g 为平移 tv(把每一点 P 送到 P + v),则
tv ΓO tv−1 = ΓO+v。
证. 设 h ∈ ΓO,即 h(O) = O。两边用 g 作用、再用 g−1 作用,得 (ghg−1)(g(O)) = g(h(O)) = g(O),故 ghg−1 ∈ Γg(O),即 g ΓO g−1 ⊆ Γg(O)。把这条包含式里的 g 换成 g−1、O 换成 g(O),得 g−1 Γg(O) g ⊆ ΓO;两边左乘 g、右乘 g−1,得反向包含,故等号成立。∎

这条命题一句话可概括:位置怎么动,子群就跟着怎么共轭。于是「不同位置的圆的对称群」在群论的坐标里成了一件极整齐的事。

推论 9.9(E(2) 的一个共轭类) 全体 ΓO(O 遍历平面上的点)恰是 E(2) 的一个共轭类(§7.3),并且 于是「一个位置 ⟷ 一份子群」:平面上有多少个点,E(2) 里就有多少份这个点群。
证. 传递。任给 O, O′,取 v = O′ − O,则 tv 把 O 送到 O′;由命题 9.8,tv ΓO tv−1 = ΓO′。

一一对应。设 ΓO = ΓO′ = G。绕 O 转过 90° 的旋转 RO, π/2 属于 ΓO = G(命题 9.3),而转 90° 的旋转只固定 O 这一个点;既然它也在 ΓO′ 里,就必须固定 O′,于是 O′ = O。

自由。若 tv 把 ΓO 送回自身,则由上式 ΓO+v = ΓO,再由一一对应得 O + v = O,即 v = 0。故只有恒等平移才固定一个 ΓO。∎

第二层关系是交:两处点群共同拥有哪些动作?换句话说,把两个圆的对称群摆在一起,它们的公共对称群 Sym(C1) ∩ Sym(C2) 还剩什么?

命题 9.10(共同的部分:连心线反射) 设 O ≠ O′,记 ℓ = 直线 OO′,sℓ 为关于 ℓ 的反射(定义 4.1)。则
ΓO ∩ ΓO′ = { id, sℓ } ≅ ℤ2。
与两个圆的半径都无关。
证. 「⊆」设 h 同时固定 O 与 O′。更直白地说:由引理 9.2,h 是绕 O 的旋转或过 O 的反射。若 h 是绕 O 转过 θ ≠ 0 的旋转,则 O 之外的点都被挪走,特别是 O′ ≠ O 会被转走,与 h(O′) = O′ 矛盾;故此时 h = id。若 h 是过 O 的反射 sL,它固定 O′ 当且仅当 O′ ∈ L;而 L 已过 O,再过 O′ 就只能是 L = ℓ,即 h = sℓ。

「⊇」id 当然固定两点。反射 sℓ 的不动直线 ℓ 同时过 O 与 O′,故它同时属于 ΓO 与 ΓO′。两端合起来即得等式;两个非平凡元素显然不同,故 ≅ ℤ2。∎

第三层关系是生成,也是这一节最漂亮的一步。单个 ΓO 是点群:它的一切动作都把 O 钉在原地,因此里面没有一个平移(平移要把每一点都挪走)。可两个不同位置的 Γ 一合流,平移就冒出来了。

命题 9.11(放在一起就「跑」起来) 设 O ≠ O′,d = d(O, O′) > 0。对任意角 α,记 RO, α 为绕 O 转过 α 的旋转。在「O 为原点、O′ = (d, 0)」的坐标下,
RO′, −α ∘ RO, α = tv(α), v(α) = d (1 − cos α, sin α)。
于是 ⟨ΓO, ΓO′⟩ 含非平凡平移,不再是点群:两个不同位置的圆的对称群一联手,就造出了「整个平面一起滑」的动作,挣脱了单个位置的束缚。
证. 逐点验算。两条旋转分别是
RO, α(x) = O + Rα(x − O), RO′, −α(y) = O′ + R−α(y − O′),
其中 Rα 表示「绕原点转过 α」。在 O = 原点、O′ = (d, 0) 的坐标下代入 y = RO, α(x):
RO′, −α(RO, α(x)) = O′ + R−α(Rαx − O′) = O′ + x − R−αO′ = x + (O′ − R−αO′),
倒数第二步用了 R−αRα = id。而 R−αO′ = (d cos α, −d sin α),故
O′ − R−αO′ = (d − d cos α, d sin α) = d(1 − cos α, sin α) = v(α)。
即该复合把每个点 x 都加上同一个向量 v(α),故它是平移 tv(α)。(几何上,v(α) 随 α 描出以 (d, 0) 为心、d 为半径的圆;α ∈ (0, 2π) 时 v(α) ≠ 0,故这些都是非平凡平移。)∎
平移 t O O′ (a) 平移共轭 把 Γ(O) 共轭成 Γ(O′) ℓ (b) 交:只剩连心线翻面 Γ(O) ∩ Γ(O′) = { id, s } α −α t(v) O O′ (c) 联合生成:冒出平移 R(O′,−α) ∘ R(O,α) = t(v)
图 9-2 同一个点群的三种关系。(a) 平移把 O 处的点群共轭成 O′ 处的点群:ΓO′ = tv ΓO tv−1(位置一动,子群跟着共轭搬家);(b) 两者的交只剩「沿连心线 ℓ 的翻面」sℓ;(c) 绕 O 转 α、再绕 O′ 转 −α,合起来是一个平移——两个不同位置的对称群一联手,就产生了单个点群给不出的动作。
解读 9.12(位置与半径的分工) 三层关系收拢成三句话:共轭说「不同位置的圆,对称群是同一个模子印出来的」;交说「印出来的这些副本,两两只共享一条连心线反射」;生成说「两个副本一碰头就造出平移——单个副本里的动作全都在某点驻留,合起来就不再驻留」。而这三句话里,出场的位置信息只有「圆心在哪」: 一句话:圆把「位置」当成了自己唯一的对称参数,把「大小」整个让了出去。
表 9-3 ΓO 与 ΓO′(O ≠ O′)的四层关系 
关系结论依据
是否相等否(O ≠ O′ 时两者不同)推论 9.9
是否共轭是:ΓO′ = tv ΓO tv−1(v = O′ − O)命题 9.8
交{ id, sℓ } ≅ ℤ2(与半径无关)命题 9.10
联合生成含非平凡平移,不再驻留于一点命题 9.11

四行合起来是同一件事的四个角度:位置把同一个子群复制到平面各处(共轭),复制品之间只剩一条连心线缘分(交),而一旦把两个复制品合起来用,就会「跑」(生成)。

9.4 不同位置的正多边形:多出一个朝向参数

把 §9.3 的三个问题原样搬到正多边形上。记号上只多一件东西:朝向。圆对朝向不敏感——每一条过心直线都是它的对称轴,「转了多少度」根本不进入描述;正多边形只认 n 条等分轴,于是「转了多少度」成了一个真实的参数。这一点会让答案比圆复杂,也让离散与连续的差别第一次显形。

定义 9.13(正多边形的对称群与朝向) 设 P 是中心为 O 的正 n 边形(n ≥ 3),把它的一条对称轴的方向角记为 θ,称 θ 为 P 的朝向(orientation)。记
ΔO, θ := Sym(P) ≅ Dn。
朝向只在 π/n 的整数倍下不改变轴集(n 条轴的方向角是 θ + kπ/n,k = 0, …, n−1;整体再转过 π/n 只是把这张清单重新编号),故朝向被看作模 π/n 的角,即 ℝ/(π/n) 中的元素。
命题 9.14(同一位置上有一整族子群) 固定位置 O。 对照 §9.3:同一个位置上,圆只有一份对称群 ΓO,正 n 边形却有一整族 ΔO, θ。
证. 旋转部分。由命题 9.5,保持正 P 的旋转恰是转角取 2π/n 整数倍的那些,这个条件与 P 转过多大角(即 θ)无关;故 Cn ⊆ ΔO, θ 且对一切 θ 相同。反射部分。ΔO, θ 的 n 条轴方向角为 θ + kπ/n(§4.2),随 θ 整体平移;当 θ ≢ θ′ (mod π/n) 时这两张轴清单没有公共直线,故对应子群不同。合起来即所求。∎
命题 9.15(位置动就平移共轭,朝向动就旋转共轭) 对平移 tv 与绕原点的旋转 gφ(转过 φ),
tv ΔO, θ tv−1 = ΔO+v, θ,  gφ ΔO, θ gφ−1 = ΔO, θ+φ。
于是全体 ΔO, θ 也构成 E(2) 的一个共轭类,但参数是两件:位置 O 与朝向 θ(mod π/n)。对照 9.3:圆的共轭类只用一个参数(位置),正多边形要用两个。
证. 两步都只是命题 9.8 式推理的直接应用:共轭把不动点搬成不动点、把对称轴搬成对称轴。第一步取 g = tv:正 P 被整体平移,中心从 O 变成 O + v,而平移不改变任何直线的方向,故朝向不动。第二步取 g = gφ:它把方向角为 θ 的直线搬成方向角为 θ + φ 的直线,故整套轴转过 φ,而中心与旋转子群不动。∎

接下来是交:两个图形各自都有一个对称群,把它们共同拥有的动作收集起来,就是两者的公共对称群 Sym(P1) ∩ Sym(P2)。分同心与异心两种摆法。

命题 9.16(同心两多边形:Dn 或 Cn) 设两个全等正 n 边形的中心同为 O,朝向分别为 θ, θ′。则
ΔO, θ ∩ ΔO, θ′ = Dn (当 θ ≡ θ′ (mod π/n):两方 n 条轴完全重合);
ΔO, θ ∩ ΔO, θ′ = Cn (否则:旋转永远相同,反射一个不剩)。
对照 §9.3:两个同心圆不论怎么摆都是同一个 ΓO(= O(2)),一个元素也不少。
证. 公共对称必固定 O(定理 2.5),故是绕 O 的旋转或过 O 的反射。

旋转部分。P1 的旋转对称恰是 ⟨r⟩ = Cn(转 2π/n 的整数倍);P2 是 P1 的旋转像,而旋转彼此交换,故其旋转对称与 P1 相同,仍是 Cn。于是公共旋转对称恰为 Cn。

反射部分。P1 的轴方向角是 θ + kπ/n,P2 的则是 θ′ + kπ/n(k = 0, …, n−1)。两条过 O 的直线相同当且仅当方向角模 π 同余,故两张清单有公共成员就等价于 θ − θ′ 是 π/n 的整数倍;此时两张清单完全重合,Dn 中全部 n 个反射都是公共对称;否则一个也不剩。

合起来:θ ≡ θ′ (mod π/n) 时为 Cn ∪(n 个反射)= Dn,否则为 Cn。∎

命题 9.17(异心两多边形:ℤ2 或平凡) 设两个全等正 n 边形的中心 O ≠ O′,ℓ = 直线 OO′,朝向分别为 θ, θ′。记 φ 为 ℓ 的方向角。则
ΔO, θ ∩ ΔO′, θ′ = { id, sℓ } (当 φ ≡ θ ≡ θ′ (mod π/n),即 ℓ 恰是双方的对称轴);
ΔO, θ ∩ ΔO′, θ′ = { id } (否则)。
对照 命题 9.10:异心两圆的交恒为 { id, sℓ }——圆的每一条过心直线都是对称轴,「连心线是轴」对它自动成立;多边形则要看运气。
证. 「⊆」设 h 是公共对称。由定理 2.5,它分别固定 O 与 O′,故 h ∈ ΓO ∩ ΓO′ = { id, sℓ }(命题 9.10)。于是交集只能 ⊆ { id, sℓ }。

何时含 sℓ:反射 sℓ 是 P 的对称,当且仅当 ℓ 是 P 的一条对称轴(§4.2),也就是 φ ≡ θ (mod π/n)。两端都成立时,交集为 { id, sℓ } ≅ ℤ2;任一端不成立时,反射 sℓ 不能同时保持两个多边形,交集只剩 { id }。∎

最后仍是生成。把命题 9.11 的公式搬到多边形上,恰好照出「离散」与「连续」的分野。

命题 9.18(连续一族 vs 有限多个) 设 O ≠ O′。 离散的东西再怎么叠加,也叠不出连续——这正是 n 有限在「位置族」上留下的最后一道印记。
同心 · 轴重合 同心 · 轴错开 异心 · 连心线是轴 异心 · 连心线不是轴
图 9-3 两个全等正方形的四种摆法(金色虚线为连心线 ℓ)。(a) 同心、轴重合(虚线方为实线方转过 45° = π/4):公共对称群是 D4;(b) 同心但转过 22.5°(不是 π/4 的整数倍):两方轴错开,只剩旋转 C4;(c) 异心、连心线恰是一条对称轴:公共对称群 { id, sℓ } ≅ ℤ2;(d) 异心、两方各转 30°,ℓ 不再是任何一条对称轴:公共对称群只剩平凡的 { id }。
解读 9.19(圆与正多边形:同四个问题,多一个参数) 把 9.3、9.4 并排,规律一目了然:无论圆还是正多边形,「不同位置的对称群」都在回答同样的四个问题——相等吗?共轭吗?交是什么?联合生成什么?差别可以只用一句话概括: 于是本册从有限走到无限、再转回有限时,那条最清楚的界线浮现出来:对称越「慷慨」(越接近连续),位置的细微差别越不影响它共享的对称;对称越「吝啬」(有限而离散),位置与朝向就越要计较。而两者的接缝在 §9.2 已经量过:Dn ≤ O(2),正多边形是圆按 n 等分「离散化」的产物。本节三层关系的数值核对,见附录 B 核对脚本的第 [7] 段。
表 9-4 四个问题,两种答案 
关系两个圆(异心)两个全等正 n 边形(异心)
是否相等否否
是否共轭是(只由位置差决定)是(由位置差与朝向差决定)
交恒 { id, sℓ } ≅ ℤ2{ id, sℓ } 或 { id }(看 ℓ 是否轴)
联合生成连续一族平移,向 E(2) 逼近有限多个平移,仍是离散的一小撮
同心时恒 ΓO(与半径无关)Dn(轴重合)或 Cn(轴错开)

整张表只说了两件事:「位置」决定用哪一个共轭副本(圆到此为止,多边形还要再挑朝向);而两个不同位置的副本之间,能共享的对称逃不出 { id, sℓ }。

9.5 小结与思考题

小结 9.20 本节把「对称群」这把尺子用到了无限的情形,并把不同位置的图形放进 E(2) 一起比较:
思考题 9 
结语思考题 

附录A 正多边形对称速查表

下面的表 A-1 把本册关于 Dn 的主要结论汇成一览,便于查阅与记忆;表 A-2 则把同一件事的三种说法并列,作为「翻译词典」。两表中的符号与本册正文一致:r 是绕中心转 2π/n 的基本旋转,s 是关于过基准顶点的轴的反射,e 是恒等。

表 A-1 Dn 速查(n = 3, …, 8) 
n|Dn|旋转反射对称轴中心 Z(Dn)共轭类数子群数可作为晶体对称
3633全过顶点{e}36可
48442 条过对顶点 + 2 条过对边中点{e, r²}510可
51055全过顶点{e}48不可
612663 条过对顶点 + 3 条过对边中点{e, r³}616可
71477全过顶点{e}510不可
816884 条过对顶点 + 4 条过对边中点{e, r⁴}719不可

「共轭类数」按 §7 的公式计算:n 奇时为 (n−1)/2 + 2,n 偶时为 n/2 + 3。「子群数」为 τ(n) + σ(n)。

表 A-2 同一件事的三种说法 
概念几何语言群论语言矩阵语言
一个对称一个搬回自身的动作Dn 的元素2×2 正交矩阵
基本旋转绕中心转 2π/n生成元 rrot(2π/n)
基本反射沿过中心的轴翻面生成元 srefl(0)
三条关系转满一圈 / 翻两次复原;翻·转·翻 = 反转rn = s² = e,s r s = r−1矩阵恒等式
群的阶动作总数|Dn| = 2n矩阵个数 2n
保向 / 反向转动 / 翻面属于 Cn / 不在其中det = +1 / −1
中心与所有动作都交换Z(Dn)与全群交换的矩阵
子群更小的对称群Cm 或 Dm子矩阵群
典型出现正多边形、雪花、蜂巢2n 阶由两生成元决定的群正交矩阵的有限子群

附录B 一份可运行的核对脚本

下面这段 Python(只需 numpy)把本册几条主要结论逐条数值核对一遍:群的阶、三条关系、乘法规则、中心、共轭类、子群计数、晶体学限制,以及 §9 里「不同位置的圆与正多边形,其对称群在 E(2) 中是什么关系」。它既是「算一遍比读十遍更清楚」的练习,也可当作本册结论的独立体检。建议读者先自己写一遍,再与这份对照。脚本把每个对称实现为 2×2 正交矩阵,用矩阵乘法执行「接连做两个动作」。

# dihedral_check.py —— 二面体群 D_n 结构与性质的自我核对(需要 numpy) import numpy as np, math def rot(t): # 绕原点转 t 的旋转矩阵 return np.array([[math.cos(t), -math.sin(t)], [math.sin(t), math.cos(t)]]) def refl(alpha): # 关于过原点、方向角 alpha 的直线的反射 c, s = math.cos(2*alpha), math.sin(2*alpha) return np.array([[c, s], [s, -c]]) def key(M): # 矩阵去重键(四舍五入消除浮点误差) return tuple(np.round(M, 6).ravel()) def dihedral(n): """构造 D_n 的 2n 个元素:{r^k} 与 {r^k s},返回旋转与反射两个生成元。""" R = rot(2*math.pi/n) # 基本旋转 r S = refl(0.0) # 基本反射 s(轴取 x 轴,即过 A_0) G = {} for k in range(n): Mk = np.linalg.matrix_power(R, k) G[key(Mk)] = ('r', k) # 旋转 r^k G[key(Mk @ S)] = ('rs', k) # 反射 r^k s return R, S, G # ---- 0. 群的阶:对 n = 3..8,D_n 恰有 2n 个不同元素 ---- for n in range(3, 9): _, _, G = dihedral(n) assert len(G) == 2*n, (n, len(G)) print("[0] |D_n| = 2n 对 n=3..8 成立") # ---- 1. 三条基本关系:r^n = s^2 = e,s r s = r^-1 ---- I = np.eye(2) for n in range(3, 9): R, S, _ = dihedral(n) assert np.allclose(np.linalg.matrix_power(R, n), I) # r^n = e assert np.allclose(S @ S, I) # s^2 = e assert np.allclose(S @ R @ S, np.linalg.inv(R)) # s r s = r^-1 print("[1] r^n = s^2 = e、s r s = r^-1 对所有 n 成立") # ---- 2. 乘法规则(定理 5.4)逐格复核 ---- n = 6 R, S, _ = dihedral(n) for i in range(n): for j in range(n): Ri = np.linalg.matrix_power(R, i) Rj = np.linalg.matrix_power(R, j) assert np.allclose((Ri @ S) @ Rj, np.linalg.matrix_power(R, (i-j) % n) @ S) assert np.allclose((Ri @ S) @ (Rj @ S), np.linalg.matrix_power(R, (i-j) % n)) assert np.allclose(Ri @ (Rj @ S), np.linalg.matrix_power(R, (i+j) % n) @ S) print("[2] (r^i s)r^j = r^{i-j}s、(r^i s)(r^j s) = r^{i-j}、r^i(r^j s) = r^{i+j}s 成立") # ---- 3. 中心:与全群交换的矩阵 ---- def center_size(n): _, _, G = dihedral(n) ms = [np.array(m).reshape(2, 2) for m in G.keys()] return sum(1 for A in ms if all(np.allclose(A @ B, B @ A) for B in ms)) assert center_size(3) == 1 and center_size(5) == 1 # n 奇:只有 e assert center_size(4) == 2 and center_size(6) == 2 # n 偶:e 与 r^{n/2} print("[3] |Z(D_n)| = 1(n 奇) / 2(n 偶) 成立") # ---- 4. 共轭类的大小分布 ---- def class_sizes(n): _, _, G = dihedral(n) ms = [np.array(m).reshape(2, 2) for m in G.keys()] seen, sizes = set(), [] for i in range(len(ms)): if i in seen: continue cl = [j for j in range(len(ms)) if any(np.allclose(ms[g] @ ms[i] @ np.linalg.inv(ms[g]), ms[j]) for g in range(len(ms)))] seen |= set(cl) sizes.append(len(cl)) return sorted(sizes) assert class_sizes(4) == [1, 1, 2, 2, 2] # e、r^2 各成类;{r,r^3} 与两个反射类各 2 个 assert class_sizes(3) == [1, 2, 3] # e, {r,r^2}, {三个反射} print("[4] 共轭类大小 D_4 =", class_sizes(4), ";D_3 =", class_sizes(3)) # ---- 5. 子群计数 = tau(n) + sigma(n) ---- tau = lambda n: sum(1 for d in range(1, n+1) if n % d == 0) sigma = lambda n: sum(d for d in range(1, n+1) if n % d == 0) counts = {n: tau(n) + sigma(n) for n in range(3, 9)} assert counts == {3: 6, 4: 10, 5: 8, 6: 16, 7: 10, 8: 19} print("[5] tau(n)+sigma(n):", counts) # ---- 6. 晶体学限制:2cos(2pi/n) 为整数的 n ---- good = [n for n in range(1, 25) if abs(2*math.cos(2*math.pi/n) - round(2*math.cos(2*math.pi/n))) < 1e-9] print("[6] 2cos(2pi/n) 为整数的 n =", good, " (应为 [1, 2, 3, 4, 6])") assert good == [1, 2, 3, 4, 6] # ---- 7. §9:不同位置的圆 / 正多边形,它们的对称群在 E(2) 里是什么关系 ---- # 把等距实现为 (A, b):x |-> A x + b(A 为 2x2 正交矩阵),中心在 P 的动作就是 x |-> A(x-P)+P def isom(A, P): P = np.asarray(P, float) return (A, P - A @ P) def compose(f, g): # 先做 g,再做 f (A1, b1), (A2, b2) = f, g return (A1 @ A2, A1 @ b2 + b1) def hkey(f): # 等距的去重键 return tuple(np.round(np.concatenate([f[0].ravel(), f[1]]), 6)) def poly(O, theta, n): # 正 n 边形(中心 O、朝向 theta)的对称群 return {hkey(isom(rot(2*math.pi*k/n), O)) for k in range(n)} | \ {hkey(isom(refl(theta + math.pi*k/n), O)) for k in range(n)} O1, O2 = np.array([0., 0.]), np.array([2.5, 1.0]) d = float(np.linalg.norm(O2 - O1)) u = (O2 - O1) / d # 连心线方向的单位向量 w = np.array([-u[1], u[0]]) # 与连心线垂直的单位向量 phi = math.atan2(u[1], u[0]) # 连心线方向角 # 7a. 命题 9.11:绕 O1 转 a、再绕 O2 转 -a,合起来恰是平移 t(v(a)) for a in [0.3, 1.1, 2.0, 3.0, 5.5]: A, b = compose(isom(rot(-a), O2), isom(rot(a), O1)) assert np.allclose(A, np.eye(2)) # 它确实是一个平移 assert abs(b @ u - d*(1 - math.cos(a))) < 1e-9 # 沿连心线的分量 assert abs(b @ w - d*math.sin(a)) < 1e-9 # 垂直分量 print("[7a] R(O2,-a) o R(O1,a) = t(v(a)),v(a) = d(1-cos a, sin a) 成立") # 7b. 命题 9.10:两个异心圆的点群之交恰为 { id, s_l }(l = 连心线) keeps = lambda A: np.allclose(O1 - A @ O1, O2 - A @ O2, atol=1e-9) cand = [np.eye(2), refl(phi)] + [rot(2*math.pi*k/360) for k in range(1, 360)] assert sum(1 for A in cand if keeps(A)) == 2 print("[7b] Gamma_O1 ∩ Gamma_O2 = { id, s_l },且 l 就是连心线") # 7c. 命题 9.16 / 9.17:同心 -> D_n 或 C_n;异心 -> Z2 或 { id } n = 6 same_axis = len(poly(O1, 0.0, n) & poly(O1, math.pi/n, n)) # 同心、轴重合 same_shift = len(poly(O1, 0.0, n) & poly(O1, 0.37, n)) # 同心、轴错开 far_axis = len(poly(O1, phi, n) & poly(O2, phi, n)) # 异心、连心线恰是轴 far_shift = len(poly(O1, phi, n) & poly(O2, phi + math.pi/(2*n), n)) # 异心、错开半格 assert (same_axis, same_shift, far_axis, far_shift) == (2*n, n, 2, 1) print("[7c] D_n(%d) / C_n(%d)(同心);{ id, s_l }(%d) / { id }(%d)(异心)——与命题 9.16、9.17 一致" % (same_axis, same_shift, far_axis, far_shift)) print("全部核对通过")
脚本在读什么 
延伸练习 
数学小主题读本 · 其五 · 二面体群 · 正多边形的对称群——从对称群到 Dn 的结构定理 · 供不同背景的读者独立研读

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