Glophy Zone Backup

第四章,線性變換與矩陣 PDF 列印 E-mail
作者 曾正男   
2009/05/25, 週一

4.1 座標變換

習慣上,我們用笛卡爾座標系來表示在 n元素組合的向量表示,這個座標系自然是一個垂直座標系。但是,這一個自然表示法,對於特定資料還有特定應用來說,未必是一個最適合的表示法。有時候更換一個座標系統來描述資料,會得到更有效率的表示。

 http://www.glophy.com/images/equation/linear4_1/image1.png

舉例來說,上圖橘色的點是一個二維資料的分佈,對應藍色的座標系差不多是以四十五度角分布。因此,對於x 軸或是y 軸來說,這兩個軸的重要性是相當的。然而,當我們將座標做一個旋轉之後,資料在紅色座標系的表示在兩個座標值上的全重就不同,以左上到右下的紅色座標軸(x軸)來說,資料的變異數會大於左下到右上(y軸)的資料的變異數。因此,在紅色y 軸上的資料,若其變異數小到一定的程度,我們把這類的資料當做是雜訊,因此可以忽略。這時,資料在紅色座標系的x 軸上的資料表示,幾乎就可以取代原本的座標表示。透過這樣的座標轉換,我們可以說,原始的資料差不多是一個一維的資料,降低維度是座標變換的一種應用方式。這種給定資料然後尋找最適合表示資料的方法有很多,在線性代數裡最著名的莫過於主成分分析法(Principle component analysis)。主成分分析法,主要是利用計算資料的變異程度,將資料分布方向變異最大的找出來,並依序找出與前項方向正交且變異較小的方向。計算主成分方向會對應到一個解奇異值的問題,往後在討論到對稱矩陣的奇異值問題時,會再詳細解說。

在解矩陣的問題上,先前我們提過高斯消去法,這是一種利用列運算達到將矩陣上(下)三角化的一種運算程序,作法是在矩陣的左邊乘上一些基礎矩陣,乘上基礎矩陣的效果和列運算是等價的。倘若將基礎矩陣乘在矩陣的右邊,又相當於什麼效果呢?很有意思的,將基礎矩陣乘在矩陣的右邊,就相當於將該矩陣作行運算。我們又知道基礎矩陣是一個可逆矩陣,因此一個線性方程組 Ax=b 可以被表示成 AEE-1x=b。當中 AE 是矩陣經過行運算,因為經過了行運算所以對應的未知數也需要被修正, E-1x 就相當於變數變換。若經過行運算可以將矩陣的某行化約成全部是零的元素,就相當於我們利用變數變換,將資料的維度作了縮減。這個觀念在解大矩陣時多少可以提供一些幫助。

4.2 線性變換

上述的座標轉換,是線性變換的一個範例,我們利用基礎矩陣來改變原始未知數向量,使它成為一個新的向量。由於基礎矩陣是一個可逆矩陣,因此新舊向量之間存在著一對一的關係。然而,並不是每一個可以造成轉換的函數都有這種一對一的關係,並且也不是每一個函數都是線性的。我們先對線性轉換(Linear transform)給一個清楚的定義,然後再探討線性轉換的一些基礎特性。

假設V 和 W 都是向量空間,其維度可能相等也可能不相等。一個函數 f : V -> W 稱為從 V 映射到 W 的線性轉換,函數 f(x) 需滿足下列兩個條件

  • 對於任意兩個屬於向量空間 V 的向量 v1, v2 ,f(v1+v2)=f(v1)+f(v2)
  • 對於任意一個屬於向量空間 V 的向量 v 以及任意一個常數 c ,f(cv)=c f(v)

簡單來說,一個線性轉換或是線性函數,就是在定義域向量空間與對應域向量空間中保持向量加法封閉性與係數積封閉性的一個函數。

舉一個線性轉換的例子,例如 f(x,y)=(y,x)。

假設 v1 = (x1,y1), v2=(x2,y2) ,f(v1+v2)=f(x1+x2,y1+y2)=(y1+y2,x1+x2)=(y1,x1)+(y2+x2)=f(v1)+f(v2)。又 f(cv1)=f(cx1,cy1)=(cy1,cx1)=c(y1,x1)=cf(v1)。因此,f 是一個從 R2 映射到 R2 的線性轉換。

一個線性轉換不一定是鉗射(injection)或是蓋射(surjection)函數。當向量空間 V 和 W 的維度相同時,一個線性轉換 T 有機會存在另一個線性轉換 T-1 使得 TT-1=I。這時我們稱 T 為一個可逆的(Invertible)線性轉換。若向量空間 V=W。這時我們又稱此線性轉換為一個線性算子(linear operator)。

4.3 線性變換的矩陣表示法

當一個線性轉換作用在一個有限維的向量空間時,通常都可以將該轉換寫成矩陣形式。由於線性函數會滿足向量加法以及係數積的規則,要刻劃線性轉換的矩陣表示,只要能清楚知道基底被映射的關係即可。例如,上面的例子f(x,y)=(y,x),若我們將標準基底放入該函數,得到f(1,0) = (0,1) 以及 f(0,1) = (1,0)。那麼它對應的矩陣表示,就是

 http://glophy.com/images/equation/linear4_3/latex-image-1.jpeg

