可對角化矩陣與缺陷矩陣的判定

本文的閱讀等級:中級

矩陣的對角化 (diagonalization) 是特徵分析在簡化矩陣運算上的一個重要應用 (見“矩陣函數 (上)”)。令 A 為一個 n\times n 階矩陣。若存在一個 n\times n 階可逆矩陣 S 使得 S^{-1}AS=D,其中 D 是對角矩陣,我們稱 A 是可對角化矩陣 (diagonalizable matrix),SA 的對角化矩陣 (diagonalizing matrix)。如果不存在滿足上述條件的 S,則稱 A 是不可對角化矩陣。本文介紹可對角化矩陣的判定方法,透過探討此主題讀者可以深入理解矩陣特徵分析的概念與操作。

 
我們從矩陣特徵分析開始。令 \lambdaA 的一個特徵值,對應的特徵向量 \mathbf{x} 滿足特徵方程 A\mathbf{x}=\lambda\mathbf{x}。注意,雖然 \mathbf{x}=\mathbf{0} 滿足上式,但為了使事情有趣,我們不允許特徵向量為零向量。將特徵方程改寫為 (A-\lambda I)\mathbf{x}=\mathbf{0},由此展開一連串關於特徵值和特徵向量性質與計算方法的推理:

  1. 對於特徵值 \lambdaA-\lambda I 的零空間 (nullspace) 必定包含非零向量 (否則便不存在非零特徵向量),亦即 N(A-\lambda I)\neq\{\mathbf{0}\},說明 A-\lambda I 是一個不可逆矩陣。行列式給出一個簡單的檢查公式 \mathrm{det}(A-\lambda I)=0,於是我們定義 n 階方陣 A 的特徵多項式 (characteristic polynomial) 為

    p(t)=\mathrm{det}(A-tI)

    特徵值 \lambda 即為 p(t) 的根。將此 n 階行列式展開,可確認 p(t)n 次多項式。根據代數基本定理,n 次多項式 p(t) 恰有 n 個根,也就是說,包含重根在內,An 個特徵值。

  2. 針對一個特徵值 \lambda,不論是否為單根或重根,對應的特徵向量必定屬於 N(A-\lambda I),我們稱它為對應 \lambda 的特徵空間 (eigenspace)。所以特徵向量與特徵空間彼此關係的精確描述是:特徵空間中的非零向量都是特徵向量。

 
\lambda_in\times n 階矩陣 A 的特徵值 (包含相重特徵值),對應的特徵向量為 \mathbf{x}_ii=1,\ldots,n。寫出 n 個特徵方程,

A\mathbf{x}_i=\lambda_i\mathbf{x}_i,~~i=1,\ldots,n

將方程組合併為矩陣形式,如下:

\begin{aligned}  A\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_n    \end{bmatrix}&=\begin{bmatrix}    A\mathbf{x}_1&\cdots&A\mathbf{x}_n    \end{bmatrix}\\  &=\begin{bmatrix}    \lambda_1\mathbf{x}_1&\cdots&\lambda_n\mathbf{x}_n    \end{bmatrix}\\    &=\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_n    \end{bmatrix}\begin{bmatrix}    \lambda_1&~&~\\    ~&\ddots&~\\    ~&~&\lambda_n    \end{bmatrix}.\end{aligned}

n\times n 階特徵向量矩陣 S=\begin{bmatrix}    \mathbf{x}_1&\cdots&\mathbf{x}_n    \end{bmatrix}\Lambda 是特徵值構成的對角矩陣,即 \Lambda=\mathrm{diag}(\lambda_1,\ldots,\lambda_n)。特徵方程的矩陣表達式即為 AS=S\Lambda。若 An 個線性獨立的特徵向量,則 S 是可逆的,A 可分解為 A=S\Lambda S^{-1},或者說 S 對角化 AS^{-1}AS=\Lambda;反之,如果 A 不具有 n 個完整的線性獨立特徵向量,則 S 是不可逆的,故無法對角化 A。從 A 的特徵值是否足以判定它具有完整獨立的特徵向量呢?這個問題僅存在部分答案,下面分開兩種情況討論:(1) A 的特徵值兩兩相異,(2) A 有相重的特徵值。

 
定理 1. 若 A 的特徵值兩兩相異,則 A 有完整的線性獨立特徵向量。

我們用歸納法證明此定理 (其他證法請見“相異特徵值對應線性獨立的特徵向量之簡易證明”)。對於 i\neq j\lambda_i\neq\lambda_j,考慮線性組合式

c_i\mathbf{x}_i+c_j\mathbf{x}_j=\mathbf{0}

上式通乘 A,並代入特徵方程:

