1. 程式人生 > >線性代數之——對角化和 A 的冪

線性代數之——對角化和 A 的冪

利用特徵向量的屬性,矩陣 \(A\) 可以變成一個對角化矩陣 \(\Lambda\)

1. 對角化

假設一個 \(n×n\) 的矩陣 \(A\)\(n\) 個線性不相關的特徵向量 \(x_1,\cdots,x_n\) ,把它們作為特徵向量矩陣 \(S\) 的列,那麼就有 \(S^{-1}AS=\Lambda\)

矩陣 \(A\) 被對角化了,因為所有的特徵向量位於矩陣 \(\Lambda\)的對角線上。

證明過程也很簡單,首先我們計算 \(AS\)

一個技巧就是將 \(AS\) 分解成 \(S\Lambda\)

所以我們有

\[AS=S\Lambda \quad S^{-1}AS=\Lambda \quad A=S\Lambda S^{-1}\]

矩陣 \(S\) 有逆矩陣,因為我們假設它的列是 \(n\) 個線性不相關的特徵向量。如果沒有 \(n\) 個線性不相關的特徵向量,我們就不能進行對角化。

\(A=S\Lambda S^{-1}\) 可得,\(A^2=S\Lambda S^{-1}S\Lambda S^{-1} = S\Lambda^2 S^{-1}\),平方後我們得到\(S\) 中相同的特徵向量和 \(\Lambda\) 中平方的特徵值。同理,我們可以得到 \(k\) 次方為 \(A^k=S\Lambda^k S^{-1}\)

\(k=1\) 時,我們得到 \(A\).當 \(k=0\) 時,我們得到 \(A^0=I\)

。當 \(k=-1\) 時,我們得到 \(A^{-1}\)

再繼續往下進行之前,有幾點需要我們注意。

  • 如果特徵值 \(\lambda_1,\cdots,\lambda_n\) 全部都不相同,那麼自動地特徵向量 \(x_1,\cdots,x_n\) 就是線性不相關的。任意沒有重複特徵值的矩陣都可以被對角化。

證明:

假設 \(c_1x_1 + \cdots+c_nx_n = 0\),我們乘以矩陣 \(A\),有

\[\tag{1} c_1\lambda_1x_1 + \cdots+c_n\lambda_nx_n = 0\]

然後,乘以 \(\lambda_{n}\) 並減去上面的式子 (1),有

\[\tag{2} c_1\lambda_{n}x_1 + \cdots+c_n\lambda_{n}x_n = 0\]

\[\tag{3} c_1(\lambda_{n}-\lambda_1)x_1 + \cdots+c_{n-1}(\lambda_{n}-\lambda_1)x_{n-1} = 0\]

這會消去 \(x_n\),我們繼續用 (3) 式分別乘以 \(A\)\(\lambda_{n-1}\),再相減, \(x_{n-1}\) 就也被消去了。一直重複這個過程,最後,我們就只剩下了 \(x_1\)

\[\tag{4} c_1(\lambda_{n}-\lambda_1)(\lambda_{n-1}-\lambda_1)\cdots(\lambda_{2}-\lambda_1)x_1= 0\]

因為特徵值互不相同,因此有 \(c_1 = 0\),同理我們可得所有的係數都為 0,也即零空間只有零向量,所以這些特徵向量是線性不相關的。

  • 特徵向量乘以任意非零常數後,\(Ax = \lambda x\) 仍然成立。

  • 特徵向量在 \(S\) 中的順序和特徵值在 \(\Lambda\) 中的順序是一樣的,也就是特徵向量和特徵值必須一一對應。

在上面的例子中,如果我們互換特徵向量的順序,那麼 \(\Lambda\) 中特徵值的順序也要相應改變。

  • 一些矩陣沒有足夠的特徵向量,因此不能被對角化,特別是注意有重複特徵值的情況。

而且要注意,可逆性和可對角化性之間沒有聯絡。可逆性和是否存在零特徵值有關,而可對角化性和是否有足夠的特徵向量有關

