矩陣乘法和逆矩陣-線性代數課時3(MIT Linear Algebra , Gilbert Strang)

        這是Strang教授的第三講,講解的內容是矩陣乘法和矩陣的逆。矩陣乘法在前面已經使用過,本節課教授只是集中細緻的講解矩陣乘法滿足的定律和幾種計算矩陣乘法的方法,矩陣的逆是本節課的重要內容。

矩陣乘法

        首先介紹矩陣運算的條件和滿足的運算規律,矩陣可以做加法運算和乘法運算。 

        加法運算條件: 矩陣A和B大小一樣,加法運算滿足3條定律:

        A+B = B+A        交換律

        c(A+B) = cA + cB   分配律

        A + (B + C) = (A +B) +C 結合律

        乘法運算條件:矩陣A(mxn)的列數等於矩陣B(nxp)的行數,AB(mxp),乘法運算滿足下面3條定律:

        C(A+B) = CA +CB        左分配律

        (A+B)C = AC +BC        右分配律

        A(BC) = (AB)C              結合律 

        下面介紹計算5種方法,以A(mxn),B(nxp)爲例:

方法1:

        採用內積的方式,內積的思想:AB的第i行j列個元素(AB)_{ij} =A的第i行·B的第j列:

        \begin{bmatrix} * & & & \\ a_{i1}&a_{i2} &... &a_{in} \\ *& & & \\ * & & & \end{bmatrix}\begin{bmatrix} * &* &b_{1j} &* \\ & & b_{2j} & \\ & & ...& \\ & & b_{nj}& \end{bmatrix}= \begin{bmatrix} & &* & \\ *& * & (AB)_{ij} &* \\ & & *& \\ & & *& \end{bmatrix}

        (AB)_{ij} =\sum_{k=1}^{n}a_{ik}b_{kj}

方法2:

        列方法,使用列方法包含着一個重要的思想:AB中的每個列向量都是A中列向量的線性組合,線性組合的係數是B中的各個列向量。還記得Ax=b這個表達式吧,當時就說了Ax的結果理解成A中列向量的線性組合,列方法表達式:

        A\begin{bmatrix} col_{1} of B &col_{2} of B& ... &col_{n} of B \end{bmatrix} = \begin{bmatrix} A(col_{1} of B) & A(col_{2} of B) &... & A(col_{p} of B) \end{bmatrix} 其中:

        A(col_{p} of B) = B_{1p}(col_{1} of A)+B_{2}(col_{2} of A)+ ...+B_{np}(col_{m} ofA)

        舉例:

        \begin{bmatrix} 2 &2 &2 &2 \\ 2 &2 &2 &2 \\ 2 &2 & 2 &2\\ 2& 2& 2 & 2 \end{bmatrix}\begin{bmatrix} 1 & 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1 \end{bmatrix}=\begin{bmatrix} 8 & 8 & 8 &8 \\ 8 & 8 & 8 & 8\\ 8 & 8 & 8 & 8\\ 8&8 &8 &8 \end{bmatrix}

        A(col_{1} of B)=1\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}+1\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}+ 1\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}+ 1\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}=\begin{bmatrix} 8\\ 8\\ 8\\ 8 \end{bmatrix}

方法3:

        行方法,有了列方法,就自然會想到行方法,行方法的思想和列方法類似:AB中的每個行向量都是B中行向量的線性組合。行方法的表達式:

        \begin{bmatrix} row_{}1 of A}\\ row_{2} of A\\ ...\\ row_{m} of A\end{bmatrix} B = \begin{bmatrix} (row_{1} of A) B\\ (row_{2} of A) B\\ ...\\ (row_{m} of A) B \end{bmatrix}其中:

        (row_{m} of A)B=A_{m1}(row_{1} of B) + A_{m2}(row_{2} of B)+...+A_{mn}(row_{n} of B)

        舉例:

        \begin{bmatrix} 2 &2 &2 &2 \\ 2 &2 &2 &2 \\ 2 &2 & 2 &2\\ 2& 2& 2 & 2 \end{bmatrix}\begin{bmatrix} 1 & 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1 \end{bmatrix}=\begin{bmatrix} 8 & 8 & 8 &8 \\ 8 & 8 & 8 & 8\\ 8 & 8 & 8 & 8\\ 8&8 &8 &8 \end{bmatrix}

(row_{1} of A)B=2\begin{bmatrix} 1 & 1 & 1 & 1 \end{bmatrix}+2\begin{bmatrix} 1 & 1 & 1 & 1 \end{bmatrix}+2\begin{bmatrix} 1 & 1 & 1 & 1 \end{bmatrix}+2\begin{bmatrix} 1 & 1 & 1 & 1 \end{bmatrix}=\begin{bmatrix} 8 & 8 & 8 &8 \end{bmatrix}

