3. MIT線性代數---矩陣乘法和逆矩陣

3. MIT線性代數---矩陣乘法和逆矩陣

來自專欄人工智慧隨筆4 人贊了文章

前面簡單介紹了矩陣乘法和逆矩陣,這一節我們將從不同的角度認識矩陣的乘法,並介紹逆矩陣的相關知識以及如何求解逆矩陣。

1. 矩陣乘法

1.1 行列內積

首先了解矩陣乘法運算過程中單個元素的求解:

比如取矩陣C中的一個元素 C_{34} ,下標的意義是 C_{	ext {所屬行 所屬列}},下標和乘法計算密切相關。C_{34}等於A中對應的第3行向量與B中對應的第4列向量的數量積。如圖所示:

得到:

C_{34} = sumlimits_{k=1}^{n}a_{3k}b_{k4} = a_{31}b_{14}+a_{32}b_{24}+a_{33}b_{34} + cdotscdots

推廣:

C_{ij} = (	ext{A中第i行向量})cdot (	ext{B中第j列向量}) = sumlimits_{k=1}^{n}a_{ik}b_{kj}

因為矩陣的乘法是A的行向量點乘B的列向量,因此,矩陣A和矩陣B想乘的充要條件是A的列數必須與B的行數相同。同時結果矩陣C的行數等於A的行數,C的列數等於B的列數,如下所示:

A_{m,  n} 	imes B_{n,  p} = C_{m,  p}

1.2 列組合

之前我們講過,矩陣與列向量的乘積,得到一個列向量:

那麼對於矩陣間乘法,可以把矩陣B的每一列看做A中列向量線性組合的係數。

egin{bmatrix}&&\A_{col1}&A_{col2}&cdots&A_{coln}\&&end{bmatrix}egin{bmatrix}cdots&b_{1j}&cdots\cdots&b_{2j}&cdots\cdots&vdots&cdots\cdots&b_{nj}&cdots\end{bmatrix}=egin{bmatrix}&&\cdots&left(b_{1j}A_{col1}+b_{2j}A_{col2}+cdots+b_{nj}A_{coln}
ight)&cdots\&&end{bmatrix}

上面的運算矩陣A左乘B的第j個列向量,求得的結果就是C矩陣的第j列,即C的第j列是A的列向量以B的第j列元素作為係數所求得的線性組合:

C_j=b_{1j}A_{col1}+b_{2j}A_{col2}+cdots+b_{nj}A_{coln}

以上公式可以理解為$C$ 中每一個列向量$ [C_1 quad C_2 quad C_3 quad cdots] 都可以看做矩陣A的列向量的線性組合,而 B 其實是在告訴我們,要以什麼樣的方式組合 A 中的列向量。

1.3 行組合

同理,我們也學過行向量與矩陣的乘積,得到一個行向量:

那麼對於矩陣間乘法,可以把矩陣A的每一行看做B中行向量線性組合的係數。

egin{bmatrix}vdots&vdots&vdots&vdots\a_{i1}&a_{i2}&cdots&a_{in}\vdots&vdots&vdots&vdotsend{bmatrix}egin{bmatrix}&B_{row1}&\&B_{row2}&\&vdots&\&B_{rown}&end{bmatrix}=egin{bmatrix}vdots\left(a_{i1}B_{row1}+a_{i2}B_{row2}+cdots+a_{in}B_{rown}
ight)\vdotsend{bmatrix}

上面的運算為A的第i個行向量左乘矩陣B,求得的結果就是C矩陣的第i行,即C的第i行是$B$的行向量以A的第i行作為係數所求的的線性組合:

C_i=a_{i1}B_{row1}+a_{i2}B_{row2}+cdots+a_{in}B_{rown}

以上公式可以理解為C中各行是B中各行向量的線性組合,矩陣A其實是在告訴我們,要以什麼樣的方式組合B中的行向量。

1.4 列乘以行

常規方法計算A 	imes B = C 矩陣乘法時,使用A的行向量乘以B的列向量得到C中的各個位置的元素。

而我們這次介紹的是A的列向量乘以B的行向量得到各個矩陣,再將各個矩陣相加,得到C。

egin{bmatrix} 2 & 7\ 3 & 8 \ 4 & 9\ end{bmatrix}  egin{bmatrix} 1 & 6\ 0 & 0\ end{bmatrix} = egin{bmatrix} 2\ 3 \ 4 \ end{bmatrix}  egin{bmatrix} 1 & 6\ end{bmatrix} + egin{bmatrix} 7\ 8 \ 9\ end{bmatrix}  egin{bmatrix} 0 & 0\ end{bmatrix} = egin{bmatrix} 2 & 12\ 3 & 18 \ 4 & 24\ end{bmatrix}

