本文的閱讀等級:初級
克拉瑪公式 (Cramer’s rule),也譯作克萊姆法則,是一個歷史悠久的線性代數定理,它利用行列式來計算線性方程 的解,但限制
必須是一個
階矩陣。克拉瑪公式的運算效率遠不如高斯消去法,故並未應用於大尺寸線性方程,通常僅使用於理論推算。我一直不明白為什麼高中數學要講授克拉瑪公式,是因為它的形式優美簡潔,還是它的運算法則帶有一種數學神秘性?許多中學生不明瞭這個公式的由來,往往在驚嘆過後仍然只能強忍痛苦死記硬背。

Gabriel Cramer (1704-1752) From http://www-history.mcs.st-andrews.ac.uk/BigPictures/Cramer_2.jpeg
我們先回顧一下這個著名的公式。考慮任意 階矩陣
,
維向量
,將
的第
行 (column) 以
取代,並將此矩陣記為
,其行向量表示式如下:
。
若 是可逆矩陣,即
,針對方程式
,克拉瑪公式給出下面的求解算式:
。
克拉瑪公式的證明多數是採行計算繁複的代數方法,高中老師可能會利用向量外積 (cross product,或稱向量積) 運算來推導 階公式;早年的線性代數教科書則運用伴隨矩陣 (adjugate) 與餘因子展開 (也稱為 Laplace 展開) 導出一般式,過去我上課時也常採用這個方法,意圖是藉機讓學生練習行列式的符號運算,但效果似乎不怎麼理想。下面我介紹一個非常簡單的證明方法,僅需使用矩陣乘法運算規則和矩陣乘積的行列式性質,這個證明方法出現於多本1990年後出版的線性代數教科書[1-3]。
證明過程源自於一個相當精巧的想法:將原方程式 轉換為等價的
,
和
都是
階矩陣。將單位矩陣
以其行向量表示:
。
以 取代
的第
行,再左乘
,
。
利用以行當作運算單元的矩陣乘法,參見“矩陣乘法的現代觀點”,並代入原方程式,可得
上式即為 ,其中
,
。
到此多數讀者可能已經看見指引我們繼續前進的訊號,下一個關鍵步驟是利用矩陣乘積的行列式性質:
。
以餘因子展開計算行列式得到 ,下面是
階矩陣的例子,當
時,
。
所以,。若
,則
。
這個證明過程顯示克拉瑪公式可以視為矩陣乘積行列式性質之必然結果 (corollary),克拉瑪公式其實一點也不神秘,要說真正神秘的應該是矩陣乘積的行列式公式:
。
關於這條公式的證明,請閱讀“利用分塊矩陣證明 det(AB)=(det A)(det B)”。
參考來源:
[1] David C. Lay, Linear Algebra and its Applications,3rd edition, 2006.
[2] Gilbert Strang, Introduction to Linear Algebra, 3rd edition, 2003.
[3] Spence, Insel, Friedberg, Elementary Linear Algebra, 2003.