1858 — Cayley 矩陣代數#
案件摘要#
1858 年,英國律師兼數學家 Arthur Cayley 發表〈A Memoir on the Theory of Matrices〉,首次把「矩形數陣」本身當作獨立的數學物件,系統地定義了矩陣的加法、乘法、轉置、逆矩陣與恒等元素,並提出 Cayley-Hamilton 定理的雛形。從此,矩陣不再是附屬於方程組的計算工具,而成為一門新數學——矩陣代數——的主角。這是線性代數誕生史的頭號案件。
前因 -- 為什麼會有這個案子#
- 古老的聯立線性方程組(可上溯至中國《九章算術》的方程術與高斯消去法)早就把係數排成表,但那張表只被視為「速記」,不是物件。
- 1850 年 James Joseph Sylvester 在論文中首創「matrix」一詞——意指「能從中孵化出行列式的子宮」——但他關心的仍只是行列式。
- 線性變換 \(\mathbf{x} \mapsto A\mathbf{x}\) 的複合 \(\mathbf{z} = B(A\mathbf{x})\) 自然對應一張「係數的係數」表;Gauss、Eisenstein 都碰過這類計算,Eisenstein 甚至在 1852 年用過矩陣乘法,卻沒有人把這套規則抽象化、公理化。
- Cayley 是勤奮的劍橋數學家(後來執業律師十四年仍發表數百篇論文),與 Sylvester 是摯友;他問了一個前人沒問的問題:如果「數陣」本身就是一種新的「數」,它的運算律是什麼?
線索與推理 -- 數學式、程式、理論#
線索一:矩陣作為新物件與其運算#
Cayley 定義 \(m \times n\) 矩陣
並規定:加法逐元素相加 \(A + B = (a_{ij} + b_{ij})\) 、數乘 \(kA = (ka_{ij})\) 、轉置 \(A^T = (a_{ji})\) 、以及滿足 \(AI = IA = A\) 的單位矩陣 \(I\) 。這些運算構成今天的矩陣環與模組結構的起點。
線索二:乘法規則與 \(AB \neq BA\)#
Cayley 洞察到:矩陣乘法正是線性變換的複合。若先做 \(A\) 再做 \(B\) ,合成變換的係數為
注意順序: \(BA\) 表示「先 \(A\) 後 \(B\) 」(以行向量作用於左側的慣例下)。這條規則立即可推出矩陣乘法結合律 \((AB)C = A(BC)\) 與分配律,但交換律一般不成立——這是人類第一次正視「不交換的乘法」(比 Hamilton 1843 年的四元數更有系統地進入了代數核心)。逆矩陣則由 \(AA^{-1} = A^{-1}A = I\) 定義,且 \(\det(AA^{-1}) = 1\) 暗示 \(A\) 必須可逆(行列式非零)。
線索三:Cayley-Hamilton 定理雛形#
Cayley 在論文結尾以 \(2 \times 2\) 與 \(3 \times 3\) 的例子驗證了一個驚人的猜想:若
是 \(A\) 的特徵多項式,則把矩陣 \(A\) 自己代入多項式,會得到零矩陣:
Cayley 說他「已對 \(3\times 3\) 完成驗證,一般情形未給證明」。這個看似怪異的式子(純量 \(\lambda\) 變成矩陣 \(A\) )背後的深意——多項式環對「矩陣的最小多項式」取商——要等到 Frobenius(1878)才徹底釐清。
程式碼範例:用 Python 驗證 Cayley 的矩陣代數與 Cayley-Hamilton 定理#
import numpy as np
A = np.array([[2.0, 1.0],
[1.0, 3.0]])
B = np.array([[1.0, 0.0],
[0.0, 4.0]])
I = np.eye(2)
# Cayley 乘法規則:手算 BA 逐元素
BA_manual = np.array([[sum(B[i, k] * A[k, j] for k in range(2))
for j in range(2)] for i in range(2)])
print("BA 手算 =", BA_manual.tolist(), ",與 numpy 一致:",
np.allclose(BA_manual, B @ A))
# 交換律失敗的實例
print("AB - BA =\n", A @ B - B @ A) # 非零矩陣!
print("AB == BA ?", np.allclose(A @ B, B @ A))
# Cayley-Hamilton:p_A(λ) = λ² - 5λ + 5,代入 A
tr, det = np.trace(A), np.linalg.det(A)
pA_of_A = A @ A - tr * A + det * I
print("p_A(A) =\n", pA_of_A) # 幾乎為 0
print("Cayley-Hamilton 成立 ?", np.allclose(pA_of_A, 0))
輸出顯示:手算乘法與 numpy 一致; \(AB - BA \neq 0\) (交換律確實不成立);而 \(p_A(A) = A^2 - 5A + 5I = 0\) 精確到浮點誤差——Cayley 1858 年的猜想被程式「重審」確認。
結案 -- 後果與影響#
- 矩陣理論正式誕生:加法、乘法、逆、轉置、單位元一次到位,矩陣成為線性代數的標準語言。
- Cayley-Hamilton 定理成為矩陣論的基石:可用於求逆( \(A^{-1} = -\frac{1}{c_0}(A^{n-1} + \cdots + c_1 I)\) )、化簡矩陣冪、定義最小多項式。
- 「不交換代數」自此進入數學主流,預示了群表示論(Frobenius 1896)與量子力學矩陣力學(1925)。
- 1880 年代起,Sylvester、Frobenius、Jordan 等人接力,把 Cayley 的骨架填上秩、特徵值、標準形等血肉。
- 今日電腦繪圖、深度學習(GPU 矩陣乘法)、量子計算,全部建基於這份 1858 年的備忘錄。
關鍵人物與文獻#
| 人物 | 角色 |
|---|---|
| Arthur Cayley | 撰寫《A Memoir on the Theory of Matrices》,矩陣代數之父 |
| James Joseph Sylvester | 1850 年命名「matrix」,Cayley 的合作者 |
| Ferdinand Eisenstein | 1852 年曾使用矩陣乘法但未系統化 |
| Carl Friedrich Gauss | 線性變換與消去法的先驅 |
- A. Cayley, A Memoir on the Theory of Matrices, Phil. Trans. R. Soc. Lond. 148, 17–37 (1858)。
- J. J. Sylvester, Additions to the articles..., Phil. Mag. 37, 363–370 (1850):matrix 一詞首見。