天天看點

MIT線性代數公開課學習筆記第1~5課(方程組的幾何解釋,矩陣消元,乘法和逆矩陣,LU分解,轉置-置換-向量空間)

一、方程組的幾何解釋

行圖像(Row Picture)與列圖像(Column Picture)

設\(A\)為\(n\times m\)的矩陣,\(x\)為\(m\)維的列向量,\(b\)為\(n\)維的列向量。考慮如下的等式:

\[Ax=b

\]

課程提出了行圖像(Row Picture)與列圖像(Column Picture)的概念。

在行圖像中,\(A\)裡第\(i\)行元素\((A_{i,1},A_{i,2},\cdots,A_{i,m})\)與\(b\)的第\(i\)維元素\(b_i\)構成了一個方程

\[A_{i,1}x_1+A_{i,2}x_2+\cdots+A_{i,m}x_m=b_i

\]

由于\(x\)中有\(m\)個未知數,是以方程可用\(m\)維空間裡的超平面表示(在二維空間中是直線,在三維空間中是平面)。

由于\((x_1,x_2,\cdots,x_m)\)是\((A,b)\)代表的\(n\)個方程構成的方程組的解,是以它可視為是\(m\)維空間裡\(n\)個超平面的共同交點的坐标。

在列圖像中,\(A\)可視作\(m\)個\(n\)維列向量構成的矩陣\((\alpha_1,\alpha_2,\cdots,\alpha_m)\),則:

\[Ax=\alpha_1x_1+\alpha_2x_2+\cdots+\alpha_mx_m=b

\]

即用\((x_1,x_2,\cdots,x_m)\)來線性組合向量\(\alpha_1,\alpha_2,\cdots,\alpha_m\)進而得到列向量\(b\)

需要注意的是,當\(m=n\)時,隻有這\(n\)個列向量線性無關時,對于任意的\(b\),都能由這些列向量線性表示。

二、矩陣消元

對于\(n\times m\)矩陣\(A\),其消元的一般步驟為:

對\(A\)作\(t\)次初等行變換,每次行變換可用一個\(n\)階初等方陣\(E_i\)表示,最終得到行階梯形矩陣\(U\),該步驟可用\(PA=U\)表示,其中\(P=E_1E_2 \cdots E_t,|P|=|E_1||E_2|\cdots |E_t|\neq 0\),即\(P\)為一個可逆方陣

最終得到的矩陣\(U\)可以通過相反的初等行變換變回原來的\(A\)。

\(A=P^{-1}U=(E_1E_2\cdots E_t)^{-1}U=E_t^{-1}E_{t-1}^{-1}\cdots E_1^{-1}U\)

三、乘法和逆矩陣

1、矩陣乘法的四種表示法

矩陣乘法的第一種表示法(正常方法,the regular way):

對于\(n\times m\)矩陣\(A\)和\(m\times k\)矩陣\(B\),定義其乘法\(C=AB\),\(C\)為\(n\times k\)矩陣。其中,

\[c_{i,j}=\sum_{t=1}^m a_{i,t}b_{t,j}

\]

我們也可這樣表述:

若對\(A\)按行分塊為\(\begin{pmatrix}\alpha_1\\ \alpha_2\\ \vdots \\ \alpha_n\end{pmatrix}\),對\(B\)按列分塊為\(\begin{pmatrix}\beta_1,\beta_2,\cdots,\beta_k\end{pmatrix}\),則\(C=AB\)也可這樣表示:

\[C=

\begin{pmatrix}

\alpha_1\beta_1 & \alpha_1\beta_2 & \cdots & \alpha_1\beta_k\\

\alpha_2\beta_1 & \alpha_2\beta_2 & \cdots & \alpha_2\beta_k\\

\vdots & \vdots & \ddots & \vdots \\

\alpha_n\beta_1 & \alpha_n\beta_2 & \cdots & \alpha_n\beta_k\\

\end{pmatrix}

\]

即\(C\)中\((i,j)\)對應元素是\(A\)的第\(i\)行行向量與\(B\)的第\(j\)列列向量的點積

