矩陣乘積行列式公式的代數證法

本文的閱讀等級:初級

ABn\times n 階矩陣。矩陣乘積 AB 的行列式定理,或稱「可乘公式」,如下所示:

\det(AB)=(\det A)(\det B)

過去我們曾經討論了三種證明方法:第一種方式最常見於教科書,將 A 表示成基本矩陣乘積,透過 \det(EB)=(\det E)(\det B) 得證,其中 E 是任意基本矩陣。第二種方式是基於分塊矩陣運算的簡明證法 (以上兩種證法請見“利用分塊矩陣證明 det(AB)=(det A)(det B)”)。第三種方式則建立於函數 d(A)=\det(AB)/\det B 之上 (見“行列式的運算公式與性質”)。本文再介紹一個直接計算矩陣乘積的代數證法,包含三個步驟:先乘開 AB,再化簡,最後整理成行列式的乘積。從表面上看,直接計算矩陣乘積及其行列式似乎涉及一定程度的蠻力,至於是否果真如此,請讀者閱畢全文後再自行評斷。

 
我們先考慮 2\times 2 階矩陣。令 A=\begin{bmatrix}  a&b\\  c&d  \end{bmatrix}B=\begin{bmatrix}  p&q\\  r&s  \end{bmatrix}。矩陣乘積的行列式公式如下:

\begin{vmatrix}  ap+br&aq+bs\\  cp+dr&cq+ds  \end{vmatrix}=\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}\cdot\begin{vmatrix}  p&q\\  r&s  \end{vmatrix}

運用 2\times 2 階行列式計算公式直接乘開等號兩邊,再逐項比對即可確認等式成立。為了減少計算量,我們可用行列式性質化簡左式。依序使用 (P1) 行列式對於任一行或任一列都是線性函數 (固定其餘的行列),(P2) 任兩行或兩列相同時,行列式等於零,(P3) 置換兩行或兩列改變行列式正負號。下面是推導過程:

\begin{aligned}  \begin{vmatrix}  ap+br&aq+bs\\  cp+dr&cq+ds  \end{vmatrix}&=\begin{vmatrix}  ap&aq+bs\\  cp&cq+ds  \end{vmatrix}+\begin{vmatrix}  br&aq+bs\\  dr&cq+ds  \end{vmatrix}~~(\text{P1})\\  &=\begin{vmatrix}  ap&aq\\  cp&cq  \end{vmatrix}+\begin{vmatrix}  ap&bs\\  cp&ds  \end{vmatrix}+\begin{vmatrix}  br&aq\\  dr&cq  \end{vmatrix}+\begin{vmatrix}  br&bs\\  dr&ds  \end{vmatrix}~~(\text{P1})\\  &=pq\begin{vmatrix}  a&a\\  c&c  \end{vmatrix}+ps\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}+qr\begin{vmatrix}  b&a\\  d&c  \end{vmatrix}+rs\begin{vmatrix}  b&b\\  d&d  \end{vmatrix}~~(\text{P1})\\  &=ps\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}+qr\begin{vmatrix}  b&a\\  d&c  \end{vmatrix}~~(\text{P2})\\  &=ps\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}-qr\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}~~(\text{P3})\\  &=\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}(ps-qr)\\  &=\begin{vmatrix}  a&b\\  c&d  \end{vmatrix}\cdot\begin{vmatrix}  p&q\\  r&s  \end{vmatrix},\end{aligned}

直至化簡完成後,我們才使用二階行列式計算公式。

 
接著考慮 3\times 3 階矩陣。仿造前面作法,可令

A=\begin{bmatrix}  a&b&c\\  d&e&f\\  g&h&i  \end{bmatrix},~~B=\begin{bmatrix}  p&q&r\\  s&t&u\\  v&w&x  \end{bmatrix}

然而,一想到乘開 AB 後的繁複矩陣恐怕會讓很多人落荒而逃。天下無難事,只怕有心人。我們不要被表象所蒙蔽了,關鍵其實在怎麼乘而已。行列式的英文是 determinant,意為「判定」,它的主要的功用之一在於判定矩陣是否可逆。大家有沒有想過:為甚麼 determinant 要譯成「行列式」呢?矩陣的日文是「行列」,「行列式」可能源自日文,意為「矩陣式」。行列式這個名詞提示了它所具備的上述三個性質 (P1-3) 全都建立於矩陣的行或列之上。計算行列式時,我們應該儘量以行或列為單位,而非中學時習慣使用的元。下面我採用以「行 (column)」作為運算單元的矩陣乘法 (見“矩陣乘法的現代觀點 (一)”)。寫出 A=[a_{ij}]B=[b_{ij}] 的行向量表達式:

A=\begin{bmatrix}  \mathbf{a}_1&\mathbf{a}_2&\mathbf{a}_3  \end{bmatrix},~~B=\begin{bmatrix}  \mathbf{b}_1&\mathbf{b}_2&\mathbf{b}_3  \end{bmatrix}

乘開 AB,即得

AB=A\begin{bmatrix}  \mathbf{b}_1&\mathbf{b}_2&\mathbf{b}_3  \end{bmatrix}=\begin{bmatrix}  A\mathbf{b}_1&A\mathbf{b}_2&A\mathbf{b}_3  \end{bmatrix}