2. 斐波那契數列

斐波那契序列滿足 \(F_{k+2} = F_{k+1} + F_{k}\)。為了找到 \(F_{100}\),我們可以從 \(F_{2}\) 開始,每次求出一個新的值,直至得到 \(F_{100}\)。線性代數則給出了一個更好的方法,我們將之轉化為 \(u_{k+1}=Au_k\) 的問題。

每一次我們都乘以矩陣 \(A\),100 次後我們就得到了 \(u_{100}=A^{100}u_0\)

這樣,我們就可以利用特徵值來求解了。

求解特徵方程,我們可以得到兩個特徵值分別為:

進而得到兩個特徵向量分別為:

\[x_1 = \begin{bmatrix}\lambda_1\\ 1\end{bmatrix} \quad x_2 = \begin{bmatrix}\lambda_2\\ 1\end{bmatrix}\]

然後我們將 \(u_0\) 表示為特徵向量的線性組合。

那麼就有

\[u_{100}=A^{100}u_0 = \frac{1}{\lambda_1 - \lambda_2}A^{100}(x_1-x_2) = \frac{\lambda_1^{100}x_1 - \lambda_2^{100}x_2}{\lambda_1 - \lambda_2}\]

上式中的第二項底數小於 0.5,因此會漸漸趨向於 0,也就是說隨著 \(n\) 增大逐漸只有第一項有效。

\[\frac{F_{101}}{F_{100}} \approx \frac{1+\sqrt{5}}{2}\approx 1.618\]

這個數字就是我們眾所周知的黃金比例。

3. \(A\) 的冪

斐波那契數列是一個典型的差分方程,每一步我們都乘以矩陣 \(A\)。下面我們來看一下對角化是怎麼來快速計算 \(A^k\) 的。

\[A^k u_0= (S\Lambda S^{-1})\cdots(S\Lambda S^{-1})u_0 = S\Lambda^{k} S^{-1}u_0\]

然後我們將 \(u_0\) 表示為特徵向量的線性組合

  • \[u_0 = c_1x_1+\cdots+c_nx_n \to u_0=Sc \to c = S^{-1}u_0\]

  • \[Au_0 = c_1Ax_1+\cdots+c_nAx_n =c_1\lambda_1x_1+\cdots+c_n\lambda_nx_n\]
  • \[A^ku_0 = c_1\lambda_1^kx_1+\cdots+c_n\lambda_n^kx_n = S\Lambda^kc\]

4. 不可對角化矩陣

特徵值 \(\lambda\) 可能會有重複情況,這時候我們想知道它的重複度(multiplicity),有兩種方法來計量。

  • 幾何重數(Geometric Multiplicity)與特徵值 \(\lambda\) 對應的線性不相關的特徵向量的個數
  • 代數重數(Algebraic Multiplicity)特徵值 \(\lambda\) 的重複次數,也就是 \(det(A-\lambda I)\) 的重根數

幾何重數小於等於代數重數。

幾何重數小於代數重數說明特徵向量數量不夠,也就是說 \(A\) 不能被對角化。

5. \(AB\)\(A+B\) 的特徵值

讓我們來猜一猜 \(AB\) 的特徵值是多少?

你可能會說是它們各自特徵值的積。

\[ABx = A\beta x = \beta Ax=\beta\lambda x\]

但是,通常情況下 \(A\)\(B\) 的特徵向量是不相同的,因此上面的證明是錯誤的。同樣,兩個矩陣各自特徵值的和也通常不是兩個矩陣和的特徵值。

但是,如果 \(x\) 同時是 \(A\)\(B\) 的特徵向量。那麼有

\[ABx = \lambda\beta x = BAx \to AB = BA\]

因此,如果 \(A\)\(B\) 都可以被對角化,它們擁有相同的特徵向量當且僅當 \(AB=BA\)

獲取更多精彩,請關注「seniusen」!