矩陣乘法的第二種表示法(列方法,the column way):

若對\(B\)按列分塊為\(\begin{pmatrix}\beta_1,\beta_2,\cdots,\beta_k\end{pmatrix}\),對\(C\)按列分塊為\(\begin{pmatrix}\gamma_1,\gamma_2,\cdots,\gamma_k\end{pmatrix}\),則\(C=AB\)也可這樣表示:

\[\gamma_i=A\beta_i

\]

即\(C\)中第\(i\)列是\(A\)與\(B\)中第\(i\)列列向量的乘積。

換言之,\(C\)中第\(i\)列的列向量是\(A\)的\(m\)個列向量分别按\(\beta_i\)中每個元素權重相加的線性組合

矩陣乘法的第三種表示法(行方法,the row way):

若對\(A\)按行分塊為\(\begin{pmatrix}\alpha_1\\ \alpha_2\\ \vdots \\ \alpha_n\end{pmatrix}\),對\(B\)按行分塊為\(\begin{pmatrix}\beta_1\\ \beta_2\\ \vdots \\ \beta_m\end{pmatrix}\),對\(C\)按行分塊為\(\begin{pmatrix}\gamma_1\\ \gamma_2\\ \vdots \\ \gamma_n\end{pmatrix}\),則\(C=AB\)也可這樣表示:

\(\gamma_i=\alpha_{i,1}\beta_1+\alpha_{i,2}\beta_2+\cdots+\alpha_{i,m}\beta_m\)

即\(C\)中第\(i\)行是\(B\)中\(m\)個行向量分别按\(A\)中第\(i\)行的各元素權重相加的線性組合

矩陣乘法的第四種表示法:

若對\(A\)按列分塊為\(\begin{pmatrix}\alpha_1 & \alpha_2 & \cdots & \alpha_m\end{pmatrix}\),對\(B\)按行分塊為\(\begin{pmatrix}\beta_1\\ \beta_2\\ \vdots \\ \beta_m\end{pmatrix}\),則\(C=\sum_{i=1}^m \alpha_i\beta_i\)

2、矩陣分塊

高校線代教材中都有這一知識點,這裡不再贅述

3、矩陣求逆

若\(BA=I\),稱\(B\)為\(A\)的左逆矩陣(Left inverse matrix),若\(AB=I\),稱\(B\)為\(A\)的右逆矩陣(Right inverse matrix)。

若\(A\)為方陣且可逆,則\(A\)的左逆矩陣與右逆矩陣相同,稱之為\(A^{-1}\)

若\(A\)不是方陣,則\(A\)的左逆矩陣與右逆矩陣一定不同(因為此時左逆矩陣與右逆矩陣不同型)

可逆矩陣(Invertible matrix)又稱為非奇異矩陣(Nonsingular matrix),其對應行列式不為零。

方陣\(A\)不可逆時,無法找到一個方陣\(B\),使得\(AB=I\),或者說使得\(A\)的\(n\)個列向量通過線性組合可以得到\(I\)中每一個列向量。

從幾何角度來說,由于\(A\)的\(n\)個列向量是線性相關的,是以這些列向量無法通過線性組合得到\(n\)維空間的所有向量,隻能表示\(n\)維空間中某個\(m\)維(\(m< n\))超平面上的向量,也就無法表示機關陣\(I\)中某一列的列向量(這一表述不是非常嚴謹,僅供感性參考)。

也可這樣表述,當\(A\)不可逆時,\(A\)中\(n\)個列向量線性相關,它們可通過線性組合得到零向量。換言之,方程\(Ax=0\)有非零解\(x\neq 0\),若此時\(A^{-1}\)存在,則\(x=A^{-1}Ax=A^{-1}0=0\),沖突。是以\(A^{-1}\)不存在。

4、高斯-約當(Gauss-Jordan)法求矩陣的逆

課程在講矩陣求逆時順帶提及了這一知識點。