方法4:

        列x行方法,A的列等於B的行,我們考慮AB的運算能否才成n個(A的列xB的行),再將結果相加的形式,答案是可以的,你可以觀察到B的第一行的元素永遠只會和A的第一列的元素進行計算(推廣到B的第k行永遠只會和A的第k列進行計算),根據這一點事實,可以將AB寫成如下計算表達式:

        AB=(col_1 of A)(row_{1} of B)+(col_2 of A)(row_{2} of B)+...+(col_n of A)(row_{n} of B)

        舉例:

        \begin{bmatrix} 2 &2 &2 &2 \\ 2 &2 &2 &2 \\ 2 &2 & 2 &2\\ 2& 2& 2 & 2 \end{bmatrix}\begin{bmatrix} 1 & 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1 \end{bmatrix}=\begin{bmatrix} 8 & 8 & 8 &8 \\ 8 & 8 & 8 & 8\\ 8 & 8 & 8 & 8\\ 8&8 &8 &8 \end{bmatrix}

        AB=\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}\begin{bmatrix} 1 &1 &1 &1 \end{bmatrix}+\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}\begin{bmatrix} 1 &1 &1 &1 \end{bmatrix}+\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}\begin{bmatrix} 1 &1 &1 &1 \end{bmatrix}+\begin{bmatrix} 2\\ 2\\ 2\\ 2 \end{bmatrix}\begin{bmatrix} 1 &1 &1 &1 \end{bmatrix}=

        \begin{bmatrix} 2 &2 &2 &2 \\ 2 & 2 & 2 &2 \\ 2 & 2 & 2 & 2\\ 2 & 2 & 2 & 2 \end{bmatrix}+ \begin{bmatrix} 2 &2 &2 &2 \\ 2 & 2 & 2 &2 \\ 2 & 2 & 2 & 2\\ 2 & 2 & 2 & 2 \end{bmatrix}+ \begin{bmatrix} 2 &2 &2 &2 \\ 2 & 2 & 2 &2 \\ 2 & 2 & 2 & 2\\ 2 & 2 & 2 & 2 \end{bmatrix}+ \begin{bmatrix} 2 &2 &2 &2 \\ 2 & 2 & 2 &2 \\ 2 & 2 & 2 & 2\\ 2 & 2 & 2 & 2 \end{bmatrix}= \begin{bmatrix} 8 &8 &8 &8 \\ 8 & 8 & 8 &8 \\ 8 & 8 & 8 & 8\\ 8 & 8 & 8 & 8 \end{bmatrix}

