矩陣的特徵:特徵值,特徵向量,行列式,trace
「eigen」在德語里的意思是「自身的」,「固有的」,在我們漢語里把它翻譯成「特徵」;無論德語還是漢語,都表達出了特徵值跟特徵向量其實是一個矩陣內在的,獨有的東西。特徵值跟特徵向量是定義在方陣上的,為了方便通過圖表描述,我們從最簡單的2*2方陣入手:把方陣理解成二維平面上的一個映射,平面上任意一個向量都可以被映射成一個新的向量,畫在圖上就是
對比著倆圖可以發現,對於一個固定的矩陣A,一般的向量被他transform之後都會改變方向,但是有一些特殊的向量,被A映射了之後還是保持它本來的方向,改變的只是它的模長。這些特殊向量的方向不變性表達出來就是這樣的:
等式的右邊,v表示向量原本的方向,表示向量模長的變化。特徵向量的定義就是這些特殊的向量。那麼特徵向量究竟有什麼好處呢?假設現在有個場景,我們需要把一個向量給transform 100次,也就是計算一下。最簡單粗暴的辦法是直接計算100次矩陣乘法;稍微聰明一點的方法是先計算序列,這樣只要十幾次次矩陣乘法就能搞定;不過最方便的還是要從特徵值跟特徵向量入手。假設v是A的特徵向量,並且能滿足上面這個式子,於是有
可以發現如果v是特徵向量,就不需要計算任何矩陣乘法了,只需要計算十幾次乘法就行了。其實對於任意向量,我們仍然可以從特徵向量入手,w可以由A的特徵向量線性組成而成:
這樣來看,特徵向量會大幅簡化某些矩陣運算,那麼要如何計算特徵向量呢?從特徵向量的定義出發:
從這個方程里,我們不但需要得到v,也需要得到。把原問題轉化成方程(1)之後,可以發現方程(1)沒有常數項,以二維為例可以把(1)寫成:
這個方程組想要有非零解,必須得滿足 也就是 (a,c) 跟 (b,d) 共線。也就是教科書上說的矩陣A不滿秩(p.s. 方陣的秩定義為矩陣中線性不相關的行跟列的個數)。教科書上還告訴我們不滿秩的充要條件是矩陣的行列式等於零。矩陣的秩的概念比較容易理解,行列式卻沒有這麼直觀。其實 determinant 這個單詞被翻譯為行列式個人認為不是很傳神,感覺 determinant 也需要一個帶點「特徵」含義的中文名。
與矩陣的秩相似,行列式也是一個數值。還是把矩陣當成一個映射,那麼 (0, 1) 跟 (1, 0) 這對基可以被映射成 ,如圖所示,那麼矩陣A的行列式就被定義為由 這兩個向量延伸出來的平行四邊形的面積:
用這種方式讓一個矩陣跟一個數值產生關係簡直是神來之筆。更神奇的是這樣做,特徵值,特徵向量,行列式就關聯起來了。不滿秩要求行列式為零,那麼什麼時候一個平行四邊形的面積會變成0呢?可以發現,當 這倆向量平行的時候,就沒什麼平行四邊形了,平面上就只剩下了一條線段:
什麼樣的矩陣會產生這種效果呢?對於二維矩陣來說,只要它的兩個行向量共線就可以。重新理一下我們現在的邏輯線條:想讓方程組(1)有非零解,必須讓它的行向量共線,想讓行向量共線,只需要A的行列式為零;二維矩陣的行列式等於平行四邊形的面積,三維矩陣的行列式對應的是平行六面體的體積....更高維度上也可以延伸出同樣的類似於「體積」的定義。
那麼面積要怎麼算呢?還是以二維平面為例,兩個向量構成的平行四邊形的面積可以由下面這個公式計算 (粉紅的圖片來自維基百科)
令這個計算面積的公式等於零:這個方程就是課本上的特徵方程,方程的解就是特徵值。特徵方程的解也可以寫成這種形式:
方程(2)跟方程(3)必須是一回事。觀察一下這倆方程,可以發現(2)的常數項是 ; 方程(3)的常數項是 。結合前面講的矩陣A的行列式(平行四邊形的面積)可以發現:;對,這不是巧合,實際上在任意維度的矩陣上同樣可以證明也就是行列式等於特徵值的乘積。到此為止,這哥三通過各種神來之筆被聯繫在了一起,下面我們再來分析下兩種特殊的矩陣對應的這三個值。讓我們回去看看 ,在這個式子中,如果,那麼經過多次迭代, ;如果, 那麼。於是,當且僅當的時候經過多次迭代,還能剩下一個穩定的向量。這個性質是不是有點似曾相識?沒錯,馬爾科夫鏈的概率轉移矩陣就是這樣的矩陣。在馬爾科夫鏈中,經過足夠多次跳轉之後,狀態分布趨向一個穩定的值。馬爾科夫鏈的概率轉矩陣需要滿足的條件是:每一行都滿足行元素之和為1。相反方向也同樣成立:如果一個矩陣滿足每一行的元素之和都是1,那麼它必定有一個為1的特徵值。
除了馬爾科夫概率轉移矩陣,還有一種矩陣的特徵向量有特殊的性質:對稱矩陣的特徵向量相互之間正交。證明如下,對於任意兩個向量 跟矩陣 A, 有
如果A是一個對稱矩陣,並且x,y分別是A的兩個不同的特徵向量對應的特徵值分別為,那麼便有 為了讓上式滿足,只有令 即特徵向量之間兩兩正交。這個性質非常非常有用,在我們的降維繫列裡面會常常用到。最後輪到矩陣的trace了,個人覺得trace的中文翻譯就更渣了,居然就直勾勾的叫作跡。。。trace的英文名字感覺還跟它的物理意義挺搭的:拿到一個矩陣,我們沿著主對角線往下走到最後,所有元素的和就是trace:
下面,高能的部分來了: ,矩陣的trace等於特徵值之和,也就是說矩陣的主對角線元素之和等於它的特徵值之和。對於這個性質作者暫時也還沒能想到一個直觀的解釋,證明的思路跟證明前面的那個行列式等於特徵值之和類似,要從特徵方程的表達式入手。
本篇文章取名叫做矩陣的特徵,我們圍繞著特徵值,特徵向量,行列式,trace這四個概念,重點講了一下他們之間的聯繫。線性代數是大一上學期開的一門基礎課,其實作者當年上課的時候大部分時間都不知所云,弄懂了幾道練習題之後,還以為線性代數無非是弄兩下矩陣的乘法,照著課本上的公式算幾個東西這麼簡單。後來隨著學習工作的深入,感覺線性代數真的是博大精深,充斥著各種神來之筆,強烈建議看下這篇文章《理解矩陣》。
推薦閱讀:
※[數據分析與可視化 14] 行列式的幾何直觀
※將線性代數形象化(三) · 行列式
※行列式介紹[MIT線代第十八九課]
※一道行列式,最後結果的係數有什麼方法求?
※絕望的行列式