A(c_i\mathbf{x}_i+c_j\mathbf{x}_j)=c_iA\mathbf{x}_i+c_jA\mathbf{x}_j=c_i\lambda_i\mathbf{x}_i+c_j\lambda_j\mathbf{x}_j=\mathbf{0}

令線性組合式乘以 \lambda_i,再與上式相減,可得

c_j(\lambda_j-\lambda_i)\mathbf{x}_j=\mathbf{0}

因為 \mathbf{x}_j\neq\mathbf{0}\lambda_i\neq\lambda_j,推知 c_j=0。將乘數 \lambda_i 替換為 \lambda_j,以同樣方法可證得 c_i=0。這說明了對應兩相異特徵值的兩個特徵向量必為線性獨立。接下來,考慮包含三個向量的線性組合式

c_i\mathbf{x}_i+c_j\mathbf{x}_j+c_k\mathbf{x}_k=\mathbf{0}

執行前述推導步驟,將上式通乘 A 並代入特徵方程,可得

c_i\lambda_i\mathbf{x}_i+c_j\lambda_j\mathbf{x}_j+c_k\lambda_k\mathbf{x}_k=\mathbf{0}

上式減去線性組合式與 \lambda_i 的乘積,整理後為

c_j(\lambda_j-\lambda_i)\mathbf{x}_j+c_k(\lambda_k-\lambda_i)\mathbf{x}_k=\mathbf{0}

利用前述結果,對應兩相異特徵值的特徵向量是線性獨立的,故 c_j(\lambda_j-\lambda_i)=c_k(\lambda_k-\lambda_i)=0,推得 c_j=c_k=0。重複同樣過程也可以證明 c_i=0,因此 \mathbf{x}_i\mathbf{x}_j\mathbf{x}_k 是線性獨立。推廣至 n 個相異特徵值,可歸納出所有 n 個特徵向量也形成線性獨立集。

 
第二種情況比較複雜,當 A 有相重特徵值時,A 可能是可對角化,也可能是不可對角化。見下例,考慮

A=\left[\!\!\begin{array}{ccr}    2&1&1\\    0&1&-1\\    0&0&2    \end{array}\!\!\right],~B=\begin{bmatrix}    2&1&1\\    0&1&1\\    0&0&2    \end{bmatrix}

三角矩陣的特徵值即為其主對角元,所以 AB 的特徵值同為 \lambda=1,2,2。對於 \lambda=1A 有特徵向量 \left[\!\!\begin{array}{r}    -1\\    1\\    0    \end{array}\!\!\right],對於 \lambda=2A 有兩個獨立的特徵向量 \begin{bmatrix}    1\\    0\\    0    \end{bmatrix}\left[\!\!\begin{array}{r}    0\\    -1\\    1    \end{array}\!\!\right],所以 A 是可對角化的,如下:

A=\left[\!\!\begin{array}{rcr}    -1&1&0\\    1&0&-1\\    0&0&1    \end{array}\!\!\right]\begin{bmatrix}    1&0&0\\    0&2&0\\    0&0&2    \end{bmatrix}\left[\!\!\begin{array}{rcr}    -1&1&0\\    1&0&-1\\    0&0&1    \end{array}\!\!\right]^{-1}

對於 \lambda=1B 有特徵向量 \left[\!\!\begin{array}{r}    -1\\    1\\    0    \end{array}\!\!\right],對於 \lambda=2B 僅有一個特徵向量 \begin{bmatrix}    1\\    0\\    0    \end{bmatrix}\mathrm{dim}{N}(B-2I)=1<2,總計 B 只有兩個獨立特徵向量,因此不存在可逆對角化矩陣 SB 是不可對角化的。

 
上面這個例子很自然地引伸出一些有用的概念。對於 n 階方陣,特徵值 \lambda 為特徵多項式 p(t) 的根,我們稱重根數目為代數重數 (algebraic multiplicity)。對應特徵值 \lambda 的特徵空間維數,\mathrm{dim}{N}(A-\lambda I),亦即所能找到最大線性獨立向量個數,則稱為 \lambda 的幾何重數 (geometric multiplicity)。代數重數和幾何重數有兩個極具意義的性質:(1) 因為特徵多項式 p(t) 共有 n 個根,所有相異特徵值的代數重數之和也等於 n;(2) 對於任一特徵值 \lambda,幾何重數必定不大於其代數重數。由於證明較為冗長,我們留待本文最末再詳細解說。如果某一個特徵值的幾何重數小於其代數重數,我們稱此方陣為缺陷 (defective) 矩陣。上例中,A 不是缺陷矩陣,但 B 是缺陷矩陣。

 
定理 2. 方陣 A 是可對角化的一個充要條件為對於每一個特徵值 \lambda,代數重數等於幾何重數,換句話說,不可對角化矩陣同義於缺陷矩陣。