方法5:

        分塊乘法,分塊乘法所蘊含的思想是將原先比較大的兩個矩陣A和B切成列和行相等的小的矩陣,用小的矩陣做乘法運算,小的矩陣快可以看做原來矩陣的元素,舉例說明這種思想和它的運算:加入將A分成2x2的4個矩陣塊,將B也劃分成2x2的矩陣塊,那麼分塊乘法:

        \begin{bmatrix} A_{11} &A_{12} \\ A_{21} &A_{22} \end{bmatrix} \begin{bmatrix} B_{11} &B_{12} \\ B_{21} &B_{22} \end{bmatrix}= \begin{bmatrix} A_{11}B_{11}+A_{12}B_{21} &A_{11}B_{12}+A_{12}B_{22} \\ A_{21}B_{11}+A_{22}B_{21} &A_{21}B_{12}+A_{22}B_{22} \end{bmatrix}

        A_{11},A_{12},A_{21},A_{22}B_{11},B_{12},B_{21},B_{22}的劃分要滿足矩陣乘法列等於行的條件,從上面的計算結果可知,分塊乘法分塊之後的矩陣元素還是矩陣,但我們可以用方法1-方法4對分塊矩陣進行計算,在對A_{11}B_{11}這樣小的矩陣做矩陣乘法計算,最終得到結果。

        舉例:

        \begin{bmatrix} 2 &2 &2 &2 \\ 2 &2 &2 &2 \\ 2 &2 & 2 &2\\ 2& 2& 2 & 2 \end{bmatrix}\begin{bmatrix} 1 & 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1\\ 1& 1 & 1 & 1 \end{bmatrix}=\begin{bmatrix} 8 & 8 & 8 &8 \\ 8 & 8 & 8 & 8\\ 8 & 8 & 8 & 8\\ 8&8 &8 &8 \end{bmatrix}

        A=\begin{bmatrix} 2 &2 &2 &2 \\ 2 &2 &2 &2 \\ 2 &2 & 2 &2\\ 2& 2& 2 & 2 \end{bmatrix}=\begin{bmatrix} A_{11}=\begin{bmatrix} 2 &2 \\ 2 & 2 \end{bmatrix} & A_{12}=\begin{bmatrix} 2 &2 \\ 2 & 2 \end{bmatrix}\\ A_{21}=\begin{bmatrix} 2 &2 \\ 2 & 2 \end{bmatrix}& A_{12}=\begin{bmatrix} 2 &2 \\ 2 & 2 \end{bmatrix} \end{bmatrix}

        B=\begin{bmatrix} 1 &1 &1 &1 \\ 1 &1 &1 &1 \\ 1 &1 & 1 &1\\ 1& 1& 1 & 1 \end{bmatrix}=\begin{bmatrix} B_{11}=\begin{bmatrix} 1 &1 \\ 1 & 1 \end{bmatrix} & B_{12}=\begin{bmatrix} 1 &1 \\ 1 & 1 \end{bmatrix}\\ B_{21}=\begin{bmatrix} 1 &1 \\ 1 & 1 \end{bmatrix}& B_{12}=\begin{bmatrix} 1 &1 \\ 1 & 1 \end{bmatrix} \end{bmatrix}

        A_{11}B_{11}+A_{12}B_{21},A_{11}B_{12}+A_{12}B_{22},A_{21}B_{11}+A_{22}B_{21},A_{12}B_{12}+A_{22}B_{22}:

        \begin{bmatrix} 2 &2 \\ 2 &2 \end{bmatrix} \begin{bmatrix} 1 &1 \\ 1 &1 \end{bmatrix}+ \begin{bmatrix} 2 &2 \\ 2 &2 \end{bmatrix} \begin{bmatrix} 1 &1 \\ 1 &1 \end{bmatrix}=\begin{bmatrix} 4 & 4\\ 4 & 4 \end{bmatrix}+\begin{bmatrix} 4 & 4\\ 4 & 4 \end{bmatrix}=\begin{bmatrix} 8 & 8\\ 8 & 8 \end{bmatrix}

        根據上面的公式,AB:

        \begin{bmatrix} A_{11}B_{11}+A_{12}B_{21} &A_{11}B_{12}+A_{12}B_{22} \\ A_{21}B_{11}+A_{22}B_{21} &A_{21}B_{12}+A_{22}B_{22} \end{bmatrix}=\begin{bmatrix} 8 & 8 & 8 & 8\\ 8 & 8 & 8 &8 \\ 8 & 8& 8 & 8\\ 8 & 8 & 8 & 8 \end{bmatrix}

矩陣的逆

        本節課裏討論的逆有個基本前提:針對方陣做討論。矩陣的逆有點類似於代數裏面的倒數,A^{-1}所做的事情總是抵消A所做的事情,像代數0沒有倒數一樣,並不是所有矩陣都有逆矩陣,矩陣的逆比倒數複雜有趣很多,首先給出一個定義:

        如果A矩陣(方陣)可逆,那麼:AA^{-1}=A^{-1}A=I.

        關於矩陣的逆,給出幾點性質:

        性質1:矩陣A的逆存在的充分必要條件是對矩陣A消元得到n個主元。這個性質比較好理解,對於Ax=b,在前面教授講解消元法時知道當我們消元能得到n個主元是,這時候Ax=b有唯一解,而這個唯一解就是A^{-1}b

        性質2:矩陣A不存在兩個不同的逆。

        性質3:如何矩陣A可逆,Ax=b存在唯一解A^{-1}b。證明:A^{-1}Ax = b =>x=A^{-1}b

        性質4:如果Ax=0,存在非0解,則A不可逆。

        這條性質證明很簡單,因爲x=A^{-1}b,而這裏b=0 ,然而沒有矩陣能把0變換爲非0的x。 但這條性質卻揭示了一條總要的結論:對於不可逆矩陣(奇異矩陣),它的列向量通過線性組合能夠得到0向量;想反的,對於可逆矩陣,它的列向量通過線性組合不能得到0向量。

        性質5:2x2矩陣,可你的充分必要條件是ad-bc不等於0,且:

        \begin{bmatrix} a & b\\ c & d \end{bmatrix}^{-1}= \frac{1}{ad-bc}\begin{bmatrix} d & -b\\ -c & a \end{bmatrix}  ,其實ad-bc是2x2矩陣的行列式,在第5章後面會學到,矩陣可逆的條件是行列式不爲0.

        性質6:對角矩陣如果對角線上不存在0,那麼它存在逆矩陣,並且:

        If A= \begin{bmatrix} d_{1} & & \\ & ... & \\ & &d_{n} \end{bmatrix} then A^{-1}=\begin{bmatrix} \frac{1}{d_{1}} & & \\ & ... & \\ & &\frac{1}{d_{n}} \end{bmatrix}

        性質7:如果兩個矩陣A和B的逆都存在且大小一樣,那麼AB的逆存在,且 (AB)^{-1}=B^{-1}A^{-1}