考慮可逆方陣\(A\):

  • (1)将\(A\)與機關陣\(I\)排成矩陣\(M=\begin{pmatrix} A & I\end{pmatrix}\)
  • (2)對該矩陣作若幹次初等行變換,變為\(M\'=\begin{pmatrix} I & I\'\end{pmatrix}\)
  • (3)此時\(A^{-1}=I\'\)

高斯-約當法的原理很簡單,對\(M\)作\(t\)次初等行變換可視為對\(M\)左乘一個可逆方陣\(P=E_1E_2\cdots E_t\),使得\(PA=I\),則\(P=A^{-1}\),\(M\'=PM=\begin{pmatrix} PA & PI\end{pmatrix}=\begin{pmatrix} I & A^{-1}\end{pmatrix}\)

BTW:高斯-約當法也可直接用于對線性方程組\(Ax=b\)求解(其中\(A\)是可逆方陣),差别隻是把\(M\)右邊的\(I\)改為\(b\),最終得到的\(M\'\)右邊的列向量就是解向量\(x\)

四、A的LU分解

1、A的LU分解

LU分解是最基本的矩陣分解方法。即使用一個下三角方陣\(L\)(Lower triangulear matrix)和一個上三角矩陣\(U\)(Upper triangular matrix)的乘積\(LU\)表示方陣\(A\)。

LU分解的步驟如下:

  • (1)對\(A\)作\(n-1\)回合的初等行變換,第\(i\)回合用\(A\)的第\(i\)行将\(A\)的第\(i\)列中第\(i+1,\cdots ,n\)行元素全部清零,這些步驟可以用若幹個下三角的初等方陣\(E_1,\cdots ,E_t\)表示
  • (2)令\(P=E_1E_2\cdots E_t,PA=U\)
  • (3)\(A=P^{-1}U\),\(P^{-1}=E_t^{-1}E_{t-1}^{-1}\cdots E_1^{-1}\)也是一個下三角方陣(下三角方陣的逆陣也是下三角方陣),\(L=P^{-1}\)

2、LU分解算法的時間複雜度分析

考慮方陣

\[A=

\begin{pmatrix}

a_{1,1} & a_{1,2} & \cdots & a_{1,n}\\

a_{2,1} & a_{2,2} & \cdots & a_{2,n}\\

\vdots & \vdots & \ddots & \vdots\\

a_{n,1} & a_{n,2} & \cdots & a_{n,n}

\end{pmatrix}\]

将其消元至上三角矩陣\(U\)步驟如下:

  • (1)分别用第一行對第\(2\cdots n\)行作初等行變換,消去第\(2\cdots n\)行的第一列(這裡假設\(a_{1,1}\neq 0\),若\(a_{1,1}=0\)則無法繼續進行LU分解),得到:

\[A\'=

\begin{pmatrix}

a\'_{1,1} & a\'_{1,2} & \cdots & a\'_{1,n}\\

0 & a\'_{2,2} & \cdots & a\'_{2,n}\\

\vdots & \vdots & \ddots & \vdots\\

0 & a\'_{n,2} & \cdots & a\'_{n,n}

\end{pmatrix}\]

該消元過程中,最多需要做\(n-1\)次初等行變換,每次初等行變換要做\(n\)次運算。

  • (2)類似地,分别用第二行對第\(3\cdots n-1\)行作初等行變換,消去第\(3\cdots n-1\)行的第二列,該消元過程中,最多需要做\(n-2\)次初等行變換,每次初等行變換要做\(n-1\)次運算。

以此類推,将\(A\)變換為\(U\)需要做的運算次數是:

\(n(n-1)+(n-1)(n-2)+\cdots+1\)

是以\(LU\)分解的時間複雜度是\(O(n^3)\)

實際上運算次數接近于\(\frac 1 3 n^3\),因為上面的和式可以近似看作積分\(\int_0^n x^2 dx=\frac 1 3 n^3\)

五、轉置-置換-向量空間R

1、置換矩陣

置換矩陣是把每一行重新排列過的機關陣。\(n\)階的置換矩陣共有\(n!\)種(也就是\(n\)階機關陣\(n\)個行向量全排列的個數)

置換矩陣都是可逆的,而且具有一個很好的性質:\(P^{-1}=P^T\)

2、轉置矩陣

國内教材中都有轉置矩陣的概念,這裡不再贅述。

3、對稱矩陣

國内教材中都有對稱矩陣的概念,這裡不再贅述。

需要注意的是,對于任意一個\(n\times m\)矩陣\(R\),我們都能通過它構造出一個對稱矩陣\(A=RR^T\)。

\[A^T=(RR^T)^T=(R^T)^TR^T=RR^T=A

\]

是以\(A\)是對稱矩陣。

4、向量空間

向量有最基本的兩種運算:

  • (1)加法:給出兩個向量\(\alpha,\beta\),向量\(\gamma=\alpha+\beta\)
  • (2)數乘:用一個标量\(k\)(scalar)數乘一個向量

向量空間\(V\)是由\(k\)維向量構成的非空集合,該集合中定義了加法和數乘兩種運算。這兩種運算滿足八條運算規則(參見居餘馬版線性代數P175),且\(V\)對這兩種運算封閉(即運算結果仍屬于\(V\)),或者說\(V\)對\(V\)中元素的線性組合是封閉的。

需注意的是,任意一個向量空間\(V\)均包含零向量(若不包含零向量,則用标量0數乘\(V\)中任何一個向量得到零向量,而零向量不屬于\(V\),則\(V\)不是封閉的,進而\(V\)不是向量空間)

全體\(n\)維實向量構成的集合\(\mathbb{R}^n\)都是向量空間。

5、向量子空間

對于一個向量空間\(V\),若其的一個非空子集\(V\'\subset V,V\'\)也構成一個向量空間,則稱\(V\'\)是\(V\)的一個向量子空間。

MIT線性代數公開課學習筆記第1~5課(方程組的幾何解釋,矩陣消元,乘法和逆矩陣,LU分解,轉置-置換-向量空間)

設圖中平面上不過原點的虛線為\(L_1\),過原點的直線為\(L_2\)

對于向量空間\(\mathbb{R}^2\)而言,所有終點在\(L_2\)上的向量構成的集合是\(\mathbb{R}^2\)的子空間,而所有終點在\(L_1\)上的向量構成的集合不是\(\mathbb{R}^2\)的子空間(因為其中任意一個向量數乘0得到的零向量不屬于該集合)

向量空間\(\mathbb{R}^2\)有三種子空間:

  • (1)\(\mathbb{R}^2\)
  • (2)對于任意一條過原點的直線\(L\),終點在\(L\)上的向量構成的集合
  • (3)零向量

\(\mathbb{R}^3\)則有四種子空間:

  • (1)\(\mathbb{R}^3\)
  • (2)對于任意一條過原點的直線\(L\),終點在\(L\)上的向量構成的集合
  • (3)對于任意一條過原點的平面\(P\),終點在\(P\)上的向量構成的集合
  • (4)零向量

(2)和(3)從幾何角度看是非常直覺的。

6、矩陣列空間的構造方法

考慮構造\(3\times 2\)矩陣\(A\)的列空間\(C(A)\),或者說通過\(A\)的兩個三維列向量構造\(\mathbb{R}^3\)的一個子空間\(C(A)\),其中

\[A=

\begin{pmatrix}

1 & 3\\

2 & 3\\

4 & 1

\end{pmatrix}\]

\(C(A)\)為\(A\)的兩個三維列向量通過所有的線性組合産生的向量構成的集合。

MIT線性代數公開課學習筆記第1~5課(方程組的幾何解釋,矩陣消元,乘法和逆矩陣,LU分解,轉置-置換-向量空間)

從幾何角度看,這就是\(\mathbb{R}^3\)空間中,兩個列向量所在的平面(顯然該平面過原點)上的所有向量構成的集合。

如果這裡的兩個列向量是線性相關的,顯然構造出來的列空間是過原點的一條直線上的所有向量構成的集合。