證明於下。假設 n 階方陣 A 是可對角化的,則 An 個線性獨立的特徵向量。設特徵值 \lambda 的代數重數為 k,一定存在可逆矩陣 S 可將 A 對角化為

S^{-1}AS=\begin{bmatrix}    \lambda I_k&0\\    0&D    \end{bmatrix}

\lambda 不為 (n-k) 階對角矩陣 D 的特徵值,故 D-\lambda I 是可逆矩陣。考慮

A-\lambda I=S\begin{bmatrix}    0&0\\    0&D-\lambda I    \end{bmatrix}S^{-1}

因為可逆矩陣乘法不改變矩陣秩,就有

\mathrm{rank}(A-\lambda I)=\mathrm{rank}\begin{bmatrix}    0&0\\    0&D-\lambda I    \end{bmatrix}=\mathrm{rank}(D-\lambda I)=n-k

利用秩—零度定理,

\mathrm{dim}{N}(A-\lambda I)=n-\mathrm{rank}(A-\lambda I)=n-(n-k)=k

特徵值 \lambda 的幾何重數 \mathrm{dim}{N}(A-\lambda I) 確實等於代數重數 k。再來證明相反方向陳述。假設 n 階方陣 Am 個相異特徵值 \lambda_ii=1,\ldots,m,其幾何重數都等於代數重數,以 \beta_i 表示。顯然,特徵向量總數為 \sum_{i=1}^m \beta_i=n,剩下來只要證明所有這 n 個特徵向量是線性獨立的。主要的理由有二:(1) 對應特徵值 \lambda_i\beta_i 個特徵向量是線性獨立的,因為這 \beta_i 個特徵向量為特徵空間 {N}(A-\lambda_iI) 的基底向量;(2) 對應兩相異特徵值 \lambda_i\neq\lambda_j 的特徵空間不交集,N(A-\lambda_iI)\cap N(A-\lambda_jI)=\{\mathbf{0}\},這指出對應 \lambda_i 的特徵向量 (屬於 {N}(A-\lambda_iI)) 和對應 \lambda_j 的特徵向量 (屬於 {N}(A-\lambda_jI)) 是線性獨立的。所以 A 有完整的 n 個線性獨立特徵向量。

 
最後補充說明對於每一個特徵值 \lambda,它的幾何重數必不大於代數重數。例如,4 階方陣 A 有兩組重數為 2 的特徵值 \lambda=4,4,5,5,不可能發生以下狀況:\mathrm{dim}{N}(A-4I)=1,而 \mathrm{dim}{N}(A-5I)=3,亦即有一個獨立特徵向量對應特徵值 4,但有三個獨立特徵向量對應特徵值 5。基礎線性代數教科書常視此性質為理所當然,下面提供一個嚴格的證明[1]。設 n 階方陣 A 的特徵值 \lambda 其幾何重數為 k,亦即特徵空間 {N}(A-\lambda I) 包含 k 個線性獨立向量 \mathbf{y}_i 滿足 A\mathbf{y}_i=\lambda\mathbf{y}_ii=1,\ldots,k。將此向量集擴充為 \mathbb{R}^n (或 \mathbb{C}^n) 的一組基底 \mathbf{y}_1,\ldots,\mathbf{y}_k,\mathbf{y}_{k+1},\ldots,\mathbf{y}_n (詳細演算法請見“每週問題 April 26, 2010”),並建立可逆矩陣 S=\begin{bmatrix}    \mathbf{y}_1&\cdots&\mathbf{y}_n    \end{bmatrix}。計算

\begin{aligned}  AS&=A\begin{bmatrix}    \mathbf{y}_1&\cdots&\mathbf{y}_k&\mathbf{y}_{k+1}&\cdots&\mathbf{y}_n    \end{bmatrix}\\    &=\begin{bmatrix}    \lambda\mathbf{y}_1&\cdots&\lambda\mathbf{y}_k&A\mathbf{y}_{k+1}&\cdots&A\mathbf{y}_n    \end{bmatrix}\\    &=\begin{bmatrix}    \mathbf{y}_1&\cdots&\mathbf{y}_k&\mathbf{y}_{k+1}&\cdots&\mathbf{y}_n    \end{bmatrix}\begin{bmatrix}    \lambda I_k&B\\    0&C    \end{bmatrix}\\  &=S\begin{bmatrix}    \lambda I_k&B\\    0&C    \end{bmatrix},\end{aligned}

上式中 \begin{bmatrix}    B\\    C    \end{bmatrix}=S^{-1}A\begin{bmatrix}    \mathbf{y}_{k+1}&\cdots&\mathbf{y}_n    \end{bmatrix}。令