高斯-若爾當(Gauss-Jordan)思想

        矩陣的逆並不是那麼容易求取的,雖然我們有x=A^{-1}b,但很多情況下我們並不需要去求解它,使用消元法往往來得更快捷,那麼我們如果確實需要明確的得到A^{-1}的時候,怎麼辦呢?高斯-若何當消元法提供了一種途徑,它的思想就是求n個線性方程組Ax_{j}=I_{j},x_{j}A^{-1}的第j列,I_{j}I的第j列,這其實是AA^{-1}=I的矩陣乘法按列方法計算展開的方式,對n個線性方程組進行消元得到A^{-1}的所有列x_{j}。在消元的過程中,對Jordan對高斯消元法的結果做了進一步的消元,到底怎麼做的呢?舉個例子說明,使用增廣矩陣將n個線性方程組的消元過程放到一起:

        \begin{bmatrix} A & I_{1} & I_{2} &I_{3} \end{bmatrix}=

        \begin{bmatrix} 2 & -1 &0 & 1 & 0 & 0\\ -1 & 2 & -1 & 0 & 1 & 0\\ 0 & -1 & 2 & 0 & 0 & 1 \end{bmatrix}\overset{row(2)+0.5row(1)}{\rightarrow} \begin{bmatrix} 2 & -1 &0 & 1 & 0 & 0\\ -0 & 3/2 & -1 & 0 & 1 & 0\\ 0 & -1 & 2 & 0 & 0 & 1 \end{bmatrix}

        \overset{row(3)+2/3row(2)}{\rightarrow} \begin{bmatrix} 2 & -1 &0 & 1 & 0 & 0\\ -0 & 3/2 & -1 & 0 & 1 & 0\\ 0 & 0 & 4/3 & 1/3 & 2/3 & 1 \end{bmatrix}

        按高斯消元法的思想,這裏到這裏回代就可以求出A^{-1}了,可能Jordan想,那我們對消元再進一步,將A矩陣消元得到的U上三角部分通過行變換變爲一個對角矩陣,繼續消元步驟:

        \overset{3/4row(3)+row(2)}{\rightarrow} \begin{bmatrix} 2 & -1 &0 & 1 & 0 & 0\\ -0 & 3/2 & 0 & 3/4 & 3/2 & 3/4\\ 0 & 0 & 4/3 & 1/3 & 2/3 & 1 \end{bmatrix}

        \overset{2/3row(2)+row(1)}{\rightarrow} \begin{bmatrix} 2 & 0 &0 & 3/2 & 1 & 1/2\\ -0 & 3/2 & 0 & 3/4 & 3/2 & 3/4\\ 0 & 0 & 4/3 & 1/3 & 2/3 & 1 \end{bmatrix}

        我們再將對角矩陣的對角線元素都變換爲1,就得到了完整的高斯-若爾當消元結果:

        \begin{bmatrix} 1 & 0 & 0 & 3/4 & 1/2 & 1/4 \\ 0& 1 & 0 & 1/2 & 1 & 1/2\\ 0& 0& 1 & 1/4 & 1/2 &3/4 \end{bmatrix} = \begin{bmatrix} I & x_{1} & x_{2} &x_{3} \end{bmatrix}=\begin{bmatrix} I & A^{-1} \end{bmatrix}

        所以,

        A^{-1}=\begin{bmatrix} 3/4 & 1/2 & 1/4\\ 1/2 & 1 & 1/2\\ 1/4& 1/2 &3/4 \end{bmatrix}

        總結一下高斯-若爾當思想:同時考慮n個n階方程組,利用消元法求解,根據消元法的矩陣表示,等價於在增廣矩陣[A I]左乘上矩陣一個矩陣E,E[A I] = [EA EI] =[I E],EA =I,表明這裏左乘的矩陣E就是A^{-1},所以得到得到[I A^{-1}],也就是消元之後的增廣列構成的矩陣就是A^{-1}.

        再次強調一點,教授這裏講的矩陣的逆均是針對於方陣而言,而只有方正的左逆和右逆是相等的。對於矩陣的逆,教授在後面的課程(第34講)還會介紹更加細緻的介紹,主要是介紹左逆和右逆的情況。

        內容對應《INTRODUCTION TO LINEAR ALGEBRA》2.4 - 2.5章節 

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