我們看過很多矩陣,這些矩陣看上去都非常地漂亮,表現了各種各樣的特性。但令人遺憾的是,這些矩陣是人為製造出來的,並非來自於實際應用。周一IBPE例會結束後,我和同一小組的兩個隊友一起走回宿舍,在路上我們討論矩陣。同學W說:「我現在學習這些東西並不知道它們有什麼用,這樣讓我很難學下去。」同學K_____他說:「矩陣在很多方面被使用,比如圖論和拓撲。」(還有相當多的應用,比如在化學中,初等行變換也可使複雜化學反應變得更直觀)我對圖論和拓撲的初步了解是在高二暑假參加的廈門大學物理與科學技術學院的科普營上,錢建國教授的講座「從四色猜想到四色定理」講座中在介紹五色定理的證明時簡單介紹了圖論,並在最後介紹了拓撲學。當然當時只是很粗淺地了解(現在對拓撲的直觀認識還僅僅停留在幾個洞和虧格上)
圖1 2017年8月5日 廈門大學錢建國教授講座:從四色猜想到「四色定理」
▼
小世界理論
你聽說過小世界理論嗎?
小世界理論指出:你和任何一個陌生人之間所間隔的人不會超過六個。可以隨意地畫一下(靈魂畫手再次出道),小人之間的連線代表他們之間相互認識。
圖2 靈魂畫手半分鐘畫出來的圖
這是數學上最重要的一個模型之一,離散數學稱之為「圖」(Graph )
▼
Graph: Nodes and Edges
一個圖(graph)包含點(nodes)和邊(edges),將每一條邊標示方向(我們可以將這個數學模型想像成電路網絡),邊的方向代表電流的方向,接下來可能會利用電勢、電勢差、電流等詞。接下來通過構造一個矩陣來解析這個圖的含義,這個矩陣叫關聯矩陣(incidence matrix)。矩陣的一行表示一條邊,矩陣的一列表示一個點。矩陣元素1代表電流流入,-1代表電流流出,0則代表無電流通過。
圖3 一個「圖」的例子
圖4 圖的關聯矩陣
觀察圖3,邊1、2、 3構成一個迴路;觀察圖4,矩陣A的前三行排列很有意思——第一行加第三行等於第二行,所以這說明了,圖的邊1、2、3構成迴路,矩陣的前三行線性相關——與迴路對應的行是線性相關的。
▼
矩陣A的零空間(Nullspace of A)
存在一個線性組合使得Ax=0嗎?事實上要知道這個答案我們需要消元,但是在這裡我們馬上就能發現,矩陣A的所有列相加為零列(zero column)。因此當Ax=0時,矩陣A的零空間包含了向量 x=(1,1,1,1)。而方程組 Ax=b卻沒有唯一的解,任意一個「常向量」 x=(c,c,c,c)都可能成為Ax=b的一個特解。(像是我們算不定積分時的+C)
我們假設x1, x2, x3, x4是點上的電勢,那麼Ax的五個組成部分給出了五條邊上的電勢差。比如第一條邊兩端的電勢差是x2-x1。
方程組 Ax=b同時拋出這麼一個問題:給定不同的b1,…,b5,找出其對應的電勢x1,…,x4。但這幾乎不可能做得到!我們同時升高或降低所有電勢c倍,電勢差仍然不會改變——如此再次證明x = (c, c, c, c)是矩陣A的零空間。且它同時是零空間中唯一的向量,因為Ax=0意味著每條邊兩端的電勢差都相等。故該關聯矩陣的零空間是一維的,關聯矩陣的秩rank(A)=4-1=3
▼
列空間(Column Space)
當b1, . . . , b5滿足什麼關係時我們能解出Ax=b呢?為了方便直接驗證,我們回到矩陣A——第一行和第三行相加等於第二行,因此在右邊,我們需要 b1 + b3 = b2 ,否則方程組無解。同理 b3 + b5 = b4。
繼續觀察矩陣A,我們又發現,第一行加第四行等於第二行加第五行,但這並沒有什麼用(可以從上面兩個直接推出)。列空間的維數是 5 - 2 = 3。這些結果我們都可以通過消元得出,但在「圖」中,它還有另外一種含義。
基爾霍夫電壓定律指出:在任何一個閉合迴路中,各元件上的電壓降的代數和等於電動勢的代數和,即從一點出發繞迴路一周回到該點時,各段電壓的代數和恆等於零。在圖上部分的環路中,不同的電勢滿足(x2 − x1) + (x3 − x2) = (x3 − x1),因此 b1 + b3 = b2;同理在下部分環路中,b3 + b5 = b4。矩陣與物理定律的聯繫多緊密呀!b在列空間中滿足基爾霍夫電壓定律(Kirchhoff’s Voltage Law: The sum of potential differences around a loop must be zero.)
▼
左零空間(Left Nullspace)
為了求解方程組,我們繼續在「圖」上尋找它的意義。向量y有5個分量,每個分量對應一條邊。這些數字代表流經五條邊的電流,是一個4×5的矩陣,方程組提供了五條邊上電流的四個條件,且在每個點上流出和流入的電流大小相等:
找到的一組解意味著找到一組電流,使得電荷不會在任意一個點上堆積。電流在不斷循環,而最簡單的解決方法就是找到電流的環路。我們的圖擁有兩個環路,我們在每個環路上輸入1安培的電流,則:
每個環路產生了左零矩陣的一個向量y。元素±1表明了電流是沿箭頭方向還是逆這箭頭方向。y1和y2的線性組合組成了整個左零空間——因此y1和y2是左零空間的一組基(basis),事實上y1 - y2 = (1,-1, 0, 1,-1) 是這個圖中最大的環路。
左零空間和列空間聯繫緊密——左零空間包含了向量y1= (1, 1, 1, 0, 0 ),而列空間中的向量滿足 b1 - b2 + b3 = 0。我們發現————列空間和左零空間中的向量是垂直的! 這成了線性代數基本定理的第二部分。
▼
行空間(Row Space)
矩陣A的行空間是實數域上的四維向量空間,它的維度等於它的秩rank(A)=3。通過消元我們找到線性無關行向量,我們再看回圖。前三行是線性相關的(row 1 + row 3 = row 2,並且這三條邊組成一個環路),第1、2、4行是線性無關的(因為這三條邊並沒有構成迴路)。
圖5 還是原來的圖,再發一遍方便看
第1、2、4行成為行空間的一組基。每一行的數相加結果為0。在行空間中的任意一個線性組合都有相同的性質:
再一次印證了線性代數的基本定理:矩陣的行空間和零空間垂直。如果f在行空間中,x在零空間中,那麼。
對於,它在基本電路理論中對應了基爾霍夫電流定律。流經每個點的電流代數和為0,f1、f2、f3、f4表示條邊對每個點的電流貢獻,即每個點的電流來源。例如f1必須等價於 -y1-y2。這是方程組中的第一個方程。同樣地,在另外三個點上,必須滿足進入的電荷量和出來的電荷量相等。最激動人心的是,矩陣是基爾霍夫電流定律的完美表達。(Kirchhoff's Current Law: The net current into every node is zero. Flow in = Flow out. )、
當 f = 0 時,表示電流構成迴路。
文章大段翻譯自Gilbert Strang<Linear Algebra and Its Application>(這真是一本不可多得的好書,配上Prof.Strang的公開課視頻簡直美滋滋),同時還加入大量自己的理解:D 閱讀此文需要有關於線性空間的一定知識儲備。另外由於篇幅過長,文章分兩部分發出,矩陣的應用(下)主要介紹Spanning Trees and Independent Rows,The Ranking of Football Teams以及Networks and Discrete Applied Mathematics 。
感謝閱讀 歡迎指正