第 9 章 進階主題與現代發展#
9.1 有限群的分類(1983):百年工程#
學習目標#
- 說明「有限簡單群的分類」(Classification of the Finite Simple Groups, CFSG)陳述的內容:每一個有限簡單群都屬於三大類之一。
- 認識三大類:素數階循環群、交錯群 \(A_n\ (n \geq 5)\) 、李型群(Lie type groups),以及 26 個散在群(sporadic groups)與最大的「魔群」 \(M\) 。
- 理解為何「簡單群」是有限群的基本建材(Jordan–Hölder 定理與組合因子的類比)。
- 了解 CFSG 的歷史:從 1832 年 Galois、1870 年代 Jordan、1893 年 Dickson,到 1955 年 Feit–Thompson 定理,再到 1983 年 Gorenstein 宣告完成、2004 年 Aschbacher–Smith 補完「準薄群」的百年歷程。
- 用 SymPy 的
combinatorics模組操作幾個最小的簡單群( \(C_p\) 、 \(A_5\) ),並體會為何需要計算機輔助。
歷史背景#
「分類」是代數的本能。我們已經見過兩次分類工程:有限交換阿貝爾群的分類(見 2.5 節)與主理想環上模的結構定理(見 5.6 節)。這些分類結果優雅且短證明,但非交換的有限簡單群完全是另一個量級——它被稱為數學史上最龐大的定理,證明散布在約 500 位作者的 10,000 多頁期刊論文中。
flowchart TD
A[1832 Galois<br/>發現 A5 是最小非交換簡單群] --> B[1870s Jordan<br/>系統研究簡單群與合成列]
B --> C[1893 Dickson<br/>分類大多數李型群的小情形]
C --> D[1955 Feit–Thompson<br/>奇階群可解定理,255 頁]
D --> E[1960s–70s Brauer / Suzuki /<br/>Feit / Aschbacher 等分類戰役]
E --> F[1983 Gorenstein 宣告完成]
F --> G[2004 Aschbacher–Smith<br/>補完 quasithin 情形,正式結案]
H[1965 Mathieu 群後新發現<br/>→ 26 個散在群] --> F
I[1973 Fischer 與 Conway<br/>發現魔群 M 預言] --> H
J[1980 Griess 建構魔群] --> H關鍵年表:
- 1832 年:Galois 在遺書中指出 \(A_5\) 是最小的非交換簡單群(見 4.4 節)。
- 1870–1872 年:Jordan 的《代換論》系統化簡單群概念;Mathieu 在 1861 與 1873 年發現 \(M_{11}, M_{12}, M_{22}, M_{23}, M_{24}\) ——最早的散在群,也是最後才被「安放」的。
- 1893 年:Dickson 分類了大多數李型群的小階情形。
- 1955 年:Feit 與 Thompson 證明奇階群可解定理(Feit–Thompson theorem,又稱 odd order theorem),全文 255 頁,占滿整期《Pacific Journal of Mathematics》。此定理是整個 CFSG 的第一塊基石:它說「每個非交換有限簡單群都是偶數階的」,把問題縮減到偶數階群。
- 1963–1975 年:Brauer 的模表示論、Suzuki 對以 2 為中心的分層(2-local analysis)開啟現代攻勢;Janko(1965–68)、Conway(1968)、Fischer(1969–71)等接連發現新的散在群。
- 1972 年:Gorenstein 在夏季學院提出分類綱領。
- 1983 年:Gorenstein 宣告分類完成。
- 1980 年:Griess 純手工(無電腦)建構了魔群 \(M\) ,其階為
- 2004 年:Aschbacher 與 Smith 完成 1983 年所留的最後缺口——quasithin(準薄)群的分類,出版 1,221 頁的專著,CFSG 正式定案。
「技術與理論互相驅動」在此節表現得最極端:沒有 1950 年代後的電腦,群階的巨大數值檢查、特徵標表計算(見 6.3 節)、與上同調障礙的驗證都不可能;反過來,CFSG 的需求也直接催生了 GAP(1986 年,Aachen)與 Magma(1990 年代,雪梨)這些代數計算系統(見 9.3 節)。
理論:為何「簡單群」是建材#
定義(單群 / simple group):群 \(G\) 稱為簡單群,若 \(G\) 非平凡( \(|G| > 1\) )且 \(G\) 的正規子群只有 \(\{e\}\) 與 \(G\) 本身(正規子群與商群見 2.4 節)。
定理(Jordan–Hölder):每個有限群 \(G \neq \{e\}\) 都有一條合成列
其中每個合成因子 \(G_{i}/G_{i-1}\) 都是簡單群;且任何兩條合成列的因子集(含重數)在同構意義下唯一。
這正是「唯一質因數分解」的群版本:有限群之於簡單群,如同正整數之於質數。質因數分解 \(360 = 2^3 \cdot 3^2 \cdot 5\) 告訴我們建材,但不告訴我們如何拼裝(拼裝方式即群的擴張問題,非常困難);CFSG 則是先把「質數」清點完畢:
分類定理(CFSG):每個有限簡單群恰好是下列三類之一:
- 素數階循環群 \(C_p\) ( \(p\) 為質數):這些是交換的,由 Lagrange 定理立即可得(見 2.3 節);
- 交錯群 \(A_n\) , \(n \geq 5\) : \(A_5\) (階 60)最小, \(n \geq 5\) 時 \(A_n\) 皆簡單;
- 李型群:在有限體上的李型代數群衍生的群族,包括射影特殊線性群 \(\mathrm{PSL}_n(q)\) 、辛群、酉群、正交群與例外群(如 \(G_2(q)\) 、Ree 群等),共 16 個「族」;要排除少數同構重疊(例如 \(\mathrm{PSL}_2(4) \cong \mathrm{PSL}_2(5) \cong A_5\) );
再加上 26 個散在群:不屬於任何無窮族的孤立群。其中 20 個參與「魔群月孀」網路,最大的即魔群 \(M\) ;第二大的嬰兒魔群 \(B\) 階約 \(4 \times 10^{33}\) 。
為何 \(A_5\) 簡單(思路): \(A_5\) 是 \(S_5\) 中偶置換構成的子群,階為 \(5!/2 = 60\) 。設 \(N \triangleleft A_5\) 非平凡。把共軛類元素數算出來: \(1, 12, 12, 15, 20\) (恆等、雙對換、3-循環分兩類、5-循環分兩類),且每個正規子群必為若干個完整共軛類的聯集、階需整除 60、且包含恆等元。逐一檢查 \(1, 12, 12, 15, 20\) 的子集和( \(1+12=13 \nmid 60\) 、 \(1+12+15=28 \nmid 60\) 、 \(1+12+12+15=40 \nmid 60\) ……),唯一能整除 60 的選擇是全部之和 60,故 \(N = A_5\) 。這個「算共軛類大小」的證明思路正好可以用 SymPy 驗證。
Feit–Thompson 定理(敘述):任何奇數階的有限群都是可解群。證明長達 255 頁;其架構是「反證 + 對局部子群的精細歸納」,並且大量使用特徵標論。2022 年,參照與整理工程完成,新版本(限縮為「每個奇階群存在非平凡阿貝爾正規子群」的強化形式)精簡到約 900 頁——這也說明 CFSG 的「完成」不代表證明書已可讀:目前仍有多項「重新證明簡化」計畫(GLS 系列專著仍在進行中)。
SymPy 實作#
SymPy 沒有像 GAP 那樣完整的群資料庫,但 sympy.combinatorics 足以讓我們:
- 用置換生成 \(A_5\) ,算出它的階、確認其簡單性(檢查合成列與共軛類);
- 驗證 Lagrange 定理:所有子群的階整除群階;
- 重現「 \(A_5\) 共軛類大小 \(1,12,12,15,20\) 」的計算。
範例 1:建構 \(A_5\) 並計算共軛類#
import sympy as sp
from sympy.combinatorics import Permutation, PermutationGroup
# A5 = (1 2 3), (1 2)(3 4) 生成的交錯群
a = Permutation(0, 1, 2) # (1 2 3),SymPy 的置換用 0-based
b = Permutation(0, 1)(2, 3) # (1 2)(3 4)
A5 = PermutationGroup(a, b)
print("A5 的階 =", A5.order()) # 60
print("是否阿貝爾 =", A5.is_abelian()) # False
# 檢查每一元素與其生成元共軛性,枚舉共軛類
els = list(A5.elements)
cls = A5.conjugacy_classes() # SymPy 1.12+ 提供
sizes = sorted(len(c) for c in cls)
print("共軛類大小 =", sizes) # [1, 12, 12, 15, 20]
print("總和 =", sum(sizes)) # 60,等於群階(共軛類方程)
輸出說明:order() 回傳 \(60\) ,conjugacy_classes() 給出大小 \([1, 12, 12, 15, 20]\) 。讀者可自行驗證:這些數的任何真子集(含 1)之和都不整除 60,於是正規子群只有 \(\{e\}\) 與 \(A_5\) ——這就是「 \(A_5\) 是簡單群」的計算機驗證。
範例 2:Lagrange 定理的全面檢查#
import sympy as sp
from sympy.combinatorics import Permutation, PermutationGroup
a = Permutation(0, 1, 2)
b = Permutation(0, 1)(2, 3)
A5 = PermutationGroup(a, b)
n = A5.order() # 60 = 2^2 * 3 * 5
print(sp.factorint(n)) # {2: 2, 3: 1, 5: 1}
# 枚舉部分子群,檢查階整除 60
subs = list(A5.subgroups())
orders = sorted({H.order() for H in subs})
print("出現的子群階:", orders)
# 全部整除 60:
print(all(n % d == 0 for d in orders)) # True
輸出說明:A5.subgroups() 枚舉所有子群( \(A_5\) 共有 59 個子群),其階都落在 \(\{1, 2, 3, 4, 5, 6, 10, 12, 60\}\) 之中——注意 \(A_5\) 沒有階 30、20、15 的子群:若存在,將是階 2 的指標,進而給出非平凡正規子群,違反簡單性。這正是 Lagrange 定理的逆命題為假、而「簡單性」反過來限制子群的實例。
範例 3:最小的幾個簡單群#
import sympy as sp
from sympy.combinatorics import Permutation, PermutationGroup
# C5:素數階循環群(最簡單的一類)
C5 = PermutationGroup(Permutation(0, 1, 2, 3, 4))
print("C5 order:", C5.order()) # 5
print("C5 abelian:", C5.is_abelian()) # True
# PSL(2,5) 應同構於 A5,階 60:用有限體 GF(5) 上的 2x2 矩陣生成
# 這裡直接用置換表示驗證同構的兩個生成元滿足的關係:
# A5 = <a, b | a^5 = b^3 = (ab)^2 = 1>(2,3,5-生成系統)
a = Permutation(0, 1, 2, 3, 4)
b = Permutation(0, 1, 2)
G = PermutationGroup(a, b)
print("G order:", G.order()) # 60(此生成集實際生成 A5)
輸出說明:第一段確認素數階循環群是最平凡的簡單群;第二段展示 \((2,3,5)\) -生成關係 \(a^5 = b^3 = (ab)^2 = 1\) 所對應的群正是階 60 的 \(A_5\) (同時也是 \(\mathrm{PSL}_2(5)\) 與 \(\mathrm{PSL}_2(4)\) )——三大類之間的同構重疊就從這裡開始。
範例 4:數值趣味——散在群的巨大階#
import sympy as sp
# 魔群 M 的階
M_order = 2**46 * 3**20 * 5**9 * 7**6 * 11**2 * 13**3 * 17 * 19 * 23 * 29 * 31 * 41 * 47 * 59 * 71
print(sp.factorint(M_order)) # 驗證因式分解
print(M_order) # 808017424794512875886459904961710757005754368000000000
print(len(str(M_order))) # 54 位數
輸出說明:魔群的階是一個 54 位整數。物理學家 John McKay 在 1978 年發現魔群的不可約表示次數(1, 196883, …)與模形式 \(j\) -函數的 Fourier 係數 \(196884 = 1 + 196883\) 之間的「巧合」,最終發展為 Conway 與 Norton 的魔群月孀猜想(1979),並在 1992 年由 Richard Borcherds 以頂點算子代數證明(1998 年費爾茲獎)——散在群的研究甚至反哺了無窮維李代數與數論。
歷史評註:百年工程的教訓#
| 階段 | 年代 | 特徵 |
|---|---|---|
| 前史 | 1832–1945 | Galois、Jordan、Dickson、Brauer 建立概念與工具 |
| 第一基石 | 1955 | Feit–Thompson:奇階群可解,證明進入「百頁級」 |
| 分類戰役 | 1960s–1983 | 以「局部子群分析」逐族殲滅,電腦輔助特徵標計算 |
| 散在群收尾 | 1965–1980 | Janko、Conway、Fischer、Griess:26 個散在群全數現身 |
| 補完與重整 | 1983–2004+ | quasithin 缺口補完(Aschbacher–Smith 2004);GLS 簡化重證進行中 |
三點教訓:
- 理論先行、計算斷後:分類的主體思想(2-local analysis、訊號群函數)是純數學的;電腦的角色是處理人腦無法可靠完成的有限枚舉與特徵標驗證。
- 巨石定理的社會學:CFSG 沒有任何單一論文可讀完整證明,迫使數學界發展「信任結構」——引用「CFSG 定理」本身作為一個黑箱。這在數學實作上史無前例。
- 意外收穫:為分類散在群而發展的工具,意外連通了模形式與弦論(魔群月孀),呼應本書「問題驅動 → 工具成熟 → 跨域連結」的主旋律(參見 7.3 節 中 Gröbner 基的類似故事)。
習題#
- 用 SymPy 計算 \(A_5\) 的共軛類,寫一段程式驗證「任何真子集和(含 1)皆不整除 60」,完成 \(A_5\) 簡單性的完整驗證。
- 證明(手推 + SymPy 檢查): \(C_6\) 不簡單,因為 \(\langle g^3 \rangle\) 是階 2 的正規子群;推廣之,證明素數階循環群是唯一的交換簡單群。
- 驗證 \(A_4\) (階 12)不是簡單群:找出 Klein 四元群 \(V_4 \triangleleft A_4\) ,並用
PermutationGroup算商群 \(A_4 / V_4 \cong C_3\) 。這說明 \(n = 4\) 是 \(A_n\) 簡單性的臨界值。 - 用
sp.factorint分解嬰兒魔群 \(B\) 的階 \(|B| = 2^{41} 3^{13} 5^6 7^2 11 \cdot 13 \cdot 17 \cdot 19 \cdot 23 \cdot 31 \cdot 47\) ,並與魔群比較位數。 - (挑戰)寫一個函數,對給定置換群 \(G\) ,枚舉其所有共軛類並檢查是否存在「階整除 \(|G|\) 且為完整共軛類聯集」的真子集——這是檢查簡單性的通用演算法;對 \(A_5\) 與 \(A_4\) 分別測試。
- (閱讀)查閱 Mathieu 群 \(M_{11}\) 的階 \(7920\) ,用 SymPy 以置換生成元建構之(提示: \(M_{11} = \langle (0\,1\,2\,\dots\,9\,10), (0\,10\,3\,4)(1\,8\,5\,2) \rangle\) 類型的生成集),計算其階與阿貝爾性。這個群與 Steiner 系統 \(S(4,5,11)\) 有關。
SymPy 要點回顧#
PermutationGroup(*perms):由置換生成群;Permutation(0,1,2)為 0-based 置換。G.order()、G.is_abelian()、G.elements:基本不變量與元素枚舉。G.conjugacy_classes()(SymPy ≥ 1.12):共軛類列表;共軛類方程 \(\sum |C_i| = |G|\) 是簡單性檢驗的核心。G.subgroups():子群枚舉(階小時可行),用於 Lagrange 定理驗證。sp.factorint(n):整數質因數分解——CFSG 中所有群階都以質因數分解形式書寫,正因如此計算機才能處理 \(10^{54}\) 這種巨數。
CFSG 清點完「有限對稱性的原子」之後,數論那邊也有一場以一個 350 年謎題為燃料的大會戰正在進行——下一節我們走進橢圓曲線與 Wiles 對費馬大定理的證明:9.2 節。