F=S^{-1}AS=\begin{bmatrix}    \lambda I_k&B\\    0&C    \end{bmatrix}

方陣 F 相似於 A,兩矩陣有相同的特徵多項式 (見“相似變換下的不變性質”)。方陣 F 的特徵多項式為

\begin{aligned}  p(t)&=\mathrm{det}(F-tI)\\  &=\mathrm{det}\left(\begin{bmatrix}    \lambda I_k&B\\    0&C    \end{bmatrix}- t\begin{bmatrix}    I_k&0\\    0&I_{n-k}    \end{bmatrix}\right)\\    &=\mathrm{det}\left(\begin{bmatrix}    (\lambda-t)I_k&B\\    0&C-tI_{n-k}    \end{bmatrix}\right).\end{aligned}

分塊上三角矩陣的行列式為主對角分塊行列式的乘積 (參閱“利用分塊矩陣證明 det(AB)=(det A)(det B)”),所以

\begin{aligned}  p(t)&=\det((\lambda-t)I_{k})\cdot\det(C-tI_{n-k})\\  &=(\lambda-t)^{k}\det(C-tI_{n-k}).\end{aligned}

上式指出 A 的特徵多項式有至少 k 次重根 \lambda,故 \lambda 的幾何重數必不大於代數重數。(另一個採用 Schur 定理的證明見“幾何重數不大於代數重數的證明”,或直接用定義來證明,見“特徵值的代數重數與幾何重數”。)

 
參考來源:
[1] Thomas S. Shores, Applied Linear Algebra and Matrix Analysis, 2007.

相關閱讀:
Advertisements
本篇發表於 特徵分析, 線性代數專欄 並標籤為 , , , , , 。將永久鏈結加入書籤。

4 則回應給 可對角化矩陣與缺陷矩陣的判定

  1. jmbong 說道:

    周老师,您好,有几个问题确实想不明白了,向您请教一下,其中第一和第二个问题,我想到了答案,但不知对否?剩下的两个就全然不知该怎么弄了。
    1、如何手工构造一个非缺陷矩阵A,要求A具有n个相异特征值?只要找一组基S,再指定n个彼此不同的特征值组成一个对角阵W,S*W*(S逆)即为所求的非缺陷矩阵A。

    2、如何手工构造一个非缺陷矩阵A,要求A的某个特征值的代数重数是3,且它对应的特征空间的维数也是3?这个也比较容易,在问题1的基础上,只要把某个特征值重复3次就可以了。

    3、如何构造一个缺陷矩阵B,要求B的某个特征值的代数重数是4,但它所对应特征空间的维数只有2?

    4、我知道,矩阵分病态矩阵和良态矩阵,但不是绝对的只有两类,就像音量从大到小是连续的一样,矩阵的态性从良态到病态通过“条件数”这个参数也可以连续变化。不恰当地类推一下,缺陷矩阵和非缺陷矩阵之间是否也可以连续过渡?
    怎么过渡?

    • ccjou 說道:

      問題1,2可藉由對角化解決,這是對的。

      問題3,4涉及Jordan form,我再另文解說。這裡先簡單回答。問題3,下為二例,\begin{bmatrix} 3&1&0&0\\ 0&3&0&0\\ 0&0&3&1\\ 0&0&0&3 \end{bmatrix}\begin{bmatrix} 3&0&0&0\\ 0&3&1&0\\ 0&0&3&1\\ 0&0&0&3 \end{bmatrix}

      問題4,缺陷矩陣和非缺陷矩陣不存在連續過渡,因為特徵空間維數(即幾何重數)並非矩陣各元的連續函數。例如,若 \epsilon>0\begin{bmatrix} 1&\epsilon\\ 0&1 \end{bmatrix} 僅有一個特徵向量 \begin{bmatrix} 1\\ 0 \end{bmatrix}。當 \epsilon=0\begin{bmatrix} 1&0\\ 0&1 \end{bmatrix} 的特徵向量為 \begin{bmatrix} 1\\ 0 \end{bmatrix}\begin{bmatrix} 0\\ 1 \end{bmatrix}

  2. jmbong 說道:

    非常感谢周老师如此神速的解答!
    关于第3个问题,是跟Jordan块的个数有关?
    关于第4个问题,我没有说清楚,我真正想说的是,类似连续的那种效果,可能说离散更贴切些,比如修改对角阵上的某个数,那么第1个问题里面的矩阵即可变成第2个问题里面的矩阵,接着再怎么修改一个数或者少数几个数可以变成第三个问题里面的病态矩阵呢?这种该法是否存在?

發表迴響

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

WordPress.com Logo

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

Twitter picture

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

Facebook照片

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

Google+ photo

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

連結到 %s