1. 程式人生 > >矩陣——特徵向量(及一些基本概念)

矩陣——特徵向量(及一些基本概念)

轉載,原連結(建議在原連結檢視)

矩陣是個非常抽象的數學概念,很多人到了這裡往往望而生畏。比如矩陣的乘法為什麼有這樣奇怪的定義?實際上是由工程實際需要定義過來的。如果只知道概念不懂有何用處,思維就只有抽象性而沒有直觀性,實在是無法感受矩陣的精妙。

直觀性說明

我們先看點直觀性的內容。矩陣的特徵方程式是:

A * x = lamda * x

這個方程可以看出什麼?上次我們提到矩陣實際可以看作一個變換,方程左邊就是把向量x變到另一個位置而已;右邊就是把向量x作了一個拉伸,拉伸量是lamda。那麼它的意義就很明顯了,表達了矩陣A的一個特性就是這個矩陣可以把向量x拉長(或縮短)lamda倍,僅此而已。

任意給定一個矩陣A,並不是對所有的x它都能拉長(縮短)。凡是能被A拉長(縮短)的向量稱為A的特徵向量(Eigenvector);拉長(縮短)量就為這個特徵向量對應的特徵值(Eigenvalue)。

值得注意的是,我們說的特徵向量是一類向量,因為任意一個特徵向量隨便乘以一個標量結果肯定也滿足以上方程,當然這兩個向量都可以看成是同一個特徵向量,而且它們也都對應同一個特徵值。

如果特徵值是負數,那說明了矩陣不但把向量拉長(縮短)了,而且讓向量指向了相反的方向。

一個矩陣可能可以拉長(縮短)好幾個向量,所以它可能就有好多個特徵值。有趣的是,如果A是實對稱矩陣,那麼那些不同的特徵值對應的特徵向量肯定是互相正交的,原因是(?)。

我們也可以說,一個變換矩陣的所有特徵向量組成了這個變換矩陣的一組基。所謂基可以理解為座標系的軸。我們平常用到的大多是直角座標系,線上形代數中可以把這個座標系扭曲、拉伸、旋轉,稱為基的變換。我們可以按我們的需求去設定基,但是基的軸之間必須是線形無關的,也就是保證座標系的不同軸不要指向同一個方向或可以被別的軸組合而成,否則的話原來的空間就“撐”不起來了。在主成分分析(Principal Component Analysis)中我們通過在拉伸最大的方向設定基,忽略一些小的量,可以極大地壓縮資料而減小失真。

變換矩陣的所有特徵向量作為空間的基之所以重要,是因為在這些方向上變換矩陣可以拉伸向量而不必扭曲和旋轉它,使得計算大為簡單。所以特徵值固然重要,我們的終極目標卻是特徵向量。

 

幾個重要的抽象概念

我們回到矩陣的意義上,先介紹幾個抽象概念:

:所有經過變換矩陣後變成了零向量的向量組成的集合,通常用Ker(A)來表示。假如你是一個向量,有一個矩陣要來變換你,如果你不幸落在了這個矩陣的核裡面,那麼很遺憾轉換後你就變成了虛無的零。特別指出的是,核是“變換”(Transform)中的概念,矩陣變換中有一個相似的概念叫“零空間”。有的材料在談到變換的時候使用T來表示,聯絡到矩陣時才用A,本文把矩陣直接看作“變換”。核所在的空間定義為V空間,也就是全部向量原來在的空間。

值域:某個空間中所有向量經過變換矩陣後形成的向量的集合,通常用R(A)來表示。假設你是一個向量,有一個矩陣要來變換你,這個矩陣的值域表示了你將來可能的位置,你不可能跑到這些位置之外。值域的維度也叫做秩(Rank)。值域所在的空間定義為W空間。W空間中不屬於值域的部分等會兒我們會談到。

空間:向量加上加、乘運算構成了空間。向量可以(也只能)在空間中變換。使用座標系(基)在空間中描述向量。

不管是核還是值域,它們都是封閉的。意思是如果你和你的朋友困在核裡面,你們不管是相加還是相乘都還會在核裡面,跑不出去。這就構成了一個子空間。值域同理。

 

數學家證明了,V的維度一定等於它的任意一個變換矩陣的核的維度加上值域的維度。

dim( V ) = dim( Ker( A ) ) + dim( R( A) )

嚴格的證明過程可以參考教科書,這裡說一個直觀的證法:

V的維度也就是V的基的數目,這些基分為兩部分,一部分在核中,一部分是值域中非零象的原象(肯定可以分,因為核和值域都是獨立的子空間)。如果把V中的任意向量用基的形式寫出來,那麼這個向量必然也是一部分在核中,另一部分在值域中非零象的原象裡。現在對這個向量作變換,核的那部分當然為零了,另一部分的維度剛好等於值域的維度。

 

變換矩陣行空間和零空間的關係

另外我們根據矩陣的性質,變換矩陣的行數等於V的維度,變換矩陣的秩等於值域R的維度,所以也可以記成:

A的行數= dim( A的零空間)+ A的秩

因為A的秩又是A行空間的維度(注意在非滿秩矩陣中這個數肯定小於行數):

A的行數= dim( A的零空間)+ dim( A的行空間 )

為什麼要寫成這個形式?因為從這裡我們可以發現A的零空間和A的行空間是正互動補的。正交是因為零空間就是核,按定義乘以A的行向量當然為零。互補是因為它們加起來剛好張成整個V空間。

這個正互動補導致了非常好的性質,因為A的零空間和A的行空間的基組合起來剛好可以湊成V的基。
 

變換矩陣列空間和左零空間的關係

如果把以上方程取轉置,可得:

A的列數= dim( A^T的零空間)+ dim( A的列空間 )

因為A^T的實際意義是把值域和定義域顛倒了過來,所以A^T的零空間就是從值域以外的區域投向V中零點的所有向量的空間(有點拗口!),有人把它稱為“左零空間”(LeftNull Space)。這樣:

A的列數= dim( A的左零空間)+ dim( A的列空間 )

同樣A的左零空間與A的列空間也正互動補,它們加起來剛好可以張成W空間。它們的基也構成了W的基。

變換矩陣行空間和列空間的關係

不要忘了變換矩陣實際上是把目標向量從行空間轉化到列空間。

矩陣的行空間,列空間,零空間,左零空間構成了我們線上形代數研究中的所有空間,把它們的關係弄清楚,對於分別的基的轉換非常重要。

 

特徵方程的祕密

我們試圖構造一個這樣的變換矩陣A:它把向量變換到一個值域空間,這個值域空間的基是正交的;不僅如此,還要求任意一個基v都有A* u = lamda * v的形式,u是原來空間的一個已知的基。這樣我們就能把複雜的向量問題轉化到一個異常簡單的空間中去。

如果u的數量不等於v,那麼用A^T*A取代A,可以變為一個對稱且半正定矩陣,它的特徵向量正是要求的基v!

再次說明,矩陣不等於變換,把矩陣看成變換隻是提供一個理解變換矩陣的方法。或者說矩陣只是變換的其中一種表現形式。
--------------------- 
原作者:wangxiaojun911 
原文:https://blog.csdn.net/wangxiaojun911/article/details/6737933