將線性代數形象化(三) · 行列式

/***************************************************

前言:最近因為思考一些問題需要用到線代,然後在B站上找到了一個不錯的線代講解系列視頻,特點在於將線性代數中常見的行列式、向量、矩陣、點積、叉乘、特徵向量等等形象直觀地表現出來,作者也是花了很大的心思,通俗易懂(雖然有些視頻我看了兩遍才懂。。。)在以前的學習中,線代一上來就是各種計算,得到一個結果就完事了。具體為什麼要這麼算,這麼算的意義在哪,一無所知。因此在看的過程中懂了以前很多沒懂的點,也從另一個角度更好地理解了線代。為了在自己腦里形成一個更清晰的脈絡,所以也嘗試整理一下,包括自己以前踩過的坑以及自己的思考領悟,主要參考該系列視頻。如果我不偷懶並且順利的話,預計一個月填完吧~~

視頻鏈接:【官方雙語/合集】線性代數的本質 - 系列合集

***************************************************/

The purpose of computation is insight, not numbers. ——Richard Hamming

本系列不從行列式入手的原因:

終於到行列式了。如果對工科線代教科書還有印象的話,會發現書上介紹線代是從行列式開始的,而且上來就是計算。這也是被很多人詬病的點:學完整本線代不知道該怎麼用。就我個人的感覺而言,線代的幾個基礎,行列式,矩陣,向量,線性方程組,它們之間有著千絲萬縷的聯繫,很難單獨將其中一個拿出來孤立地講。有人認為我們從小學到高中的學習中,對線性方程更熟悉,因此應該從線性方程組入手。然後引出矩陣,引出向量空間。這是根據我們學習的慣性來引入的,不失為一種好方法。但要想真正理解線代的本質,形象化地理解線代,我覺得像3Blue1Brown的視頻一樣,從向量入手會更好。本系列的寫作順序也盡量與視頻保持一致。

行列式

先給出結論:行列式,就是衡量矩陣(線性變換)時所佔區域的縮放比例。這裡的區域,即在張成空間中所佔的區域,在二維中表現為面積,三維中表現為體積。

嚴格來說,行列式有正負之分。 行列式的絕對值才表示縮放比例,正負號表示空間是否翻轉。在二維中,表現為平面的法向量是否翻轉。從數值上理解正負號的話,給個提示,三角形面積公式 frac{1}2absintheta ,其中 theta 取值範圍為 [pi/2, -pi/2]

(有興趣的同學可以了解下有向面積有向面積_百度百科。同理,也會有有向體積等)

行列式為0

當然,行列式除了正負外,還有種特殊情況,行列式為0

從幾何上講,空間被壓縮了,即平面被壓縮成一條線(二維行列式為0),三維空間被壓縮成一個平面或一條線(三維行列式為0)

從矩陣的角度講,行列式為0,則必然對應著矩陣列線性相關。也就是說,經過行列式為0的矩陣變換後,至少有兩個基向量重疊了,所以張成空間的維度減小了。

在下一篇討論矩陣的逆時,我們會發現行列式為0是判斷一個矩陣有沒有逆矩陣的重要方法之一。從幾何的角度出發,張成空間維度減小後,相當於這一維的信息丟失了,無法恢復。

右手法則

右手法則不只是在高中物理「左力右電」時才成立。事實上,涉及到三維空間,很多時候會用到右手法則。比如三維行列式的正負。

食指始終代表基向量 hat{i} ,中指始終表示 hat{j} ,則此時大拇指所示方向為 hat{k} 。若變換後右手大拇指的方向沒有發生翻轉(即,本來向上的,變換後向下;本來向下的,變換後向上),則空間方向沒有發生改變,行列式為正,否則行列式為負。

行列式計算

二維行列式計算及幾何意義如下:

a、d分別表示基向量 hat{i} 在水平方向、 hat{j} 在豎直方向上拉伸了多少,b、c分別表示空間在對角線方向上拉伸了多少。經過這樣的面積計算後,二維行列式簡化為主對角線與反對角線的相減。三維的也類似

在行列式計算中,常見的方法是按行展開或按列展開計算。類似二維和三維,可以看作是拆成一個個的小方塊「體積」的加減。但具體為什麼展開時正負號相間,我暫時沒想出比較直觀的解釋,等以後補上吧。

行列式基本性質

參照行列式的性質。下文約定,「體積」一詞作為體積向所有維度的概念推廣

性質1 行列式與它的轉置行列式相等。

解釋:只是把向量按列寫與按行寫的區別而已,本質上還是這兩個向量,「體積」不變。由此,在行列式中,行和列的地位相等

性質2 互換行列式的兩行(列),行列式變號。

解釋:行列式表示有向「體積」,與計算順序有關。互換行(列)後,計算順序發生改變,故方向變化。

性質3 行列式的某一行(列)中所有的元素都乘以同一數k,等於用數k乘此行列式。

解釋:相當於把其中一個向量拉伸了k倍。由於「體積」正比於所有向量的乘積,故「體積」也增大k倍。

推論 行列式中某一行(列)的所有元素的公因子可以提到行列式符號的外面。

解釋:性質3倒推。「體積」增大了k倍,等效於其中一個向量拉伸了k倍。

性質4 行列式中如果有兩行(列)元素成比例,則此行列式等於零。

解釋:相當於用該行列式所表示的矩陣變換後,有兩個基向量重疊了,張成空間維度減小。

推論 如果行列式有兩行(列)完全相同,則此行列式為零。

解釋:相當於基向量重合了。

性質5 若行列式的某一行(列)的元素都是兩數之和,則此行列式等於兩個子行列式之和(這部分是用我自己的話表述的,若有表達不清煩請指出)

解釋:相當於其中一個向量分解出了兩個分向量,也即算得的「體積」被分為了兩部分。最終的「體積」相當於這兩部分之和。

性質6 把行列式的某一列(行)的各元素乘以同一數然後加到另一列(行)對應的元素上去,行列式不變。

解釋:相當於固定其他向量,對其中一個向量作剪切變換(即往一個方向斜拉)。實際上,底跟高都沒改變,所以行列式也沒有改變。(參考等底等高的平行四邊形與長方形面積相等)

行列式這一節視頻中最後一個問題的回答:

由於行列式衡量的是對於原空間的拉伸率,經過兩次變換後相對於原空間的拉伸率,與每經過一次變換算一次相對拉伸率,最後的結果是相等的。換句話說,縮放比例係數可以累乘。

小結:

  1. 行列式就是衡量變換後的空間相對於原空間的縮放比例。
  2. 行列式的正負表示變換前後空間是否翻轉,可用右手法則判斷。
  3. 行列式為0,表示空間被壓縮。

========================================

本系列其他文章:

將線性代數形象化(一)· 向量

將線性代數形象化(二)· 矩陣與線性變換

將線性代數形象化(四) · 逆矩陣、列空間與秩

推薦閱讀:

你覺得比較好的線性代數學習路徑是什麼?
掰開揉碎推導Normal Equation
換個角度「聊」線性代數(一)
代數學(線性代數部分)之[二次型]

TAG:线性代数 | 行列式 |