1 基本定義
設 A 為 n 階方陣,若存在數 λ 和非零向量 x,使得:
則稱 λ 是 A 的一個特征值,x 為 A 的對應於特征值 λ 的特征向量。
先有一個直觀的印象:可以把矩陣看做是運動,特征值就是運動的速度,特征向量就是運動的方向。
注意,由於矩陣是數學概念,非常抽象,所以上面所謂的運動、運動的速度、運動的方向都是廣義的,在現實不同的應用中有不同的指代。
2 幾何意義
因為線性變換總是在各種基之間變來變去,所以下面都會把作圖所用的基和原點給畫出來。
在下面有個
:
隨便左乘一個矩陣 A,圖像看上去沒有什么特殊的:
調整下的方向,圖像看上去有點特殊了:
可以觀察到,調整后的 和
在同一根直線上,只是
的長度相對
的長度變長了。
此時,我們就稱 是
的特征向量,而
的長度是
的長度的
倍,
就是特征值。
從而,特征值與特征向量的定義式就是這樣的:
其實之前的 A 不止一個特征向量,還有一個特征向量:
容易從相對於
是變長了還是縮短看出,這兩個特征向量對應的特征
值,一個大於1,一個小於1。
從特征向量和特征值的定義式還可以看出,特征向量所在直線上的向量都是特征向量:
可以嘗試改變 的位置,以及矩陣 A 的值 (特征空間會隨着矩陣改變而改變) 。有些值構成的矩陣沒有畫出特征空間,可能是因為它的特征值、特征向量是復數,也可能是不存在。
運動需要附加到具體的事物上才能觀察,要觀察矩陣所代表的運動,需要把它附加到向量上,可以把二維向量可以看作平面上的一個點:
似乎還看不出什么。但是如果反復運用矩陣乘法的話:
反復運用矩陣乘法,矩陣所代表的運動的最明顯的特征,即速度最大的方向,就由最大特征值對應的特征向量展現了出來。順便說下,對於復數的特征值、特征向量可以觀察到反復運用矩陣乘法的結果是圍繞着原點在旋轉,這里就不展開來說了。
3 相似矩陣
相似矩陣的定義是:設 A,B 都是 n 階矩陣,若有可逆矩陣 P,使 P-1AP = B ,則稱 B 是 A 的相似矩陣,或說 A 和 B 相似。
這部分內容會涉及到矩陣乘法的知識,可以參考:如何理解矩陣乘法。可以了解到,矩陣是一種線性變換函數,這種線性變換是通過指定基下的矩陣 A 來表示的。
相似矩陣就是,同一個線性變換,不同基下的矩陣。
先上一張圖,說明不同基下的矩陣的變換思路:
其中有兩個基:V1 和 V2。V1 → V2,可以通過 P-1 轉換;V2 → V1,可以通過 P 轉換。
整個轉換的核心,就是上圖正中的文字:
是 V2 下的點,
通過 P 變為 V1 下的點,即
;在 V1 下,通過 A 矩陣完成線性變換,即
,通過 P-1 從變回 V2 下的點,即
。
綜上,我們有:
可以認為:
那么 B 和 A 互為相似矩陣。
為什么我們需要相似矩陣呢?比如這個 A 矩陣:
可以這樣分解:
B 就是對角矩陣,看上去就很清爽,所以說相似變換就是坐標轉換,轉換到一個更方便計算的簡單坐標系。
4 特征值分解
我們知道,對於矩陣 A 可以對角化的話,可以通過相似矩陣進行下面這樣的特征值分解:
其中 Λ 為對角陣,P 的列向量是單位化的特征向量。(可以用定義推導出來)
拿個具體的例子來講:
對於方陣而言,矩陣不會進行緯度的升降,所以矩陣代表的運動實際上只有兩種:旋轉和拉伸。最后的運動結果就是這兩種的合成。
我們再回頭看下剛才的特征值分解,實際上把運動給分解開了:
我們來看看在幾何上的表現是什么,因此相似矩陣的講解涉及到基的變換,所以大家注意觀察基:
左乘 P :
如果旋轉前的基不正交,旋轉之后變為了標准基,那么實際會產生伸縮,所以之前說的正交很重要。
繼續左乘對角矩陣 Λ :
左乘 P-1 :
- 特征值就是拉伸的大小
- 特征向量指明了拉伸的方向
回到我們之前說的運動上去,特征值就是運動的速度,特征向量就是運動的方向,而其余方向的運動就由特征向量方向的運動合成。所以最大的特征值對應的特征向量指明了運動速度的最大方向。
但是,重申一下,上面的推論有一個重要的條件,特征向量正交,這樣變換后才能保證變換最大的方向在基方向。如果特征向量不正交就有可能不是變化最大的方向。所以我們在實際應用中,都要去找正交基。但是特征向量很可能不是正交的,那么我們就需要奇異值分解了,這里就不展開了。
5 應用
圖片壓縮:例如,有下面這么一副 512 × 512 的圖片 (方陣才有特征值,所以找了張正方形的圖) :
這個圖片可以放到一個矩陣里面去,就是把每個像素的顏色值填入到一個 512 × 512 的 A 矩陣中。
根據之前描述的有:
其中,Λ 是對角陣,對角線上是從大到小排列的特征值。
我們在 Λ 中只保留前面50個的特征值 (也就是最大的50個,其實也只占了所有特征值的百分之十) ,其它的都填0,重新計算矩陣后,恢復為下面這樣的圖像:
效果還可以,其實一兩百個特征值之和可能就占了所有特征值和的百分之九十了,其他的特征值都可以丟棄了。
主要參考:如何理解相似矩陣?、如何理解矩陣特征值和特征向量?