注意這裡每一次都是用列向量與行向量相乘得到一個矩陣,而每次得到的矩陣都是有特點的,比如  egin{bmatrix} 2\ 3 \ 4 \ end{bmatrix}  egin{bmatrix} 1 & 6\ end{bmatrix} = egin{bmatrix} 2 & 12\ 3 & 18 \ 4 & 24\ end{bmatrix} ,這其中得到的矩陣 egin{bmatrix} 2 & 12\ 3 & 18 \ 4 & 24\ end{bmatrix} 每一列都是和列向量 egin{bmatrix} 2\ 3 \ 4 \ end{bmatrix} 同向,也可以說都在 egin{bmatrix} 2\ 3 \ 4 \ end{bmatrix} 這條直線上,列空間是一條直線。同理每一行都在 egin{bmatrix} 1 & 6\ end{bmatrix} 這條直線上,行空間是一條直線。

1.5 分塊做乘法

分塊乘法就是宏觀上的矩陣乘法:

left[egin{array}{c|c}A_1&A_2\hline A_3&A_4end{array}
ight]left[egin{array}{c|c}B_1&B_2\hline B_3&B_4end{array}
ight]=left[egin{array}{c|c}A_1B_1+A_2B_3&A_1B_2+A_2B_4\hline A_3B_1+A_4B_3&A_3B_2+A_4B_4end{array}
ight]

其中 A_{1, 2, 3, 4}B_{1, 2, 3, 4}都是劃分之後的一塊塊矩陣,只要A與B分塊相互匹配,就可以用這樣的分塊乘法求解。

2 逆矩陣

2.1 逆矩陣介紹

對於一方陣A, 如果A可逆,就存在一個 A^{-1} ,使得:

AA^{-1} = A^{-1}A = I

注意:只有方陣才有逆矩陣,並不是所有的方陣都有逆,對於可逆的矩陣,我們又稱為非奇異矩陣。

可以通過以下三種方法證明矩陣egin{bmatrix} 1 & 3 \ 2 & 6 \ end{bmatrix} 不可逆:

法1:可以通過對應的行列式為0來判斷這個矩陣不可逆。

法2:從矩陣兩個列向量 egin{bmatrix} 1 \ 2 \ end{bmatrix},egin{bmatrix} 3 \ 6 \ end{bmatrix} 間線性相關判斷這個矩陣不可逆。

法3: 若存在非零向量X,滿足 AX = 0 則,A就不可逆。

? 首先假設A存在逆 A^{-1} ,那麼 A^{-1}A = I

? 對於 AX = 0 ,左右兩邊左乘矩陣 A^{-1} ,可得 A^{-1}AX = 0 ,則X = 0。

? 但是我們的X是非0向量,所以矛盾,則可證明A為不可逆的。

2.2 逆矩陣的求解

egin{bmatrix} 1 & 3 \ 2 & 7 \ end{bmatrix}  egin{bmatrix} a & b \ c & d \ end{bmatrix} = egin{bmatrix} 1 & 0 \ 0 & 1\ end{bmatrix}

通過這個表達式去求解a、b、c、d,從而獲得逆。在這個表達式中求解係數,也不是很容易。它等價於求解兩個方程組。如下:

egin{bmatrix} 1 & 3 \ 2 & 7 \ end{bmatrix}  egin{bmatrix} a \ c \ end{bmatrix} = egin{bmatrix} 1 \ 0 \ end{bmatrix} \ egin{bmatrix} 1 & 3 \ 2 & 7 \ end{bmatrix}  egin{bmatrix} b \ d \ end{bmatrix} = egin{bmatrix} 0 \ 1 \ end{bmatrix}

這裡介紹了一種方法是Gauss-Jordan消元法,同時在構造的增廣矩陣中對兩個方程進行消元。構造的增廣矩陣及消元變換如下:

left[egin{array}{cc|cc}1&3&1&0\2&7&0&1end{array}
ight]xrightarrow{row_2-2row_1}left[egin{array}{cc|cc}1&3&1&0\0&1&-2&1end{array}
ight]xrightarrow{row_1-3row_2}left[egin{array}{cc|cc}1&0&7&-3\0&1&-2&1end{array}
ight]

於是,我們就將矩陣從 left[egin{array}{c|c}A&Iend{array}
ight] 變為 left[egin{array}{c|c}I&A^{-1}end{array}
ight] ,逆矩陣為 egin{bmatrix} 7 & -3\ -2 & 1\ end{bmatrix} , 檢驗一下AA^{-1} = I ,正確。

而Gauss-Jordan當法的本質是使用消元矩陣E,對A進行操作, Eleft[egin{array}{c|c}A&Iend{array}
ight] ,利用一步步消元有 EA=I ,進而得到 left[egin{array}{c|c}I&Eend{array}
ight] ,其實這個消元矩陣E就是 A^{-1} ,而高斯-若爾當法中的I只是負責記錄消元的每一步操作,待消元完成,逆矩陣就自然出現了。

這裡簡單介紹一下Gauss-Jordan消元法和Gauss消元法的區別:Gauss消元法僅僅從上到下消元,得到上三角矩陣;Gauss-Jordan消元法最後得到的是單位矩陣。

2.3 逆矩陣性質

  • 假設方陣A,B可逆, (AB)^{-1} = B^{-1}A^{-1}

  • (A^{-1})^{T} = (A^T)^{-1} :對於單個方陣,轉置與取逆兩個運算順序可顛倒。

?


推薦閱讀:

TAG:線性代數 | 機器學習 | 人工智慧 |