1. 程式人生 > 其它 >矩陣論 - 矩陣乘法和逆矩陣

矩陣論 - 矩陣乘法和逆矩陣

矩陣乘法的五種視角以及逆矩陣的定義,使用Gauss-Jordan方法求逆矩陣。

矩陣乘法和逆矩陣

矩陣乘法

\(m\times n\)矩陣\(A\)\(n\times p\)矩陣\(B\)\(A\)的總列數必須與\(B\)的總行數相等),兩矩陣相乘有\(AB=C\)\(C\)是一個\(m\times p\)矩陣。

行列內積

對於\(C\)矩陣中的第\(i\)行第\(j\)列元素\(c_{ij}\),有:

\[c_{ij}=row_i\cdot column_j=\sum_{k=i}^na_{ik}b_{kj} \]

整列相乘

利用列向量線性組合的思想:

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

上面的運算為\(B\)的第\(j\)個列向量右乘矩陣\(A\),求得的結果就是\(C\)矩陣的第\(j\)列,即\(C\)的第\(j\)列是\(A\)的列向量以\(B\)的第\(j\)列作為係數所求得的線性組合,\(C_j=b_{1j}A_{col1}+b_{2j}A_{col2}+\cdots+b_{nj}A_{coln}\)

整行相乘

利用行向量線性組合的思想:

\(\begin{bmatrix}\vdots&\vdots&\vdots&\vdots\\a_{i1}&a_{i2}&\cdots&a_{in}\\\vdots&\vdots&\vdots&\vdots\end{bmatrix}\begin{bmatrix}&B_{row1}&\\&B_{row2}&\\&\vdots&\\&B_{rown}&\end{bmatrix}=\begin{bmatrix}\vdots\\\left(a_{i1}B_{row1}+a_{i2}B_{row2}+\cdots+a_{in}B_{rown}\right)\\\vdots\end{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}\)

列乘以行

\(A\)矩陣的列乘以\(B\)矩陣的行,得到的矩陣相加即可:

\(\begin{bmatrix}&&\\A_{col1}&A_{col2}&\cdots&A_{coln}\\&&\end{bmatrix}\begin{bmatrix}&B_{row1}&\\&B_{row2}&\\&\vdots&\\&B_{rown}&\end{bmatrix}=A_{col1}B_{row1}+A_{col2}B_{row2}+\cdots+A_{coln}B_{rown}\)

注意,\(A_{coli}B_{rowi}\)是一個\(m\times 1\)向量乘以一個\(1\times p\)向量,其結果是一個\(m\times p\)矩陣,而所有的\(m\times p\)矩陣之和就是計算結果。

分塊

\(\left[\begin{array}{c|c}A_1&A_2\\\hline A_3&A_4\end{array}\right]\left[\begin{array}{c|c}B_1&B_2\\\hline B_3&B_4\end{array}\right]=\left[\begin{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_4\end{array}\right]\)

在分塊合適的情況下,可以簡化運算。

方陣

首先,並不是所有的方陣都有逆;如果逆存在,則有\(A^{-1}A=I=AA^{-1}\)

對於方陣,左逆和右逆是相等的,但是對於非方陣(長方形矩陣),其左逆不等於右逆。

對於這些有逆的矩陣,我們稱其為可逆的或非奇異的。

判斷是否可逆的方法:如果存在非零向量\(x\),使得\(Ax=0\),則矩陣\(A\)不可逆

給定\(A=\begin{bmatrix}1&2\\3&6\end{bmatrix}\),有\(\begin{bmatrix}1&2\\3&6\end{bmatrix}\begin{bmatrix}2\\-1\end{bmatrix}=\begin{bmatrix}0\\0\end{bmatrix}\),所以\(A\)不可逆。

證明:如果對於非零的\(x\)仍有\(Ax=0\),而\(A\)有逆\(A^{-1}\),則\(A^{-1}Ax=0\),即\(x=0\),與題設矛盾,得證。

高斯-若爾當(Gauss-Jordan)方法

方法描述:寫出增廣矩陣\(\begin{bmatrix}A|I\end{bmatrix}\),即\(A\)右側放置一個同階的單位矩陣\(I\),得到一個新矩陣。然後做矩陣初等變化,直至有\(\begin{bmatrix}I|A^{-1}\end{bmatrix}\)

\(A=\begin{bmatrix}1&3\\2&7\end{bmatrix}\),求\(A^{-1}\)

解:

\(\left[\begin{array}{cc|cc}1&3&1&0\\2&7&0&1\end{array}\right]\xrightarrow{row_2-2row_1}\left[\begin{array}{cc|cc}1&3&1&0\\0&1&-2&1\end{array}\right]\xrightarrow{row_1-3row_2}\left[\begin{array}{cc|cc}1&0&7&-3\\0&1&-2&1\end{array}\right]\)

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

reference

[1] textbook

[2] mit18.06學習筆記