線性代數之——圖和網絡

1. 圖

一個圖由一系列節點以及連接它們的邊組成,關聯矩陣(incidence matrix)則告訴我們 nn 個頂點是怎麼被 mm 條邊連接的。關聯矩陣中的每個元素都是 0,1 或者 -1,在消元過程中這也依然成立,所有的主元和乘數都是 ±1\pm1。因此分解 A=LUA=LU 也只包含 0,1 或者 -1,零空間矩陣亦是如此。四個基本子空間的基向量都只包含這些特別簡單的元素。

我們來看第一個關聯矩陣。注意到每一行都有一個 -1 和 1,這個矩陣在求一個圖中六條邊上的電壓差。

零空間是一條穿過 x=(1,1,1,1)\boldsymbol x=(1,1,1,1) 的直線,列空間的維度爲 3,主行是行空間的一個基。每個零空間中的向量垂直於行空間中的任意向量。

上面展示了一個有 6 條邊 4 個頂點的圖,所以矩陣是 6×4 大小的,元素 -1 和 1 告訴我們每個箭頭的方向,從節點流出爲負,流入節點爲正,這是一個有向圖。比如,第一行告訴我們有一條邊從節點 1 指向節點 2。矩陣的行數爲邊的數目,列數爲頂點的數目。看到一個圖後,你就可以直接寫出對應的關聯矩陣。

第一個圖是完全的——每一對節點都有邊連接,第二個圖是一個樹——圖中沒有迴路。它們分別是兩個極端,最大的邊數爲 12n(n1)\frac{1}{2}n(n-1),最小的邊數爲 n1n-1

可以看到,B 和之前我們之前得到的 U 中的非零行相匹配,消元會使得每一個圖變成一個樹。迴路會在 U 中產生零行,可以看第一個圖中由邊 1,2,3 組成的環是怎麼產生一個零行的。

行是相關的如果它們對應的邊組成了一個迴路,不相關的行來自於樹,這是行空間的核心。

而列空間則來自於 AxAx,是一個差異向量。

未知數代表節點的電位或者電壓,然後 AxAx 告訴我們沿着某條邊的電位差或者電壓差,是這些差異帶來了流動。

  • 零空間是 Ax=0A\boldsymbol x=\boldsymbol 0 的解,這就是說六個電位差都爲零,意味着四個節點的電位相同。因此,零空間包含常向量 (c,c,c,c)(c,c,c,c),維度爲 1 ,是 Rn\boldsymbol R^n 空間中的一條直線。我們可以同時提高或者降低所有節點的電位而不會改變電位差。如果我們將第四個節點接地,第四個未知數就被移除,零空間就只有零向量了。

  • 行空間的維度爲 4-1=3,通過行空間和零空間正交我們可以快速地判斷一個向量是否屬於行空間,也即它是否和 x=(1,1,1,1)\boldsymbol x=(1,1,1,1) 垂直。

  • 列空間包含所有列的線性組合。AxA\boldsymbol x 是一個差異向量,如果我們在圖中的一個迴路上對差異向量求和,它們將會互相消去得到零。比如我們沿着邊 1,3,-2 組成的最大的三角形迴路求和,那麼有

也就是說 AxA\boldsymbol x 沿着所有迴路的元素相加都爲零。所以一個向量如果位於列空間,那麼它也必須滿足這個特性,

  • 左零空間包含所有 ATy=0A^T\boldsymbol y=\boldsymbol 0 的解,維度爲 6-3=3。

第一個方程告訴我們流出節點 1 的總量爲 0,第二個方程告訴我們流入節點 2 的減去流出節點 2 的總量爲 0,第四個方程告訴我們流入節點 4 的總量爲 0。

每一個迴路電流都是一個解。比如最大的三角形迴路,單位電流向前通過邊 1,邊 3,再向後通過邊 2 組成一個迴路,那麼 y=(1,1,1,0,0,0)\boldsymbol y=(1,-1,1,0, 0, 0) 是一個解。一個小的迴路向前通過邊 1,邊 5,再向後通過邊 4,那麼 y=(1,0,0,1,1,0)\boldsymbol y=(1,0,0,-1, 1, 0) 也是一個解。我們需要三個不相關的解,圖中的三個小回路是獨立的,它們對應的解給出了左零空間的一組基。大的三角形迴路則是三個小回路的求和。

總結

關聯矩陣 AA 來自於一個有 nn 個頂點和 mm 條邊的圖,行空間和列空間的維度爲 n1n-1,零空間和左零空間的維度分別爲 11mn+1m-n+1

  1. 常向量 (c,c,c,c)(c,c,c,c) 組成零空間。
  2. n1n-1 個不相關的行來自於任意樹中的邊。
  3. 每個迴路中 AxAx 的元素相加都爲零。
  4. ATy=0A^Ty=0 可以通過迴路電流來求解,左零空間的維度爲 mrm-r,在圖中有 mr=mn+1m-r=m-n+1 個獨立的迴路。

對於平面中的每個圖,線性代數告訴我們歐拉公式:

2. 網絡

在一個真實的網絡中,沿着邊上的電流是兩個數字的乘積。一個數字是這條邊兩個節點之間的電位差,由 AxAx 給出,它帶來電流的流動;另一個數字是電導 cc,衡量電流流動的難易。

通過連接矩陣 AA 我們可以知道一個圖,它告訴了我們邊和節點之間的連接關係。一個網絡則更進一步,它爲每一條邊分配一個電導 cc,這些數字 c1,,cmc_1,\cdots,c_m 放入到一個對角矩陣 CC。針對一個電阻網絡,電導等於電阻的倒數。歐姆定律將邊上的電流和電位差聯繫在一起。

所以電流 y=CAxy=-CAxAxAx 告訴我們電位差,然後再乘以電導。注意這裏的負號是因爲,在電路理論中,電流是從高電位流向低電位,而我們得到的節點 1 和節點 2 之間的電位差是 x2x1x_2-x_1。再結合基爾霍夫電流定律 ATy=0A^Ty=0,我們有 ATCAx=0A^TCAx=0,這是一個關鍵的方程,右邊的零告訴我們需要外界的能量——電壓源或者電流源,網絡才能發揮作用。

在引入外接電流源的情況下,基爾霍夫定律變成了 ATy=fA^Ty=f,假設所有的電導爲 1 ,我們有 C=IATIA=fC=I \to A^TIA=f

獲取更多精彩,請關注「seniusen」!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章