如何檢查兩矩陣是否相似

本文的閱讀等級:初級

ABn\times n 階矩陣,若存在可逆矩陣 M 使得 A=MBM^{-1},我們稱 A 相似於 B。相似矩陣的意義是若以矩陣 M 的行向量 (column vector) 作為基底向量,線性變換 A 參考此基底的變換矩陣即為 B。給定兩個同階方陣,要如何判定他們是否相似?這個問題等價於是否存在可逆矩陣 M 滿足 AM=MB。如果不運用相似矩陣的性質,我們可以單純地將此問題視為求解矩陣方程式。表面上,欲解出 n\times n 階矩陣 M,我們必須應付一個包含 n^2 個未知數的齊次方程組 (參見“每週問題 May 11, 2009”)。

 
那麼何不試試利用相似矩陣的性質來解決這個問題?兩個相似矩陣最重要的不變量是其特徵值相同 (包含相重特徵值)。證明直截了當,考慮特徵方程 A\mathbf{x}=\lambda\mathbf{x},代入相似關係式就有

MBM^{-1}\mathbf{x}=\lambda\mathbf{x}

同時左乘 M^{-1} 可得

BM^{-1}\mathbf{x}=\lambda M^{-1}\mathbf{x}

說明 B 也有與 A 相同的特徵值 \lambda,但 B 的特徵向量為 M^{-1}\mathbf{x}。另一個證明直接計算特徵多項式,

\begin{aligned}  p_A(t)&=\det(A-tI)=\det(MBM^{-1}-tI)\\  &=\det(M(B-tI)M^{-1})=(\det M)(\det(B-tI))(\det M)^{-1}\\  &=\det(B-tI)=p_B(t)  \end{aligned}

 
利用上述性質的反向陳述,若 AB 有相異的特徵值集合,則 A 不相似於 B。例如,上三角矩陣 A 有特徵值 1,2,3,而 B 有特徵值 0,2,3,因此這兩個矩陣並不相似:

A=\begin{bmatrix}    1&1&1\\    0&2&1\\    0&0&3\end{bmatrix},~ B=\begin{bmatrix}    0&1&0\\    0&2&1\\    0&0&3\end{bmatrix}

 
AB 有相同的特徵值集合時,我們需利用其他條件來檢查相似關係。最直接的作法是引入一個對角矩陣,設 \Lambda 為對角矩陣,其主對角元即為 A (也是 B) 的特徵值。接著,再根據對角化性質區分三種情形:

  1. AB 皆可對角化;
  2. AB 恰有一個矩陣可對角化;
  3. AB 皆不可對角化。

 
第一種情形,若 AB 皆可對角化,設 A=S\Lambda S^{-1}B=T\Lambda T^{-1},矩陣 AB 都相似於對角矩陣 \Lambda。將第二式寫為 \Lambda=T^{-1}BT,以此式代入第一式便有

A=ST^{-1}BTS^{-1}=ST^{-1}B(ST^{-1})^{-1}

得知 A 相似於 B。如下例,A 有相異的特徵值 1,2,3,所以必為可對角化,B 亦同:

A=\begin{bmatrix}    1&1&1\\    0&2&1\\    0&0&3\end{bmatrix},~ B=\begin{bmatrix}    1&0&0\\    0&2&1\\    0&0&3\end{bmatrix}

 
第二種情形,假設 B 可對角化,但 A 不可對角化。因此,B 相似於對角矩陣 \Lambda,而 A 則否。根據相似關係的傳遞性質,推論 A 不相似於 B (否則 A 將相似於 \Lambda,這違背 A 為不可對角化矩陣的假設)。如下例,B 已經是對角形式,A 有特徵值 2,3,3,但不可對角化:

A=\begin{bmatrix}    2&1&1\\    0&3&1\\    0&0&3\end{bmatrix},~ B=\begin{bmatrix}    2&0&0\\    0&3&0\\    0&0&3\end{bmatrix}

 
第三種情形,AB 都不可對角化。一時間或許看不出什麼具體結果,不妨找些例子試驗。考慮下例:

A=\begin{bmatrix}    0&1&1\\    0&0&1\\    0&0&0\end{bmatrix},~ B=\begin{bmatrix}    0&1&0\\    0&0&1\\    0&0&0\end{bmatrix}

將矩陣 M 以其行向量表示 M=\begin{bmatrix}    \mathbf{m}_1&\mathbf{m}_2&\mathbf{m}_3\end{bmatrix},那麼代表相似性質的矩陣方程式可寫為

A\begin{bmatrix}    \mathbf{m}_1&\mathbf{m}_2&\mathbf{m}_3\end{bmatrix}=\begin{bmatrix}    \mathbf{m}_1&\mathbf{m}_2&\mathbf{m}_3\end{bmatrix}B

為了避免直接求解 9\times 9 階系統,我們將 B 的數值代入,並展開為三個標準形式的方程式:

\begin{aligned}  A\mathbf{m}_1&=\mathbf{0}\\    A\mathbf{m}_2&=\mathbf{m}_1\\    A\mathbf{m}_3&=\mathbf{m}_2\end{aligned}

接著逐一找出各未知向量的解,讀者可自行檢查以下的一組解是線性獨立的,因此 M 是可逆的:

\mathbf{m}_1=\begin{bmatrix}    1\\    0\\    0\end{bmatrix},~\mathbf{m}_2=\begin{bmatrix}    0\\    1\\    0\end{bmatrix},~\mathbf{m}_3=\left[\!\!\begin{array}{r}    0\\    -1\\    1\end{array}\!\!\right]

此例的矩陣 A 相似於 B

 
再考慮下面這個例子,同樣地,AB 都是不可對角化:

A=\begin{bmatrix}    0&1&2\\    0&0&1\\    0&0&0\end{bmatrix},~ B=\begin{bmatrix}    0&0&1\\    0&0&0\\    0&0&0\end{bmatrix}

矩陣 M 的行向量必須滿足

\begin{aligned}  A\mathbf{m}_1&=0\mathbf{m}_1\\    A\mathbf{m}_2&=0\mathbf{m}_2\\    A\mathbf{m}_3&=\mathbf{m}_1\end{aligned}

注意,矩陣 A 僅有一線性獨立特徵向量,\mathbf{m}_1\mathbf{m}_2 因此相依,故 M 不為可逆矩陣,此例的 AB 並不相似。

 
綜合前述分析,我們將結果整理於下:

AB 的特徵值相異,則 AB 不相似。若 AB 有相同的特徵值,考慮下列三種可能情況:

  1. AB 都可對角化時,A 相似於 B
  2. AB 恰有一個矩陣可對角化,AB 不相似。
  3. AB 都不可對角化時,可以透過解方程式一途來確定兩個矩陣是否相似。要徹底解決如何檢查矩陣是否相似此問題,必須使用其他進階方式,有興趣的讀者請閱讀“Jordan 典型形式淺說 (上)”和“Jordan 形式大解讀 (上)”。
Advertisements
本篇發表於 特徵分析, 線性代數專欄 並標籤為 , 。將永久鏈結加入書籤。

1 則回應給 如何檢查兩矩陣是否相似

  1. 林冬晖 說道:

    感谢,解说得很好

發表迴響

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

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s