「知識儲備」線性代數的本質 - 直觀理解(下)
梗概:
這篇文章為「知識儲備」線性代數的本質 - 直觀理解(上)的後篇。這一篇的內容較複雜,所以這篇文章不得不有大量的圖進行解釋。而系列視頻在最後對線性代數進行泛化推廣,有一種層次上升的感覺。
目錄:
- 07 - 點積與對偶性
關鍵字:【點乘的幾何解釋】【為什麼點乘跟投影乘積有關】【對偶性】【點乘結果的意義】
7-1 點乘的幾何解釋
7-2 為什麼點乘跟投影乘積有關?變換矩陣的再見解
7-3 對偶性(Duality)
7-4 向量點乘結果的意義
- 08 - 以線性變換的眼光看叉積
關鍵詞:【叉乘的複習】【叉乘為什麼結果是個那樣的向量】
8-1 叉乘的複習
8-2 叉乘為什麼結果是個那樣的向量?
- 09 - 基變換
關鍵詞:【基變換與線性變換的聯繫】【 的轉移作用】
9-1 基變換與線性變換的聯繫
9-2 的轉移作用
- 10 - 特徵向量與特徵值
關鍵詞:【特徵向量和特徵值的幾何意義】【特徵基】
10-1 特徵向量和特徵值的在幾何表示中是什麼?
10-2 特徵基
- 11 - 抽象向量空間
關鍵詞:【數學抽象與直觀理解】【討論優秀的學習方式】
內容:
以下是系列視頻7-11的筆記
線性代數的本質 - 07 - 點積與對偶性
關鍵字:【點乘的幾何解釋】【為什麼點乘跟投影乘積有關】【對偶性】【點乘結果的意義】
7-1 點乘的幾何解釋
首先說明點乘的計算方法:對於相同維度的向量,點乘即為兩個向量對應維度的積的和。
而教科書上也有說明,向量的點乘在坐標繫上面,可以看成是一個向量 正交投影到另外個向量上 ,兩者的長度乘積就是兩個向量的點乘結果。然而並沒有說為什麼點乘可以是這樣子的。
7-2 為什麼點乘跟投影乘積有關?變換矩陣的再見解
其實是一種奇妙偶然的對應關係。也還是從第三節的線性代數的本質 - 03 - 矩陣與線性變換的觀點進行解釋。不過有所不同的是,之前提及的線性變換的兩個方陣都是方陣,而這裡的兩個矩陣是非方陣。
比如下圖中的1x2矩陣和2x1矩陣(當然也可以看成是n列向量)線性變換,結果讓右邊的二維矩陣變成一維。而可以發現這個變換的計算過程(等式右邊)和點乘的計算過程是一樣的。
變換矩陣的再見解
值得一提的是,對於左側的變換矩陣,有n列說明變換前的矩陣有n個維度,有n行說明變換後的矩陣有n個維度,比如下圖的1x2的變換矩陣,被變換的矩陣會從二維降為一維。另外再複習一下,對於方陣型的變換矩陣,比如3x3,3個列對應3個變換後的基向量,也就是說是3個列向量,每一列的3個值就是那個基向量的坐標值。
這兩種過程碰巧是一樣的,而線性變換可以用坐標繫上面的向量箭頭去表示,即幾何解釋。
以上圖為線性變換的例子。假設有兩個二維向量相乘(圖中的黃色箭頭和短的粉色箭頭),把黃色向量所在的直線作為變換矩陣的結果(二維降為一維,且該變換矩陣為 ,其中 點為一維數軸上的 在二維坐標軸上面的對應的點),將粉色的變換到一維數軸上,而黃色向量對應的是n倍的基向量,所以是再對變換後的粉色向量進行n倍的數乘(scaling),變換到此為止。這個過程的表現和投影再乘是一樣的。而點乘用這個投影來解釋,是源於它的過程和線性變換的過程是一樣的。
7-3 對偶性(Duality)
視頻中提出了數學中的對偶性,解釋為「兩種數學事物之間而又不出乎意料的對應關係」,也就是有些東西很巧,剛好一樣,蜜汁聯繫,像7-2中點乘和線性變換。
7-4 向量點乘結果的意義
將兩個向量進行點乘,可以知曉兩個向量的方向關係怎樣。
>0 說明兩個向量的方向大概相同
=0 說明兩個向量的方向相互垂直
<0 說明兩個向量的方向大概相反
線性代數的本質 - 08第二部分 - 以線性變換的眼光看叉積
關鍵詞:【叉乘的複習】【叉乘為什麼結果是個那樣的向量】
8-1 叉乘的複習
對於二維向量,叉乘的的結果相對於對兩個向量計算行列式,即叉乘結果表示的是兩個二維向量所構成的平行四邊形的面積。
然而更多的時候,叉乘是應用在三維向量上面。
對於三維向量,叉乘有 ,且 向量的長度等於向量 構成的平行四邊形的面積,向量方向為垂直該平行四邊形,且滿足右手定則。
教科書的解釋止步於此,並沒有說為什麼兩個三維向量叉乘會得到這樣特殊的一個新向量 。而在8-2將會從線性變換和對偶性的角度解釋為什麼會這樣。
右手定則的複習:兩個三維向量叉乘,將右手食指指向第一個向量的方向,右手中指指向第二個向量的方向,再伸出右手大拇指,拇指所指方向為叉乘結果向量的方向。
上面介紹了叉乘的結果,下面圖是三維向量叉乘的計算公式。公式中值得注意的點是,等式右邊的行列式det計算中,插入了一列 的符號,並沒有解釋這是什麼,為什麼要插入這些,為什麼是這樣子組合計算。
實際上這裡的 只是一種記號技巧,用來讓我們知道在計算之後,哪個數字對應哪個維度。
備註:視頻中計算行列式時,向量都寫成列的形式,而教科書中多以行的形式書寫,視頻是為了直觀而如此做,且矩陣的轉置不會影響行列式的結果。
8-2 叉乘為什麼結果是個那樣的向量?
這裡的解釋運用到前面將的知識,第3節線性變換和第7節的對偶性。
在第7節的對偶性中,用幾何的方式(投影),解釋了點乘和二維向量降維到一維向量的線性變換之間的等價關係。而從這一點拓展,後面將尋找類似於這樣的等價關係。
備註:把變換矩陣轉置後得到的向量稱為對偶向量
首先通過二維向量叉乘的公式(計算二階矩陣的行列式det)類比,視頻給出了一個如下圖的函數,輸入值為一個三維向量,輸出值與右邊的行列式結果相等。
視頻中也說到,為什麼想到用這個函數而不是其他呢,其實像很隨意,給不出理由。不過可以通過這個特殊函數得到後面的推廣。
這個函數 是線性的(可由行列式的性質證明),因此可以找到一個1x3的變換矩陣,使得三維向量[x; y; z]變成一維向量(即數字),且結果與下圖等式右邊的行列式結果相同。
又從第7節可知,降維的線性變換等價於將變換矩陣轉置後的點乘(下圖等式左邊)。
將對偶向量[?; ?; ?]記為p[p1, p2, p3],分別對等式兩邊進行展開計算,能夠發現p1,p2,p3與等式右邊3個括弧的一一對應關係。從三維向量的叉乘計算公式中,我們知道3個括弧里的計算結果將是叉乘結果向量的3個坐標值,而p1,p2,p3剛好對應這3個值,也就是說等式左邊的線性變換的向量 就是叉乘結果向量。…………①
從幾何的角度解釋,對於等式右邊的行列式計算,行列式det計算的結果是3個三維向量構成的平行六面體的體積。體積= 構成的平行四邊形面積 高,其中高為向量[x; y; z]垂直於 的面的分量。
而這種計算過程和計算[x; y; z]和某一特殊向量 的點乘是一樣的(此向量 應該滿足垂直於 面,長度等於 的面積。)…………②
由上面的①通過計算的方式,說明應該存在有一個對偶向量 使得成立。而②通過幾何的方式說明有一個長度和方向由 確定的對偶向量 的存在。這兩種方法給出了同一個變換的對偶變數,所找到的是通一個向量 。這叉乘的計算過程與幾何解釋關聯的根本原因。也就是為什麼叉乘計算之後會得到一個垂直於 ,長度等於面積的向量 。
線性代數的本質 - 09 - 基變換
關鍵詞:【基變換與線性變換的聯繫】【 的轉移作用】
此前的基向量都是在坐標系的坐標軸,i-hat,j-hat,k-hat。然而基向量其實可以根據需求任意定的,有時候使用別的基向量能夠使計算變得簡單。
9-1 基變換與線性變換的聯繫
對於兩個不同基向量的坐標系,它們所說的[2; 1](任意的除零向量的具體的向量)並不是同一個向量。比如小明的基向量下的[2; 1]可能是小紅的基向量下的[1; 2]。將小明所說的向量轉換為小紅理解的向量,這個過程就是基變換。
下圖,以標準基向量的視角,A是另外一個視角的兩個基向量,A是變換矩陣,能將標準坐標系視角轉變成新的坐標系視角。
被變換的向量 (標準坐標系視角下)在A的變換下,變成了A視角下的 ,此時A視角下的 在標準坐標系下等於 。也就是說下圖右邊的等式,將A視角下的 翻譯成標準坐標系下的坐標,從A基向量轉變成標準基向量。
而逆向翻譯對應的就是如下圖的等式兩邊同上乘上A變換的逆。
9-2 的轉移作用
上面的基變換是對一個向量,而下面將通過講對一個矩陣的基變換,引出
在標準的基變數下,旋轉的變換矩陣容易可得,為[0 -1; 1 0]。而另外的基向量 下,旋轉變換的矩陣是什麼並不容易知。可通過視角轉換簡化問題。
上面的過程中,我們已知標準基向量下的旋轉變換矩陣是什麼,但不知道A視角下的旋轉變換矩陣是什麼。所以採用了先將待旋轉的A視角下的變數變換成標準基向量下的矩陣,此時可應用已知的旋轉變換,然後再使用A的逆變換,將其變回A視角。
上圖的四個矩陣的前3個,構成了 的一種轉移作用。
A-1MA作用是,將一種視角下(比如標準基向量)的M變換,換成A的視角下的同等變換(比如同樣坐標系旋轉90°,在標準基向量下是[0 -1; 1 0],而在A視角下是[1/3 -2/3; 5/3 -1/3],兩個變換對自己基向量上的向量有相同效果,是將一個向量90°旋轉,不過在不同基向量下,變換矩陣的具體值不一樣)
線性代數的本質 - 10 - 特徵向量與特徵值
關鍵詞:【特徵向量和特徵值的幾何意義】【特徵基】
10-1 特徵向量和特徵值的在幾何表示中是什麼?
在一個變換矩陣中,可能存在一些向量,在經過變換後方向並沒有改變,只是長度變為原來的n倍(即在變換後仍然留在自己的張成空間),也就是說變換矩陣的對這些向量的效果只是數乘(scaling)。滿足這種條件的向量稱為該變換矩陣的特徵向量,而這個數乘n倍的n則為該特徵向量的特徵值。
比如對於下圖中的[3 1; 0 2]的變換矩陣,有存在兩個特徵向量,其中一個為圖中黃色線段上,另一個在x軸上。
下面從特徵向量的幾何特徵推導出求特徵向量的公式。
變換矩陣對向量 效果為數乘:
右邊λ乘上單位矩陣 並移項至左側再提取 :
我們目的是要找到這個特殊的向量 ,當 等於零向量成立是成立,但沒意義。而想要讓 經過變化後稱為零向量,則需要 的行列式等於0(參考第5節行列式的意義,行列式等於0說明矩陣列向量線性相關,變換後降維)才可能是乘上 等於零向量。
綜上,通過 可得特徵值,再由特徵值 可算的特徵向量。
備註:每個特徵向量會對應有個特徵值,這些特徵值可能一樣。比如對於放大兩倍的變換矩陣,平面所有的向量都是特徵向量,而且特徵值都是2。
10-2 特徵基
使用變換矩陣的特徵向量作為坐標系的基向量,稱為特徵基。
使用特徵向量作為基向量的好處是,它能夠使變換矩陣變為對角矩陣(在特徵基的視角下)。而對角矩陣的冪次計算如下圖100次 的乘可寫成 ,從而簡化計算。
而對於非對角矩陣的冪次會很難計算。而使用特徵基可以讓非對角矩陣變為對角矩陣,然後計算冪次結果,再變高換為原來的視角,達到簡化計算過程的效果。
這是個基變換的過程,根據上一節第9節的基變換, 轉換視角, 是待轉換的矩陣, 由該矩陣的特徵向量構成。
備註:並非所有矩陣都能找到兩個合適的特徵向量來作為特徵基
線性代數的本質 - 11 - 抽象向量空間
關鍵詞:【數學抽象與直觀理解】【討論優秀的學習方式】
前面的10個視頻中說到的向量指坐標系中的有向箭頭或者數字列表。然而其實向量不止指這些,在數學上,認為向量可以是任何東西,只要它滿足兩個向量相加有意義,和數字與向量相乘有意義兩個條件即可,比如說函數(function)可以說是一種向量,他有各種向量的性質,只不過對應的操作函數起了別名,然則性質是一致的(如下圖)。
視頻中提到有很多類似向量的不同事物,只要這些事物集合有合理的數乘和相加概念,則可稱為向量。而這些「向量」們的集合稱為向量空間。
此處讓我想起C++的標準庫中有個vector的容器,又因為高級編程語言的設計跟數學有很大的關聯,猜想起名為vector是否也是因為它符合了向量的性質,可以數乘和相加。然而在查找資料之後發現其實並不是猜想的那樣。在知乎的回答中,C++標準庫設計者為了區別自帶的數組類型而給這個容器起名為vector,然而實際上並不符合數學上向量的定義。因為數學上的向量是定長的有序數列,而vector容器是可動態變換長度的數組。
數學上關於線性有著嚴格的定義(下圖)但是從具體形象的例子起手,比如坐標繫上有向的箭頭,這種入門方式對初學者來說容易接受和理解。
而教科書傾向於使用抽象的表述,因為這種抽象表述有更有普適性,它概括了各種情形,不止於上面提到的箭頭的具體形象的領域。數學研究了各種事物的關聯,發現統一性,然後用嚴密的數學語言來定義這類事物。而最終使得表述顯得很抽象難理解。
Abstractness is the price of generality.
這裡就拋出了這兩篇文章的題圖,普適的代價是抽象。我們上課學習教科書中的知識,看到的基本是抽象的概念,它們可能有著廣泛的適用性,只是入門的我們還沒有足夠的內涵去理解,覺得定義的方式十分古怪、拗口。
正如上篇開頭提到的,國外有些教學引入了這種直觀思維的方式來幫助學生理解概念的前因後果,更有如這個系列的博主,費心做出了動畫演示視頻,讓受眾能夠直觀的去感受實質,而不是坐在桌前思考著文字的含義。
確實在這個線性代數的本質系列視頻,我感受到這種學習方式的樂趣,有時候確實不由得感嘆666還有這種操作,也促使我來寫這兩篇文章作為分享。開篇提到了思考優秀的學習知識的方式,在之前的學習中,有些課程可以有這種直觀思維的教學卻缺乏,自己學了概念之後記住了一些計算方式,但止步於此,不知道個所以然,過後很容易忘記。從這個系列視頻中發覺的是,引入直觀思維,讓學習過程有樂趣,學的更明白可以說是一種優秀的學習方式,因此在此強調說明。
另,看到這個系列的完結,心中還有種不舍的感覺(笑)
後記:
自己寫完這兩篇文章後的感悟
寫這兩篇文章是源於一開始發現該系列視頻讓自己對線性代數的認識有了很大的改觀,並且在系列最後視頻抽象化前面的知識,從高層次的角度解釋了數學中的一些聯繫, 讓自己覺得「醍醐灌頂」。於是一半是筆記,一半是安利,開始著手寫文章。然而在下篇的書寫過程,為了讓內容更有料,並且有良好的邏輯性和可讀性,自己重複多次觀看視頻和截圖,結果文章內容逐漸變得像是將視頻文字化,讓文章存在的意義降低了,並且在這過程中一開始的熱情被消磨,開篇最想表達的內容,到最後變得乏力表達。。
不過寫文章的好處是,讓自己真正的理解內容,也留下印記,可能對人有所幫助。
一開始只是單純看視頻的話,確實有一種豁然開朗的爽快感。
但是沒有記簡單筆記的話後面記憶生疏想要回憶視頻內容的話會比較麻煩,且記筆記是一種回顧剛剛所學內容,會加深印象,有把握感。
其實在我記筆記的時候,視頻後半部分有些內容我只是感覺上懂了(以此為借口自我欺騙直接看下一個視頻。為了學完知識而不是學懂知識,美其名曰注重效率)。可是到了想向別人解釋的時候發現說不出個所以然。為了能夠寫出像樣的不誤導人的文章,不得不去重複幾遍觀看視頻直到理解。這個過程也讓自己接受了這樣的事實:有些知識內容只看一遍是不夠理解的,多看幾次是理所當然的,重新看並不丟臉。
以上
閱讀到這裡,你也是棒棒的? ? ?
推薦閱讀: