1. 程式人生 > >線性代數的本質學習筆記(1):向量、線性組合、張成(SPAN)、線性變換

線性代數的本質學習筆記(1):向量、線性組合、張成(SPAN)、線性變換

  本文主要內容為《線性代數的本質》學習筆記,內容和圖片主要參考 學習視訊 ,感謝3Blue1Brown對於本視訊翻譯的辛苦付出。有的時候跟不上字幕,所有在這裡有些內容參考了此篇部落格。在這裡我主要記錄下自己覺得重要的內容以及一些相關的想法,希望能與大家多多交流~
  本節內容對應視訊的“00. 序言”、“01. 向量究竟是什麼”、“02. 線性組合、張成的空間與基”和“03. 矩陣與線性變換”這四節的內容。

0. 序言

  線性代數具有代數含義和幾何含義兩個方面。代數含義學過線性代數的大家都很清楚,但是幾何水平上的理解能夠讓你判斷出解決特定問題需要用什麼樣的工具,感受它們為什麼有用以及如何解讀最終結果,也就是所謂線性代數的本質。

1. 向量究竟是什麼

  不同的專業對於向量有著不同的理解,如圖1 所示


圖1. 理解向量的三個方面

圖1 中從左向右依次為,物理專業:向量是空間中的箭頭,由長度和方向決定。可以自由移動;數學專業:向量可以是任何東西,只保證向量加法和數乘運算有意義;計算機專業:向量是有序的數字列表,起始點在原點上。

  實際上可以用計算機專業的方式對對物理專業的表達方式進行解釋,數字列表中上面表示沿著X軸走了多遠,下面表示沿著y軸走了多遠,每一對數與一個向量一一對應。所以向量的加法,向量的移動,可以看做數軸上加法的拓展;向量的數乘,對向量進行拉伸或者壓縮,稱為縮放。

2. 線性組合、張成的空間與基

  在空間中選取一對特殊的向量 i,j作為空間的基,將每個座標看做標量,表示如何拉伸或者壓縮一個向量。

  如下圖所示,當你思考一個向量的時候,使用物理的那種帶箭頭的方式;當考慮多個向量的時候,就把他們都看作點。


圖 2 用箭頭表示向量與用點來表示向量

這樣可以不用考慮箭頭,而只需要考慮一個無限大的平面,如下圖所示


圖3. 實際需要考慮的二維空間的表達形式

  所有可以表示為給定向量線性組合的向量集合被稱為給定向量張成的空間。對於大部分的二維向量,它們張成的空間是所有二維向量的集合,當它們共線時,張成的空間就是終點落在一條直線上的向量的集合。因為線性代數緊緊圍繞著向量加法和數乘,所以實際上向量的張成問題是在考慮僅通過向量加法和數乘這兩種基礎運算,你能獲得的所有可能向量集合是什麼。

  兩個向量在三維空間中往往構成的是一個平面,有的時候也可能是一個直線。三個向量一般在三維空間中張成了整個三維空間,可以想象一下,兩個向量已經張成了一個平面,而平面沿著第三個向量進行平移,張成了整個三維空間。新增的向量如果落在了原有向量張成的空間中,那麼這個向量與原先的向量是線性相關的;另一方面如果所有向量都給張成的空間增添了新的維度,它們就是線性無關的。

  空間的一組基的嚴格定義是這樣的:張成該空間的一個線性無關的向量的組合。

3. 矩陣與線性變換

  解析“線性變換”這一術語。“變換”實際上就是函式,它接受輸入內容並輸出對應結果,而線上性變換中輸入的是向量,輸出的也是一個向量,這中間的這個函式就是變換矩陣。

  從幾何的角度考慮,線性變換必須滿足兩點要求,首先變換前後直線依舊是直線,其次原點保持不變。值得注意的是不僅僅要考慮水平與豎直的直線變換前後是否依舊是直線,還要考慮對角線的不是水平的線。如下圖所示


圖3. 一種線性變換


圖4. 三種非線性變換

從上面的四幅圖可以看出,線性變換應該是一種保持網格平行且等距分佈的變換。網格平行且等距分佈的性質有一個重要的推論就是,某一個向量在變換前後基向量的的係數不變,也就是說線性變換隻是對基進行變換,而不是基的係數。所以如何用數值描述線性變換:實際上只需要記錄兩個基向量變換前後的位置即可。如下圖所示,為將向量進行某一個角度的旋轉之後,求旋轉後向量。

這裡寫圖片描述

通過上述內容我們知道,對向量進行旋轉(一種線性變換)實際上是對基向量進行旋轉,而基向量的係數不變。這裡我們假設未旋轉向量的座標為 [ab],明顯可以看出直角座標系下的基 [10]旋轉為 [cosθsinθ],基 [01]旋轉為 [sinθcosθ],所以這一過程可以表示為

a[cosθsinθ]+b[sinθcosθ]=[cosθsinθsinθcosθ][ab]=[ab]

  所以從上式可以看到在原始向量左乘一個變換矩陣就可以得到變換後的向量座標,注意原始向量是列向量,變換矩陣的每一列代表著變換後基向量的座標,且變換矩陣每一列中從上到下代表座標的次序與原始向量中的次序相同。

  總之,線性變換是一種操縱空間的手段,它保持網格線平行且等距分佈,並且保持原點不變。且這種線性變換隻需要找到變換之後的基就可以輕鬆得到,以這些座標為列構成的矩陣為我們提供了一種描述線性變換的語言,而矩陣與向量的乘法就是計算線性變換作用於給定向量的一種途徑。因此每當你看到一個矩陣,你都可以把它解讀為對空間的一種特定變換。