其中

A\mathbf{b}_p=\begin{bmatrix}  \mathbf{a}_1&\mathbf{a}_2&\mathbf{a}_3  \end{bmatrix}\begin{bmatrix}  b_{1p}\\  b_{2p}\\  b_{3p}  \end{bmatrix}=b_{1p}\mathbf{a}_1+b_{2p}\mathbf{a}_2+b_{3p}\mathbf{a}_3,~~~p=1,2,3

利用前述三個行列式性質,詳細計算過程如下:

\displaystyle  \begin{aligned}  \det(AB)&=\begin{vmatrix}  &&\\  A\mathbf{b}_1&A\mathbf{b}_2&A\mathbf{b}_3\\  &&  \end{vmatrix}\\  &=\begin{vmatrix}  &&\\  \sum_{i=1}^3b_{i1}\mathbf{a}_i&\sum_{j=1}^3b_{j2}\mathbf{a}_j&\sum_{k=1}^3b_{k3}\mathbf{a}_k\\  &&  \end{vmatrix}\\  &=\sum_{i=1}^3\sum_{j=1}^3\sum_{k=1}^3\begin{vmatrix}  &&\\  b_{i1}\mathbf{a}_i&b_{j2}\mathbf{a}_j&b_{k3}\mathbf{a}_k\\  &&  \end{vmatrix}~~(\text{P1})\\  &=\sum_{i=1}^3\sum_{j=1}^3\sum_{k=1}^3b_{i1}b_{j2}b_{k3}\begin{vmatrix}  &&\\  \mathbf{a}_i&\mathbf{a}_j&\mathbf{a}_k\\  &&  \end{vmatrix}~~(\text{P1})\\  &=\sum_{(i,j,k)}b_{i1}b_{j2}b_{k3}\begin{vmatrix}  &&\\  \mathbf{a}_i&\mathbf{a}_j&\mathbf{a}_k\\  &&  \end{vmatrix}~~(\text{P2})\\  &=\sum_{(i,j,k)}b_{i1}b_{j2}b_{k3}\det P_{(i,j,k)}\begin{vmatrix}  &&\\  \mathbf{a}_1&\mathbf{a}_2&\mathbf{a}_3\\  &&  \end{vmatrix}~~(\text{P3})\\  &=(\det A)\sum_{(i,j,k)}b_{i1}b_{j2}b_{k3}\det P_{(i,j,k)}\\  &=(\det A)(\det B),\end{aligned}

上式中,(i,j,k) 代表數字 1,2,3 所能組成的六種可能序列 (因為 i, j, k 必須互異,方使行列式 \begin{vmatrix}  \mathbf{a}_i&\mathbf{a}_j&\mathbf{a}_k  \end{vmatrix} 不為零),P_{(i,j,k)} 是對應列排序為 (i,j,k) 的排列矩陣,即有 \det P_{(i,j,k)}=\det P^T_{(i,j,k)}=(-1)^pp 代表從 (i,j,k)(1,2,3) 所執行的置換運算次數。最後一個步驟使用了行列式計算公式──「排列公式」(見“行列式的運算公式與性質”)。

 
欲將上述 3\times 3 階矩陣證明方式推廣至 n\times n 階矩陣,只須把數字 3 改為 n,並在標記 2 和標記 n 的各項之間加入「\cdots」,最後再以長度等於 n 的序列 (i_1,i_2,\ldots,i_n) 替換 (i,j,k) 即可。

 
後記
一日課畢,二生趨前問道:「如何算得兩三階方陣之積其行列式同乎兩方陣行列式之積?望師示之。」聞罷,無語良久,余道:「此事非同小可,恐傷筋勞骨。他法義理分明,俯首拾得,爾等何以顧此失彼,存三階方陣乘法演算證行列式定理之念?」一生據實以答:「此乃日前吾輩之小考題也。本非所願,吾亦莫可奈何。」余問:「既然這般,汝等如何回答?」二生露愧色,齊曰:「無方,是以蠻力猛算耳。」生去,余自忖:「蠻力固可證之,惟不雅,莫道普天之下無良策乎?」遂枯索搜腸,思化繁為簡之術,越日終得此法,亦幸矣哉。

This entry was posted in 線性代數專欄, 行列式 and tagged , . Bookmark the permalink.

3 則回應給 矩陣乘積行列式公式的代數證法

  1. Watt Lin 說:

    看到這篇文章,以及先前的多篇,深深感覺到:
    老師您是線代領域中,傳道、授業、解惑的優良典範!
    如果其他學術領域,將來陸續有人建立類似的blog,會使學生們得到更好的學習效果!

    • ccjou 說:

      謝謝你的鼓勵。每每當我快撐不住時,想起許多讀者的支持,才又打起精神沖杯咖啡,繼續寫下去。

  2. suehang 說:

    数学论证,也要信达雅,老师是做到这一点了,学生呢?早年读过陕西师范大学罗增儒教授的,对此事略知一二,该书对数学解题的的长度,美感都做了分析,看了老师的后记.不禁想到此事.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s