將線性代數形象化(三) · 行列式
/***************************************************
前言:最近因為思考一些問題需要用到線代,然後在B站上找到了一個不錯的線代講解系列視頻,特點在於將線性代數中常見的行列式、向量、矩陣、點積、叉乘、特徵向量等等形象直觀地表現出來,作者也是花了很大的心思,通俗易懂(雖然有些視頻我看了兩遍才懂。。。)在以前的學習中,線代一上來就是各種計算,得到一個結果就完事了。具體為什麼要這麼算,這麼算的意義在哪,一無所知。因此在看的過程中懂了以前很多沒懂的點,也從另一個角度更好地理解了線代。為了在自己腦里形成一個更清晰的脈絡,所以也嘗試整理一下,包括自己以前踩過的坑以及自己的思考領悟,主要參考該系列視頻。如果我不偷懶並且順利的話,預計一個月填完吧~~
視頻鏈接:【官方雙語/合集】線性代數的本質 - 系列合集
***************************************************/
The purpose of computation is insight, not numbers. ——Richard Hamming
本系列不從行列式入手的原因:
終於到行列式了。如果對工科線代教科書還有印象的話,會發現書上介紹線代是從行列式開始的,而且上來就是計算。這也是被很多人詬病的點:學完整本線代不知道該怎麼用。就我個人的感覺而言,線代的幾個基礎,行列式,矩陣,向量,線性方程組,它們之間有著千絲萬縷的聯繫,很難單獨將其中一個拿出來孤立地講。有人認為我們從小學到高中的學習中,對線性方程更熟悉,因此應該從線性方程組入手。然後引出矩陣,引出向量空間。這是根據我們學習的慣性來引入的,不失為一種好方法。但要想真正理解線代的本質,形象化地理解線代,我覺得像3Blue1Brown的視頻一樣,從向量入手會更好。本系列的寫作順序也盡量與視頻保持一致。
行列式
先給出結論:行列式,就是衡量矩陣(線性變換)時所佔區域的縮放比例。這裡的區域,即在張成空間中所佔的區域,在二維中表現為面積,三維中表現為體積。
嚴格來說,行列式有正負之分。 行列式的絕對值才表示縮放比例,正負號表示空間是否翻轉。在二維中,表現為平面的法向量是否翻轉。從數值上理解正負號的話,給個提示,三角形面積公式 ,其中 取值範圍為 。
(有興趣的同學可以了解下有向面積有向面積_百度百科。同理,也會有有向體積等)
行列式為0
當然,行列式除了正負外,還有種特殊情況,行列式為0
從幾何上講,空間被壓縮了,即平面被壓縮成一條線(二維行列式為0),三維空間被壓縮成一個平面或一條線(三維行列式為0)
從矩陣的角度講,行列式為0,則必然對應著矩陣列線性相關。也就是說,經過行列式為0的矩陣變換後,至少有兩個基向量重疊了,所以張成空間的維度減小了。
在下一篇討論矩陣的逆時,我們會發現行列式為0是判斷一個矩陣有沒有逆矩陣的重要方法之一。從幾何的角度出發,張成空間維度減小後,相當於這一維的信息丟失了,無法恢復。
右手法則
右手法則不只是在高中物理「左力右電」時才成立。事實上,涉及到三維空間,很多時候會用到右手法則。比如三維行列式的正負。
食指始終代表基向量 ,中指始終表示 ,則此時大拇指所示方向為 。若變換後右手大拇指的方向沒有發生翻轉(即,本來向上的,變換後向下;本來向下的,變換後向上),則空間方向沒有發生改變,行列式為正,否則行列式為負。
行列式計算
二維行列式計算及幾何意義如下:
a、d分別表示基向量 在水平方向、 在豎直方向上拉伸了多少,b、c分別表示空間在對角線方向上拉伸了多少。經過這樣的面積計算後,二維行列式簡化為主對角線與反對角線的相減。三維的也類似
在行列式計算中,常見的方法是按行展開或按列展開計算。類似二維和三維,可以看作是拆成一個個的小方塊「體積」的加減。但具體為什麼展開時正負號相間,我暫時沒想出比較直觀的解釋,等以後補上吧。
行列式基本性質
參照行列式的性質。下文約定,「體積」一詞作為體積向所有維度的概念推廣
性質1 行列式與它的轉置行列式相等。
解釋:只是把向量按列寫與按行寫的區別而已,本質上還是這兩個向量,「體積」不變。由此,在行列式中,行和列的地位相等。
性質2 互換行列式的兩行(列),行列式變號。
解釋:行列式表示有向「體積」,與計算順序有關。互換行(列)後,計算順序發生改變,故方向變化。
性質3 行列式的某一行(列)中所有的元素都乘以同一數k,等於用數k乘此行列式。
解釋:相當於把其中一個向量拉伸了k倍。由於「體積」正比於所有向量的乘積,故「體積」也增大k倍。
推論 行列式中某一行(列)的所有元素的公因子可以提到行列式符號的外面。
解釋:性質3倒推。「體積」增大了k倍,等效於其中一個向量拉伸了k倍。
性質4 行列式中如果有兩行(列)元素成比例,則此行列式等於零。
解釋:相當於用該行列式所表示的矩陣變換後,有兩個基向量重疊了,張成空間維度減小。
推論 如果行列式有兩行(列)完全相同,則此行列式為零。
解釋:相當於基向量重合了。
性質5 若行列式的某一行(列)的元素都是兩數之和,則此行列式等於兩個子行列式之和(這部分是用我自己的話表述的,若有表達不清煩請指出)
解釋:相當於其中一個向量分解出了兩個分向量,也即算得的「體積」被分為了兩部分。最終的「體積」相當於這兩部分之和。
性質6 把行列式的某一列(行)的各元素乘以同一數然後加到另一列(行)對應的元素上去,行列式不變。
解釋:相當於固定其他向量,對其中一個向量作剪切變換(即往一個方向斜拉)。實際上,底跟高都沒改變,所以行列式也沒有改變。(參考等底等高的平行四邊形與長方形面積相等)
行列式這一節視頻中最後一個問題的回答:
由於行列式衡量的是對於原空間的拉伸率,經過兩次變換後相對於原空間的拉伸率,與每經過一次變換算一次相對拉伸率,最後的結果是相等的。換句話說,縮放比例係數可以累乘。
小結:
- 行列式就是衡量變換後的空間相對於原空間的縮放比例。
- 行列式的正負表示變換前後空間是否翻轉,可用右手法則判斷。
- 行列式為0,表示空間被壓縮。
========================================
本系列其他文章:
將線性代數形象化(一)· 向量
將線性代數形象化(二)· 矩陣與線性變換
將線性代數形象化(四) · 逆矩陣、列空間與秩
推薦閱讀:
※你覺得比較好的線性代數學習路徑是什麼?
※掰開揉碎推導Normal Equation
※換個角度「聊」線性代數(一)
※代數學(線性代數部分)之[二次型]