第一行的 (0,1)T 就是 f(1,0) 所對應的值,第二行的 (1,0)T 就是 f(0,1) 所對應的值。若向量空間 V 的維度是 n,向量空間 W 的維度是 m,那麼一個函數的矩陣表示,就是一個 m-by-n 的矩陣,並且第 i 個行向量就是對應第 i 個標準基底所映到 W 的函數值。請注意,這裡並沒有說一組線性獨立的基底,經過線性轉換之後,其對應的向量集合,也會是線性獨立。關於這一個問題,有一個重要的定理我們會詳細的在下一節介紹,這裡我們僅用一個簡單的例子來強化各位對映射後的空間與線性獨立的關係。若 T 把所有 V 裡面的向量都映射到 W 空間中的 0 向量,我們可以證明 T 是一個線性轉換,但是 T 不會把線性獨立的集合映射到另外一個線性獨立的集合。這是一個重要的反例。

若給定一個線性轉換 T,要如何把對應的矩陣表示寫出來呢?假設 {ui} , i=1 ... n 是 V 的一組基底, 並且 ui 是 n-tuple 的形式,我們令 A 矩陣是對應線性轉換 T 的矩陣表示,若 {Tui} 也是 n-tuple 的形式,那麼我們可以把 ui 以及 Tui 依序排列成一個行向量所成的矩陣。那麼 A[u1 u2 ... un] = [Tu1 Tu2 ... Tun] ,由於 {ui} 是一組基底,[u1 u2 ... un] 會是一個可逆矩陣,因此矩陣 A 可以寫成 A = [Tu1 Tu2 ... Tun][u1 u2 ... un]-1 的形式。倘若ui 不是 n-tuple 的形式或者 {Tui} 不是 n-tuple 的形式,在這種更一般化的情況下,要如何寫出對應的矩陣 A 呢? 

在我們學到線性組合這個概念時,其實就隱含了把所有向量都對應到n-tuple 形式的概念。例如在 R3 空間的向量 (2,3,4) 我們可以將它表示成 2*(1,0,0)+3*(0,1,0)+4*(0,0,1)。因此,n-tuple 的表示法與線性組合的係數有一個對應的關係。這裡我所說的對應關係,沒有說死成一對一的關係,是因為基底不只一組。一旦換了另外一個基底,就會有不同的基底表示。在一般的向量空間中,若 {ui} , i=1 ... n 是 V 的一組基底,那麼任意一個在 V 裡面的向量 v 都可以對應到一組線性組合係數 {ci} 使得 v=c1u1+...+cnun ,因此,對於這一組基底,v 唯一對應到一個n-tuple 的表示法,就是 (c1,...,cn)。同理  {Tui} 也可以對應到一個n-tuple 表示法,那麼我們就可以算出一個代表這個線性轉換的矩陣表示了。

4.4 虛無空間與列空間

要回答上一節我們所提到的問題,一組線性獨立的基底,經過線性轉換之後,其對應的向量集合,是否也是線性獨立?我們需要先定義兩個特別的空間,一個是虛無空間(Null space),另外一個是列空間(Column space)。

我們都知道一個 m-by-n 的矩陣A 可以把 n 維的向量對應到 m 維的向量,若 x=(x1, ... , xn) 是一個 n 維的向量,那麼 Ax 剛好可以寫成 x1A(1)+ ... + xnA(n) 的線性組合, A(i) 為 A 的第 i 個 column。因此 Ax 可能的值就是 A 的 column 的 linear combination。因此,我們把 A 的 column 可以展開的向量空間稱為 Column space,簡寫成 C(A)。另外一個相關的空間稱為 Null space 簡寫成 N(A),它的定義是 N(A)={x|Ax=0}。就是所有讓 Ax=0 的 x 所成的集合稱為虛無空間。當我們在解Ax=b 的時候,Ax 的運算方式,剛好是A(i) 的線性組合,因此b 如果落在A 的 column space 裡面,那麼我們找的到x 使得 Ax=b,反之則無解。另外,當x0 是Ax=b 的一個解,那麼x0加上任何一個 Null space 裡面的元素 ni 所成的向量 x=x0+ni 都會是Ax=b 的解。這也說明了若Ax=b 要有唯一解的兩個條件,第一是b 要落在A 的Column space 裡面,第二 A 的Null space 要等於0。

 http://glophy.com/images/equation/linear4_3/four_space.jpg

上圖是一張非常重要的圖,利用這張圖可以理解許多關於解線性方程組很重要的特性。要熟記這些定理,最簡單的方式就是假設m 不等於n ,這樣A 就是一個長方形的矩陣。N(A) 是Rn 下的一個子空間,C(AT) 也是,並且這兩個子空間的交集是零向量。Null space 和Column space 不是落在相同的空間裡,這是許多剛學線性代數的人很容易搞錯的觀念,一個是在Rn空間裡,一個是在Rm空間。紅線的部份就是落在N(A)的元素,透過A 對應過去都是0。若b 落在C(A) 裡,那麼在C(AT) 裡面必定可以找到唯一的x0 使得Ax0=b ,這是綠線表示的意義。x0是Ax=b 的一個特解。藍線是通解的表示,x0搭配任意一個在N(A) 裡面的元素都可以對應到b 。

另外一個重要的定理是關於這些子空間的維度。若A 的rank 是r ,那麼根據r 的定義C(A) 的dimension 就是r ,並且C(AT) 的dimension 也是。因此,從圖上我們可以得知r 要小於等於m 和n 的最小值,並且 m = dim(C(A))+dim(N(AT));在定義域裡則有 n = dim(C(AT))+dim(N(A)) 的關係。

 

最後更新 ( 2009/11/04, 週三 )
 
下一個 >