稍微整理了下,發現了29篇半成品,不知不覺居然積累了這麼多。。。怠惰desinei。還找到了一篇和這課內容相關性很高,但更中國,更抽象的《線性代數先修課(一)》。就是Gelbert所說的,很多線代課是從這一部分開始的,因為不用矩陣也能理解線性變換(同樣原因,我的印象在這一篇裡也很難跑題發散)。Gelbert的課就更直觀,更幾何。
按初中的理解對線的描述,在幾何課中是需要藉助坐標系的。當然,不畫出笛卡爾坐標軸也是可以通過圖表示出映射過程的,不過極坐標系也是坐標系(雖然也不完整)。比如,不用矩陣,而用幾何的方式表示之前學過的投影:
其中,T(v)就是向量v到直線T(x)的映射,這裡的T(x)事實上就是一個二維空間中的一個映射,與投影矩陣是等價的,將輸入向量v映射為輸出向量T(v)
每一個線性變換都對應一個矩陣,類似坐標空間中的函數。
判斷一個映射是不是線性變換,可以通過兩條規則是否滿足來確定:
T(v + w) = T(v) + T(w)
T(cv) = cT(v)
其中,c是常數,v、w是向量。可以用來驗證一下上圖中否是線性變換,比如將v延長,T(v)也會相應延長;v×-1,T(v)就跟著變成相反數。接下來,通過幾個例子來感受一下這兩個條件的運用。
聯合線性變換的兩條規則可得:T(cv + dw) = cT(v) + dT(w),所以映射如果是直接加一個向量 T(v) = v + v₀,就不是線性變換,如果v翻倍,除非v₀是零向量,否則T(v)應該不會剛好翻倍。可以通過0來驗證,T(0)應該等於0,v是任意向量所以0×T(v)=T(0×v)=0,而v₀不是零向量就不行。向量的相加,以及下文會提到的係數等可參考《矩陣的行列圖像》。取平方的也不是,取模( T(v) = ||v|| )的當然也不是,因為對負常數倍就不符合了。旋轉是線性變換,長度一定是符合的。例如二維空間旋轉45°,不只向量,圖形(面)旋轉也是可以的,就相當於一個點集或者輪廓整個旋轉。
每一個矩陣都對應一個線性變換(這一系列裡好像有很多地方都表達過類似的意思):T(v) = Av。前面的規則就變成了:
A(v + w) = Av + Aw
A(cv) = cAv
很明顯,這兩條矩陣都是滿足的。對於Av實際就是矩陣乘法,例如:
它的作用就是x分量不變,y分量變成相反數。Gelbert說理解線性變換,就是找到線性變換對應的矩陣。至少對於這門課,就是這麼回事兒。為了確定矩陣需要引入坐標系,選定一組基。例如,將一個三維向量映射成二維向量(輸入三維輸出二維),就是說T(v) = Av中,v是3×3,T(v)是2×2,那根據之前學過的矩陣乘法,很明顯A是2×3的。
線性變換作用於向量大概就是這樣了,它可以作用於空間中所有的向量。只需要確定空間的一組基,就可以作用於整個空間,而不用枚舉所有空間中的向量。例如只需用向量v₁和v₂的線性組合(如果線性相關,就是倍乘)就可以表示整個平面空間。因為,如果有一組基v₁、v₂、...、vn,那空間中任意一個向量都可以表示為這組基的線性組合:
v = c₁v₁ + c₂v₂ + ... + cnvn
於是:
T(v) = c₁T(v₁) + c₂T(v₂) + ... + cnT(vn)
接著,要把一個與坐標無關的線性變換轉換成與坐標相關的矩陣,把T換成A表示。Gelbert說矩陣源於坐標系,雖然我有點不太同意,不過也沒理由反駁就是了。國內的線代開始並沒有套入坐標系,不過方程本就可以放到坐標系中表示,從這個角度看確實可以這麼說。矩陣的兩個方面研究,一方面是解方程組,另一方面是研究雙線性形式(上一篇的知乎連結裡說的,我也不確定是不是對,但我找不到錯就是了)。
如果放入坐標系,那麼選定了基就意味著確定了坐標,以基為選定坐標的單位和軸的方向的依據。於是,坐標的存在就代表基的確立。選定的基對輸入空間和輸出空間進行關聯,將輸入空間以基為軸進行映射。將輸入空間中 v 表示成選定基的線性組合後,基向量的係數就是坐標值,輸入 v 相對於這組基的數值,也就是相對於坐標軸在各個基方向上的單位量。先選擇一個輸入空間向量 v,然後選擇一組基,通過用這組基來表示 v,求出坐標值:
此處選用了標準基,也可以選擇特徵向量做基,選擇不同的基變了,坐標值也不同。用 這組基組成的矩陣A 乘以 坐標值即可等效線性變換,得到變換後的輸出向量:
T(v) = A[3 2 4]ᐪ
從矩陣乘法的運算角度可以發現其實這兩個計算過程是一樣的,用A等效這個線性變換,為原來與坐標無關的線性轉換找到一個起同樣作用的矩陣A。
類似本文一開頭的圖,2×2的投影,將這個二維空間用一組新的基來表示,體會一下A的作用,用以對比之前的線性轉換。由於是同一個空間,所以輸入空間的基同時也是輸出空間的基 v₁=w₁、v₂=w₂。任意向量 v = c₁v₁ + c₂v₂。將第一個基向量 v₁ 就選定在前文圖中T(v)的直線上,由於本身就是對這條直線投影,於是T(v)作用在這組基上:T(v₁)=c₁v₁ (任意向量在這個方向上相差常數倍);第二個基向量 v₂ 選擇垂直於 v₁ 的方向,對 v₁ 投影為0,也就是T(v₂)=0。對T(v)輸入[c₁ c₂]ᐪ,得到輸出[c₁ 0]ᐪ。w₁:c₁[1 0]ᐪ,w₂ :c₂[0 0]ᐪ(其中 c₁ 為任意v的x方向的值,由於與直線方向重合,所以 c₁ 就是相對直線的值;c₂是y方向的,由於y方向垂直於直線,所以相對直線的值是 0 )。用矩陣表示(A × 輸入坐標 = 輸出坐標):
由於c₁、c₂(看方向)剛好是特徵向量,所以得到的A是對角陣∧。以特徵向量為基,可以得到對角陣,對角線上是特徵值。
也可以選擇標準,不過標準基就沒這麼好,A不是對角陣了。圖就不畫了,這次是映射到x軸正方向45°,也就是y=x直線的例子。標準基:
對照《正交》中所學的投影知識可以發現,T(v) 就是 p = [(aaᐪ)/(aᐪa)] b 公式中的p,而 v 就是 b,矩陣 A 也就是 (aaᐪ)/(aᐪa) 。由於選擇的基是坐標系 x (1,0)和 y (0,1) 軸上,公式中的 a 對應直線是 y = x (也就是p所在的直線上),那 在坐標軸上表示應該是:
投影的長度 a = OP = 二分之根號二,P點坐標(0.5, 0.5)。這組基雖然沒有特徵向量那組「好」,不過也不很差,這個A是對稱矩陣,也有一些「好」的地方,比如P=P²,當然特徵向量那組也滿足這個優點。
至此,坐標、矩陣、線性變換,這就算聯繫到一起了。通過前面兩個例子可知,選擇輸入基 v₁ 、 v₂ 、 ... 、 vn 和輸出基 w₁ 、w₂ 、 ... 、wm (不一定是方陣)後,A的第一列可以通過 T(v₁ ) = a₁₁w₁ + a₂₁w₂ + ... + am₁wm (此處a₁₁就是A的第一個元素)找到A第一列的各元素,以此類推T(vn ) = a₁nw₁ + a₂nw₂ + ... + amnwm 。
上面有的推導或者計算過程還有那個圖,雖然有些課上沒有,是我自己算的,但是應該都是正確的。這堂課最後,Gelbert又用求導做例子,把這個過程講了一遍(求導是線性運算,能求出那些基本求導規則線性組合的導數就是因為這個過程是線性變換,可參考《微積分重點》,平滑降維 :p):T = d / dx。輸入空間:c₁ + c₂x + c3x², 空間的基(也就是標準單位):1、x、x²;輸出(一階導數):c₂ + 2c3x,基:1、x。從三維空間到二維空間的變換:
根據矩陣乘法可知,其實看著是降維也知道 A 是 2×3 的矩陣。
a₁₁c₁ + a₁₂c₂ + a₁₃c₃ = c₂
a₂₁c₁ + a₂₂c₂ + a₂₃c₃ = 2c₃
看起來和上面總結的不太一樣,於是我自己豎過來。根據基 1、x 算了一下,果然就是把這個先每列和一下再求和。其實是一樣的,就是囉嗦了點,於是就這麼意思一下算了:
公眾號: