原文:https://mp.weixin.qq.com/s/qCmstZdzCy1WCfBAkEZEoA
線性變換這個詞在線性代數中經常被提及,每個線性變換的背后都有一個矩陣。矩陣的概念比較直觀,相比之下,線性變換就顯得抽象了。
線性變換
拋開矩陣,我們從變換的角度討論投影。通過T變換,使平面內的一個向量投影到一條直線上:
T就像一個函數:給定一個輸入向量,經過T的變換,輸出成直線上的投影,過去我們一直用更專業的“映射”稱呼這種變換關系。下圖中v和w是R2空間內的向量,通過T變換變成了直線上的投影,即T(v)和T(w):
變換的關系有很多,而線性代數只討論線性變換。如果T表示一個線性變換關系,對於任意向量v和w以及標量c,線性變換應該保證下面兩個運算的不變性,加法不變性和數乘不變性,這一點和線性組合類似:
把二者結合:
順便說一下,投影變換是一種線性變換。
判斷線性變換
判斷一個變換是否是線性變換其實並不困難,只要判斷這個變換是否滿足加法不變性和數乘不變性即可。
反例1:平移整個平面
假設某個變換關系T是平面沿着某個方向平移v0,也就是說對於平面內的任意向量v,都有T(v) = v + v0,T變換是否是線性變換?
這個看起來很簡單的變換並不是線性變換,它違背了線性變換的兩個不變性,以數乘不變性為例:
線性變換的不變性要求對輸入空間內的任意向量都成立,當然也包括零向量,因此一個更簡單的判斷方法就是使用零向量。數乘不變性對於零向量來說將有T(0) = 0,但本例中T(0) = v0,所以說“平移”變換不是線性變換。
反例2:求向量的長度
變換關系T(v) = ||v||是否是線性變換?
T變換將產生維度的變化。假設v是一個三維向量,經過T的變換將變成一個大於等於0的實數,也就是一維向量:
雖然本例滿足T(0) = 0,但是對於數乘不變性來說,如果c是負數,那么T(cv) ≠ cT(v),因此本例不是線性變換。
正例1:旋轉變換
變換關系T:R2→R2是將一個二維空間的向量旋轉45°,這個變換是否是線性變換?
答案是肯定的,它符合線性變換的兩個不變性。
即使去掉坐標軸,依然能夠清晰地描述這個變換,下圖是對二維平面內的圖形進行旋轉:
正例2:線性變換與矩陣
到目前為止,線性變換還沒有和矩陣產生任何關系。現在有一個變換關系是矩陣乘以一個向量,T(v) = Av,其中A是一個矩陣。根據矩陣乘法的性質:
這符合線性變換的兩個判據,因此矩陣乘以向量是一個線性變換。這意味着選中一個矩陣,用它乘以平面上的所有向量,將得到一系列線性變換后的結果,即整個平面通過矩陣乘法發生了變換,這也是一個值得研究的結果。
現在有一個矩陣:
如果用A乘以一個R2空間的向量v——當然,A是2×2矩陣,它也只能乘以一個R2空間的向量——將把v線性變換成另一個向量,變換后的向量的x分量不變,y分量與v的y分量相反:
描述線性變換
我們的目的是理解線性變換,而理解線性變換的本質是確定線性變換背后的矩陣,雖然可以在脫離坐標和具體數值的情況下討論線性變換,但是為了更好地描述,我們仍然有必要引入坐標系。
假設有一個三維向量,能夠通過某種線性變換變成二維向量,這將是一個怎樣的變換?
用矩陣描述這個關系,T(v) = Av,v是三維向量,通過Av變成了二維向量,那么A一定是一個2×3矩陣。任何一個2×3的矩陣都可以將一個三維向量線性變換成二維向量,每一個變換都對應一個具體的矩陣。
輸入空間的基
對於平面內特定的向量v1,只要看看T(v1)就可以了解線性變換對它產生的作用。我們對空間內其它向量的線性變換同樣感興趣,換句話說,我們想知道線性變換對於整個輸入空間的影響。既然向量空間是由線性無關的向量張成的,那么只要知道平面內兩個線性無關的向量,就可以了解平面內所有向量線性變換的結果。也就是說,只要知道輸入空間的基,就能掌握線性變換對整個輸入空間的影響。
v1,v2……vn是輸入空間的一組基向量,把它稱之為輸入基。只要知道所有輸入基的線性變換,就可以知道輸入空間內任意向量的線性變換:
坐標
先來看看什么是坐標。
Rn空間的坐標是一組數字,這些數字表示Rn空間的給定向量v由多少個基向量組成(基向量線性組合的系數),但是基向量不止一組,如果基向量改變了,坐標也隨之改變,因此一般來說,坐標系建立在標准基的基礎之上。例如一個三維空間的向量的坐標是(2,3,4):
上式可以清晰地看到v是三個標准基向量的線性組合,盡管大多數時候我們都意識不到這種組合。
對於線性組合來說,一旦選定了一組基,坐標也隨之確定。比如對於輸入空間的任意一個向量v來說,都可以用基向量的唯一線性組合表示:
一旦向量確定,其線性組合也隨之確定,此時c1, c2 ,…,cn就是該向量的一組確定的坐標值。
線性變換與矩陣
我們的目的是確定線性變換背后的矩陣,矩陣是與坐標有關的(矩陣中的元素是確定的值),而線性變換與坐標無關。現在的問題是,如何把一個與坐標無關的線性變換變成一個與坐標有關的矩陣?
假設有T能夠完成一個向量從n維空間到m維空間的線性變換:
現在我們打算構造一個矩陣A來描述這個線性變換。在描述時需要兩組基:輸入空間的一組基來描述輸入向量,以及輸出空間的一組基來確定輸出向量的坐標。這兩組基一旦確定,對應的矩陣也就確定了。
v1,v2……vn是輸入空間的一組基向量,來自Rn空間;w1,w2……wm是輸出空間的一組基向量,來自Rm空間。對於每個輸入向量來說,都有具體的坐標值,該坐標由基向量的線性組合確定,然后把這些坐標值乘以某個矩陣A,將得到相應的輸出向量,輸出向量的坐標同樣可以由輸出空間的基確定。用矩陣A來表示線性變換,就是將矩陣乘以輸入向量的坐標,得到它在輸出空間的坐標。
值得注意的是,線性變換背后的矩陣A乘以的是輸入向量的坐標,不是輸入向量本身,得到的也是輸出向量的坐標,不是輸出向量本身。定義一個線性變換T(v),對v = c1v1 + c2v2 + …… + cnvn進行變換,如果用A描述這個變換,則A需要滿足:
之后用輸出向量的坐標對輸出空間的基向量進行線性組合,得到最終的輸出向量w:
由於我們之前一直使用的是標准基,因此感覺不到坐標的存在。
我們之前說過,投影屬於線性變換,這里正好用投影的例子對上面的描述加以說明。為了簡單起見,將這個投影定義在二維空間,n = m = 2。參與變換的向量都在平面上,讓平面上的所有向量都投影在一條直線上。選擇輸入空間的兩個基向量v1和v2代替R2空間的標准基向量,其中v1沿着投影方向趴在直線上,v2垂直於投影方向:
上圖特意去掉了坐標系,以強調線性變換與坐標無關。同時,由於輸出空間也是R2空間,我們也同樣用v1和v2作為輸出空間的基,即w1 = v1, w2 = v2。
之前說過,輸入空間和輸出空間的基一旦確定,對應的矩陣也就確定了。現在的問題是,根據v1、v2和w1、w2如何描述這個用於線性變換的變換規則?也就是說,作用於線性變換的矩陣是什么?
對於出入空間的任意向量v,都可以表示成兩個基向量的線性組合:
我們事先已經知道投影變換是一種線性變換,它線性變換的兩個不變性:
T表示投影變換,T(v1)是v1的投影,沿着直線方向的向量的投影就是這個向量本身,所以T(v1) = v1。v2垂直於直線,它的投影是零向量,所以T(v2) = 0。由此得到了投影變換和這組基向量的關系:
A用一組特殊的輸入基和輸出基(垂直於直線和沿着直線方向的一組基)描述了線性變換,將矩陣A乘以輸入向量的坐標,得到它在輸出空間的坐標:
如果改用標准坐標基,即:
投影的直線也需要給出具體的位置,假設T(v)變換是將向量投影到45°的直線上:
現在嘗試找出這個符合要求的矩陣,也就是投影矩陣。根據投影矩陣的公式,可以用向量a = (t, t)表示直線,從而求得投影矩陣:
在使用標准坐標基的時候,坐標值等於向量本身:
可以看到,如果選擇的基向量不同,即使對於同樣的線性變換,背后的矩陣也不同。在使用標准坐標基的時候,感覺不到坐標的存在,此時矩陣乘以輸入向量等於輸出向量。實際上第一次是以投影矩陣的特征向量為基,得到的矩陣A是投影矩陣P的特征值矩陣。
如何確定矩陣
確定矩陣A的前提是需要知道輸入空間和輸出空間的基,我們依然用v1,v2……vn和w1,w2……wm表示這兩組基。T(v1)表示對輸入空間的第一個基向量v1做線性變換,此時矩陣A乘以的坐標是(1,0,…,0),得到的輸出坐標是:
當知道線性變換的結果時,就可以通過它的坐標確定A的第一列。上式實際上描述了這樣線性變換:
求導也是一種線性變換
這里有一個特殊的線性變換——求導,T = d/dx。我們之所以能夠對函數求導,正是因為求導本身是一種線性變換,因此只需要掌握少量的求導法則,就能求出函數線性組合的導數。
假設輸入空間的基是1, x, x2,線性組合是c1 + c2x + c3x2;輸出是導數:
輸出空間的基是1, x。這是一個從三維空間到二維空間的線性變換:
描述這個線性變換的矩陣A滿足:
出處:微信公眾號 "我是8位的"
本文以學習、研究和分享為主,如需轉載,請聯系本人,標明作者和出處,非商業用途!
掃描二維碼關注作者公眾號“我是8位的”