2.5 逆矩阵

一、逆矩阵的注释

假设 AAA 是一个方阵,其逆矩阵 A−1A^{-1}A1 与它的大小相同,A−1A=IA^{-1}A=IA1A=IAAAA−1A^{-1}A1 会做相反的事情。它们的乘积是单位矩阵 —— 对向量无影响,所以 A−1Ax=xA^{-1}A\boldsymbol x=\boldsymbol xA1Ax=x,但是 A−1A^{-1}A1 也可能不存在。
矩阵最常见的就是乘一个向量 x\boldsymbol xxAx=bA\boldsymbol x =\boldsymbol bAx=b 两边同时乘 A−1A^{-1}A1 得到 A−1Ax=A−1bA^{-1}A\boldsymbol x=A^{-1}\boldsymbol bA1Ax=A1b,所以 x=A−1b\boldsymbol x=A^{-1}\boldsymbol bx=A1bA−1AA^{-1}AA1A 的乘积就像一个乘一个数再除一个数。如果一个数非零,则必然存在倒数,矩阵会更复杂一些。A−1A^{-1}A1 称为 AAA逆矩阵

定义如果存在一个矩阵 A−1 “逆反” A,则矩阵 A 可逆:两边逆反A−1A=I 且 AA−1=I(2.5.1)\pmb{定义}\kern 8pt如果存在一个矩阵\,A^{-1}\,“逆反”\,A,则矩阵\,A\,可逆:\\\pmb{两边逆反}\kern 10ptA^{-1}A=I\,且\,AA^{-1}=I\kern 15pt(2.5.1)定义如果存在一个矩阵A1逆反A,则矩阵A可逆:两边逆反A1A=IAA1=I(2.5.1)

并不是所有矩阵都有逆矩阵。方阵 AAA 第一个需要讨论的问题是:AAA 是否可逆?这里先不计算 A−1A^{-1}A1,大部分情况下,并不需要计算逆矩阵,下面是逆矩阵的 6 点注释:
Note 1: 矩阵可逆当且仅当消元法可以得到 nnn 个主元(允许行交换)。消元法求解 Ax=bA\boldsymbol x=\boldsymbol bAx=b 时不需要明确使用 A−1A^{-1}A1
Note 2: 矩阵 AAA 不可能存在两个不同的逆矩阵。假设 BA=IBA=IBA=IAC=IAC=IAC=I,由结合律可得 B=CB=CB=CB(AC)=(BA)C得BI=IC或B=C(2.5.2)B(AC)=(BA)C\kern 4pt得\kern 4ptBI=IC\kern 4pt或\kern 4ptB=C\kern 15pt(2.5.2)B(AC)=(BA)CBI=ICB=C(2.5.2)上式证明了左逆矩阵 BBB(从左边乘)和右逆矩阵 CCC(从右边乘)是相等的。
Note 3: 若矩阵 AAA 可逆,Ax=bA\boldsymbol x=\boldsymbol bAx=b 有唯一解 x=A−1b\boldsymbol x=A^{-1}\boldsymbol bx=A1b

A−1 乘 Ax=b得x=A−1Ax=A−1bA^{-1}\,乘\,A\boldsymbol x=\boldsymbol b\kern 5pt得\kern 5pt\boldsymbol x=A^{-1}A\boldsymbol x=A^{-1}\boldsymbol bA1Ax=bx=A1Ax=A1b

Note 4:(重要)若有一个非零向量 x\boldsymbol xx 使得 Ax=0A\boldsymbol x=\boldsymbol 0Ax=0,则 AAA 不可逆。没有这样的矩阵可以将 0\boldsymbol 00 变成 x\boldsymbol xx

若 A 可逆,则 Ax=0 仅存在零解 x=A−10=0若\,A\,可逆,则\,A\boldsymbol x=\boldsymbol 0\,仅存在零解\,\boldsymbol x=A^{-1}\boldsymbol 0=\boldsymbol 0A可逆,则Ax=0仅存在零解x=A10=0

Note 5:2×22\times22×2 的矩阵 AAA 可逆,当且仅当 ad−bc≠0ad-bc\neq0adbc=02×2 逆矩阵:[abcd]−1=1ad−bc[d−b−ca](2.5.3)2\times2\,逆矩阵:\begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1}=\frac{1}{ad-bc}\begin{bmatrix}\kern 7ptd&-b\\-c&\kern 7pta\end{bmatrix}\kern 15pt(2.5.3)2×2逆矩阵:[acbd]1=adbc1[dcba](2.5.3)ad−bcad-bcadbcAAA 的行列式,若矩阵的行列式不为零,则矩阵可逆。
Note 6: 若对角线矩阵的对角线元素都不为零,则对角线矩阵可逆:
在这里插入图片描述
例12×22\times22×2 的矩阵 A=[1212]A=\begin{bmatrix}1&2\\1&2\end{bmatrix}A=[1122] 不可逆。因为 ad−bc=2−2=0ad-bc=2-2=0adbc=22=0,所以 Note 5 的测试失败。当 x=(2,−1)\boldsymbol x=(2,-1)x=(2,1)Ax=0A\boldsymbol x=\boldsymbol 0Ax=0,所以 Note 3 的测试失败。没有两个主元,所以 Note 1 的测试失败。
消元法会使得矩阵 AAA 的第二行变成零行。

二、AB 乘积的逆矩阵

两个非零数 aaabbb,它们都有倒数,但它们的和不一定有倒数。例如 a=3a=3a=3b=−3b=-3b=3,则 aaa 的倒数是 13\displaystyle\frac{1}{3}31bbb 的倒数是 −13-\displaystyle\frac{1}{3}31,它们的和 a+b=0a+b=0a+b=0000 没有倒数。但是它们的乘积 ab=−9ab=-9ab=9 是有倒数的,其倒数是 13×(−13)=−19\displaystyle\frac{1}{3}\times(-\frac{1}{3})=-\frac{1}{9}31×(31)=91
对于两个矩阵 AAABBB 和上面的情况类似,它们的和不一定可逆,但是如果这两个矩阵均可逆,那么它们的乘积 ABABAB 也可逆。只是 A−1A^{-1}A1B−1B^{-1}B1 需要反序相乘:

如果 A 和 B 均可逆,则 AB 也可逆。AB 的逆矩阵是:(AB)−1=B−1A−1(2.5.4)如果\,A\,和\,B\,均可逆,则\,AB\,也可逆。AB\,的逆矩阵是:\\(AB)^{-1}=B^{-1}A^{-1}\kern 18pt(2.5.4)如果AB均可逆,则AB也可逆。AB的逆矩阵是:(AB)1=B1A1(2.5.4)

为什么需要反序相乘呢?我们计算 ABABABB−1A−1B^{-1}A^{-1}B1A1,中间会有 BB−1=IBB^{-1}=IBB1=IAB 的逆矩阵(AB)(B−1A−1)=AIA−1=AA−1=IAB\,的逆矩阵\kern 20pt(AB)(B^{-1}A^{-1})=AIA^{-1}=AA^{-1}=IAB的逆矩阵(AB)(B1A1)=AIA1=AA1=I去掉括号,先求 BB−1BB^{-1}BB1。同样的 B−1A−1B^{-1}A^{-1}B1A1ABABAB 等于 III
B−1A−1B^{-1}A^{-1}B1A1 说明了一个基本的数学法则,逆矩阵就是逆序。例如先穿袜子再穿鞋子,逆序就是先脱鞋子再脱袜子。三个及三个以上的矩阵同样遵循这样的反序:

反序(ABC)−1=C−1B−1A−1(2.5.5)\pmb{反序}\kern 10pt(ABC)^{-1}=C^{-1}B^{-1}A^{-1}\kern 20pt(2.5.5)反序(ABC)1=C1B1A1(2.5.5)

例2消元矩阵的逆矩阵。如果 EEE 从行 222 减去 555 倍的行 111,那么 E−1E^{-1}E1 就会将 555 倍的行 111 加到行 222E 减去E−1 加上E=[100−510001],E−1=[100510001]\begin{matrix}E\,减去\\E^{-1}\,加上\end{matrix}\kern 10ptE=\begin{bmatrix}\kern 7pt1&0&0\\-5&1&0\\\kern 7pt0&0&1\end{bmatrix},\kern 10ptE^{-1}=\begin{bmatrix}1&0&0\\5&1&0\\0&0&1\end{bmatrix}E减去E1加上E=150010001,E1=150010001EE−1EE^{-1}EE1 将得到单位矩阵 IIIE−1EE^{-1}EE1E 也会得到 III,它是先加上再减去的 555 倍的行 111。如果 AC=IAC=IAC=I,则 CA=ICA=ICA=I
对于方阵来说,一侧的逆矩阵也是另一侧的逆矩阵。

例3】假设 FFF 从行 333 减去 444 倍的行 222,则 F−1F^{-1}F1 会将其加回去:F=[1000100−41],F−1=[100010041]F=\begin{bmatrix}1&\kern 7pt0&0\\0&\kern 7pt1&0\\0&-4&1\end{bmatrix},\kern 10ptF^{-1}=\begin{bmatrix}1&0&0\\0&1&0\\0&4&1\end{bmatrix}F=100014001,F1=100014001现在用 FFF 乘上例 2 中的 EEE,求出 FEFEFE,同时求出 E−1F−1E^{-1}F^{-1}E1F1。注意 FEFEFEE−1F−1E^{-1}F^{-1}E1F1 的顺序!FE=[100−51020−40],E−1F−1=[100510041](2.5.6)FE=\begin{bmatrix}\kern 7pt1&\kern 7pt0&0\\-5&\kern 7pt1&0\\\pmb{20}&-4&0\end{bmatrix},\kern 10ptE^{-1}F^{-1}=\begin{bmatrix}1&0&0\\5&1&0\\0&4&1\end{bmatrix}\kern 15pt(2.5.6)FE=1520014000,E1F1=150014001(2.5.6)逆矩阵 E−1F−1E^{-1}F^{-1}E1F1 是一个美丽又正确的矩阵,EFEFEF 含有 202020,但是它的逆矩阵却没有。EEE 从行 222 减去 555 倍的行 111,然后 FFF 从行 333 中减去 444 倍新的行 222 (此时的行 222 已经被行 111 改变了)。所以 FEFEFE 会使得行 333 受到行 111 的影响
而按照 E−1F−1E^{-1}F^{-1}E1F1 的顺序,上述影响并没有出现。F−1F^{-1}F1444 倍的行 222 加到行 333,然后 E−1E^{-1}E1 又将 555 倍的行 111 加到行 222 上,此过程中行 333 没有再被改变,所以就不再含有 202020。所以 E−1F−1E^{-1}F^{-1}E1F1 不会使行 333 受到行 111 的影响
这也就是为什么会有 A=LUA=LUA=LU,它可以从三角矩阵 UUU 回到 AAA,其乘数将会完美的出现在下三角矩阵 LLL 中。

消元的顺序是先 E 后 F,逆序是先 F−1 后 E−1E−1F−1 比较快,乘数 5,4 落在对角线元素 1 的下方消元的顺序是先\,E\,后\,F,逆序是先\,F^{-1}\,后\,E^{-1}\\E^{-1}F^{-1}\,比较快,乘数\,5,4\,落在对角线元素\,1\,的下方消元的顺序是先EF,逆序是先F1E1E1F1比较快,乘数5,4落在对角线元素1的下方

三、高斯-若尔当(Gauss-Jordan)消元法

方程 Ax=bA\boldsymbol x=\boldsymbol bAx=b 的解是 x=A−1b\boldsymbol x=A^{-1}\boldsymbol bx=A1b。使用消元法可以直接求出 x\boldsymbol xx,消元法也可以求出 A−1A^{-1}A1。高斯 - 若尔当的思想就是求解 AA−1=IAA^{-1}=IAA1=I,找到 A−1A^{-1}A1 的每一列。
AAAA−1A^{-1}A1 的第一列(称为 x1\boldsymbol x_1x1),得到 III 的第一列(称为 e1\boldsymbol e_1e1),假设 AAA3×33\times 33×3 的方阵,则方程是 Ax1=e1=(1,0,0)A\boldsymbol x_1=\boldsymbol e_1=(1,0,0)Ax1=e1=(1,0,0),同样的还有两个方程。AAA 乘上 A−1A^{-1}A1 的每一列 x1,x2,x3\boldsymbol x_1,\boldsymbol x_2,\boldsymbol x_3x1,x2,x3 得到 III 的列:

A−1 的三列AA−1=A[x1x2x3]=[e1e2e3]=I(2.5.7)A^{-1}\,的三列\kern 10ptAA^{-1}=A\begin{bmatrix}\boldsymbol x_1&\boldsymbol x_2&\boldsymbol x_3\end{bmatrix}=\begin{bmatrix}\boldsymbol e_1&\boldsymbol e_2&\boldsymbol e_3\end{bmatrix}=I\kern 18pt(2.5.7)A1的三列AA1=A[x1x2x3]=[e1e2e3]=I(2.5.7)

要得到 AAA 的逆矩阵,我们需要求解三个方程:Ax1=e1=(1,0,0)、Ax2=e2=(0,1,0)、Ax3=e3=(0,0,1)A\boldsymbol x_1=\boldsymbol e_1=(1,0,0) 、A\boldsymbol x_2=\boldsymbol e_2=(0,1,0)、A\boldsymbol x_3=\boldsymbol e_3=(0,0,1)Ax1=e1=(1,0,0)Ax2=e2=(0,1,0)Ax3=e3=(0,0,1)。高斯 - 若尔当消元法就是用这个方法求逆矩阵 A−1A^{-1}A1
高斯 - 若尔当消元法是通过同时求解 nnn 个方程来计算 A−1A^{-1}A1。一般来说增广矩阵 [Ab]\begin{bmatrix}A&\boldsymbol b\end{bmatrix}[Ab] 会多一列 b\boldsymbol bb。当 AAA3×33\times33×3 的矩阵时,会在右侧多 333e1,e2,e3\boldsymbol e_1,\boldsymbol e_2,\boldsymbol e_3e1,e2,e3,它们是 III 的列,因此增广矩阵就是分块矩阵 [AI]\begin{bmatrix}A&I\end{bmatrix}[AI]。下面以矩阵 KKK 为例,它的对角线元素都是 222222 旁边全是 −1-11,其它元素均为 000[Ke1e2e3]=[2−10100−12−10100−12001]开始对K进行高斯−若尔当消元→[2−10100032−112100−12001](12row1+row2)→[2−10100032−11210004313231](23row2+row3)\begin{bmatrix}K&\boldsymbol e_1&\boldsymbol e_2&\boldsymbol e_3\end{bmatrix}=\begin{bmatrix}\kern 7pt\pmb 2&\pmb{-1}&\kern 7pt\pmb0&1&0&0\\\pmb{-1}&\kern 7pt\pmb2&\pmb{-1}&0&1&0\\\kern 7pt\pmb0&\pmb{-1}&\kern 7pt\pmb2&0&0&1\end{bmatrix}\kern 10pt开始对K进行高斯-若尔当消元\\\kern 13pt\rightarrow\begin{bmatrix}2&-1&\kern 7pt0&1&0&0\\\pmb0&\kern 7pt\displaystyle\pmb{\frac{3}{2}}&\pmb{-1}&\displaystyle\pmb{\frac{1}{2}}&\pmb1&\pmb0\\0&-1&\kern 7pt2&0&0&1\end{bmatrix}\kern 10pt(\frac{1}{2}row1+row2)\\\kern 19pt\rightarrow\begin{bmatrix}2&-1&\kern 7pt0&1&0&0\\0&\kern 7pt\displaystyle\frac{3}{2}&-1&\displaystyle\frac{1}{2}&1&0\\[1.ex]\pmb0&\kern 7pt\pmb0&\kern 7pt\displaystyle\pmb{\frac{4}{3}}&\displaystyle\pmb{\frac{1}{3}}&\displaystyle\pmb{\frac{2}{3}}&\pmb1\end{bmatrix}\kern 10pt(\frac{2}{3}row2+row3)[Ke1e2e3]=210121012100010001开始对K进行高斯若尔当消元20012310121210010001(21row1+row2)20012300134121310132001(32row2+row3)到这一步只完成了求 K−1K^{-1}K1 的一半,矩阵的前 333 列是 UUU(上三角),主元 2,32,432,\displaystyle\frac{3}{2},\frac{4}{3}2,23,34 在对角线上。高斯在这里会利用回代,而若尔当会继续执行消元!他会一直进行到简化阶梯形式 R=IR=IR=I。通过下面的行继续进行消元,使得主元上方都是零(第三主元上都为零)→[2−101000320343234004313231](34row3+row2)(第三主元上都为零)\rightarrow\begin{bmatrix}2&-1&0&1&0&0\\[1.ex]\pmb0&\kern 7pt\displaystyle\pmb{\frac{3}{2}}&\pmb0&\displaystyle\pmb{\frac{3}{4}}&\displaystyle\pmb{\frac{3}{2}}&\displaystyle\pmb{\frac{3}{4}}\\[2.ex]0&\kern 7pt0&\displaystyle\frac{4}{3}&\displaystyle\frac{1}{3}&\displaystyle\frac{2}{3}&1\end{bmatrix}\kern 10pt(\frac{3}{4}row3+row2)(第三主元上都为零)2001230003414331023320431(43row3+row2)(第二主元上都为零)→[200321120320343234004313231](23row2+row1)(第二主元上都为零)\rightarrow\begin{bmatrix}\pmb2&\pmb0&\pmb0&\displaystyle\pmb{\frac{3}{2}}&\pmb1&\displaystyle\pmb{\frac{1}{2}}\\[1.5ex]0&\displaystyle\frac{3}{2}&0&\displaystyle\frac{3}{4}&\displaystyle\frac{3}{2}&\displaystyle\frac{3}{4}\\[1.5ex]0&0&\displaystyle\frac{4}{3}&\displaystyle\frac{1}{3}&\displaystyle\frac{2}{3}&1\end{bmatrix}\kern 10pt(\frac{2}{3}row2+row1)(第二主元上都为零)200023000342343311233221431(32row2+row1)高斯 - 若尔当的最后一步是将每行除以改行的主元,使新的主元全部为 111
因为 KKK 是可逆的,所以矩阵 [IK−1]\begin{bmatrix}I&K^{-1}\end{bmatrix}[IK1] 的左半部分是 III,右半部分就是 K−1K^{-1}K1(除以 2)(除以32)(除以43)[10034121401012112001141234]=[Ix1x2x3]=[IK−1]\begin{matrix}(除以\,2)\\[1.5ex](除以\displaystyle\frac{3}{2})\\[1.5ex](除以\displaystyle\frac{4}{3})\end{matrix}\kern 8pt\begin{bmatrix}\pmb1&0&0&\displaystyle\pmb{\frac{3}{4}}&\displaystyle\pmb{\frac{1}{2}}&\displaystyle\pmb{\frac{1}{4}}\\[1.5ex]0&\pmb1&0&\displaystyle\pmb{\frac{1}{2}}&\pmb1&\displaystyle\pmb{\frac{1}{2}}\\[1.5ex]0&0&\pmb1&\displaystyle\pmb{\frac{1}{4}}&\displaystyle\pmb{\frac{1}{2}}&\displaystyle\pmb{\frac{3}{4}}\end{bmatrix}=\begin{bmatrix}I&\boldsymbol x_1&\boldsymbol x_2&\boldsymbol x_3\end{bmatrix}=\begin{bmatrix}I&K^{-1}\end{bmatrix}(除以2)(除以23)(除以34)10001000143214121121412143=[Ix1x2x3]=[IK1]3×63\times63×6 的矩阵 [KI]\begin{bmatrix}K&I\end{bmatrix}[KI] 开始,以 [IK−1]\begin{bmatrix}I&K^{-1}\end{bmatrix}[IK1] 结束。对于任意的可逆矩阵 AAA,应用高斯 - 若尔当消元法:

Gauss-JordanA−1乘[AI]得到[IA−1]\textrm{Gauss-Jordan}\kern15ptA^{-1}乘\begin{bmatrix}A&I\end{bmatrix}得到\begin{bmatrix}I&A^{-1}\end{bmatrix}Gauss-JordanA1[AI]得到[IA1]

消元步骤在将 AAA 变为 III 过程中会得到逆矩阵。对于大型矩阵,我们可能并不想要 A−1A^{-1}A1,但是对于小型矩阵,得到逆矩阵可能会很重要。下面是关于 K−1K^{-1}K1 的三条观察结果:

  1. KKK 是关于主对角线对称,K−1K^{-1}K1 也是对称的。
  2. KKK 是三对角(tridiagonal)矩阵(只有 333 个非零对角线),但是 K−1K^{-1}K1 是一个没有 000 的稠密(dense)矩阵。这也是另一个不常计算逆矩阵的原因。带状(band)矩阵通常都是稠密矩阵。
  3. 主元的乘积是 2(32)(43)=42(\displaystyle\frac{3}{2})(\frac{4}{3})=42(23)(34)=4444 就是 KKK 的行列式。 K−1与K的行列式做除数有关K−1=14[321242123](2.5.8)K^{-1}与K的行列式做除数有关\kern 15ptK^{-1}=\frac{1}{4}\begin{bmatrix}3&2&1\\2&4&2\\1&2&3\end{bmatrix}\kern 14pt(2.5.8)K1K的行列式做除数有关K1=41321242123(2.5.8)这就是可逆矩阵的行列式不为零的原因:因为要除以行列式。

例4】使用高斯 - 若尔当消元法求 A−1A^{-1}A1A=[2347]A=\begin{bmatrix}2&3\\4&7\end{bmatrix}A=[2437]
解:[AI]=[23104701]→[231001−21](这是[UL−1])\begin{bmatrix}A&I\end{bmatrix}=\begin{bmatrix}\pmb2&\pmb3&1&0\\\pmb4&\pmb7&0&1\end{bmatrix}\rightarrow\begin{bmatrix}2&3&\kern 7pt1&0\\\pmb0&\pmb1&\pmb{-2}&\pmb1\end{bmatrix}\kern 38pt(这是\begin{bmatrix}U&L^{-1}\end{bmatrix})[AI]=[24371001][20311201](这是[UL1])→[207−301−21]→[1072−3201−21](这是[IA−1])\kern 32pt\rightarrow\begin{bmatrix}\pmb2&\pmb0&\kern 7pt\pmb7&\pmb{-3}\\0&1&-2&1\end{bmatrix}\rightarrow\begin{bmatrix}1&0&\kern 7pt\displaystyle\pmb{\frac{7}{2}}&\displaystyle\pmb{-\frac{3}{2}}\\0&1&\pmb{-2}&\kern 7pt\pmb1\end{bmatrix}\kern 10pt(这是\begin{bmatrix}I&A^{-1}\end{bmatrix})[20017231][1001272231](这是[IA1])例5】如果 AAA 是可逆的上三角矩阵,那么 A−1A^{-1}A1 也是。从 AA−1=IAA^{-1}=IAA1=I 开始。

  1. AAAA−1A^{-1}A1 的第 jjj 列等于 III 的第 jjj 列,该列后面有 n−jn-jnj 个零。
  2. 使用回代可以得到 A−1A^{-1}A1 的第 jjj 列后面有 n−jn-jnj 个零。
  3. 将这些列 [∗⋯∗⋯∗]T\begin{bmatrix}*\cdots*\cdots*\end{bmatrix}^T[]T 都放进 A−1A^{-1}A1 中,就可得到 A−1A^{-1}A1 是也是一个上三角矩阵。

A−1=[1−1001−1001]−1=[111011001]列 j=1 和 2 后面有3−j=2 和 1个 0A^{-1}=\begin{bmatrix}1&-1&\kern 7pt0\\\pmb0&\kern 7pt1&-1\\\pmb0&\kern 7pt\pmb0&\kern 7pt1\end{bmatrix}^{-1}=\begin{bmatrix}1&1&1\\\pmb0&1&1\\\pmb0&\pmb0&1\end{bmatrix}\kern 5pt\begin{matrix}列\,j=1\,和\,2\,后面有\\3-j=2\,和\,1个\,0\end{matrix}A1=1001100111=100110111j=12后面有3j=210在 MATLAB 中使用 X = inv(A) 求 AAA 的逆矩阵,该函数是利用 rref(reduced row echelon form)将矩阵简化为行阶梯形式

I = eye(n);   			  % 定义 n×n 的单位矩阵
R = rref([A I]);	      % 对增广矩阵 [A I] 执行消元法
X = R(:, n+1:n+n);        % 取出 R 后面的 n 列 X 就是 A 的逆矩阵

在这里插入图片描述
这里的 AAA 必须可逆,否则消元法不能将 AAA 变成 IIIRRR 的左半部分)。
从高斯 - 若尔当消元法可以看出,要计算一个 A−1A^{-1}A1 需要大量的计算,若有 nnn 列,则需要 nnn 个方程,但是每个方程都有左侧的 AAA 相关(这是工作量最大的地方),A−1A^{-1}A1 整体需要 n3n^3n3 次乘法和减法,求解一个 Ax=bA\boldsymbol x=\boldsymbol bAx=b 需要 n3/3n^3/3n3/3 次乘法和加法。
不用 A−1A^{-1}A1 去求解 Ax=bA\boldsymbol x=\boldsymbol bAx=b,我们用一个列 b\boldsymbol bb 去求一个列 x\boldsymbol xx

四、奇异与可逆的对比

什么样的矩阵可逆?AAA 存在一整组主元(允许行交换),则 A−1A^{-1}A1 存在。 我们可以使用高斯 - 若尔当消元法来证明:

  1. nnn 个主元时,消元法求解所有的方程 Axi=eiA\boldsymbol x_i=\boldsymbol e_iAxi=ei,列 xi\boldsymbol x_ixi 进入 A−1A^{-1}A1,则 AA−1=IAA^{-1}=IAA1=I 并且 A−1A^{-1}A1 至少是右逆矩阵
  2. 消元法是用一系列矩阵 E′sE'sEsP′sP'sPsD−1D^{-1}D1 的乘法:左逆矩阵 CCA=(D−1⋯E⋯P⋯E)A=I(2.5.9)左逆矩阵\,C\kern 15ptCA=(D^{-1}\cdots E\cdots P\cdots E)A=I\kern 10pt(2.5.9)左逆矩阵CCA=(D1EPE)A=I(2.5.9)

D−1D^{-1}D1 是除以主元,矩阵 EEE 使得主元上方和下方的元素变为 000PPP 是在需要时进行行交换。式(9)中这些矩阵的乘积就是 AAA 的左逆矩阵。使用 nnn 个主元得到 A−1A=IA^{-1}A=IA1A=I
由 Note2 知:左逆矩阵等于右逆矩阵,所以有一整组主元的方阵两边都存在逆矩阵,且相等。
下面证明若 AC=IAC=IAC=I,则 AAA 一定有 nnn 个主元。

  1. 如果 AAA 没有 nnn 个主元,则消元法会得到一个零行。
  2. 这些消元步骤可以用可逆矩阵 MMM 实现,所以 MAMAMA 也有一个零行。
  3. 因为 AC=IAC=IAC=I,所以 MAC=MMAC=MMAC=MMAMAMA 的零行乘 CCC 也会得到一个零行。
  4. 可逆矩阵 MMM 不可能存在零行!所以若 AC=IAC=IAC=I,则 AAA 一定有 nnn 个主元。CCC 就是 A−1A^{-1}A1

消元法提供了方阵可逆的完整测试。AAAnnn 个主元时,A−1A^{-1}A1 一定存在(可通过高斯 - 若尔当消元法找到)

如果 AC=I,则 CA=I 且 C=A−1(2.5.10)如果\, AC=I,则\,CA=I\,且\,C=A^{-1}\kern 15pt(2.5.10)如果AC=I,则CA=IC=A1(2.5.10)

例6】如果 LLL 是下三角矩阵且对角线元素都是 111,则 L−1L^{-1}L1 也是。

一个三角矩阵可逆,当且仅当没有对角线元素是 000

使用高斯 - 若尔当消元法从 E32,E31,E21E_{32},E_{31},E_{21}E32,E31,E21 创建 L−1L^{-1}L1[100100310010451001]=[LI]→[100100010−310051−401]逆矩阵仍是三角形→[100100010−31000111−51]=[IL−1]\kern 50pt\begin{bmatrix}\pmb1&\pmb0&\pmb0&1&0&0\\\pmb3&\pmb1&\pmb0&0&1&0\\\pmb4&\pmb5&\pmb1&0&0&1\end{bmatrix}=\begin{bmatrix}L&I\end{bmatrix}\\\rightarrow\begin{bmatrix}1&0&0&\kern 7pt1&0&0\\0&1&0&-3&1&0\\0&5&1&-4&0&1\end{bmatrix}\\\begin{matrix}逆矩阵\\仍是三角形\end{matrix}\kern 10pt\rightarrow\begin{bmatrix}1&0&0&\kern 7pt\pmb1&\kern 7pt\pmb0&\pmb0\\0&1&0&\pmb{-3}&\kern 7pt\pmb1&\pmb0\\0&0&1&\kern 4pt\pmb{11}&\pmb{-5}&\pmb1\end{bmatrix}=\begin{bmatrix}I&L^{-1}\end{bmatrix}134015001100010001=[LI]100015001134010001逆矩阵仍是三角形1000100011311015001=[IL1]

五、分辨逆矩阵

正常情况下,若要判断一个矩阵是否可逆,需要做很多工作。通常是使用消元法去找它是否存在一整组的非零主元。但是有些矩阵可以很快速的判断出它是否可逆,例如它是一个严格对角线优势(diagonally dominant)矩阵。
严格对角线优势矩阵是可逆的。这种矩阵的对角线元素 aiia_{ii}aii 的绝对值比该行其它所有元素绝对值的和还要大,对于每一行都有:∣aii∣>∑j≠i∣aij∣,即 ∣aii∣=∣ai1∣+⋯+(跳过∣aii∣)+⋯∣ain∣(2.5.11)|a_{ii}|>\sum_{j\neq i}|a_{ij}|,即\,|a_{ii}|=|a_{i1}|+\cdots+(跳过|a_{ii}|)+\cdots |a_{in}|\kern 10pt(2.5.11)aii>j=iaij,即aii=ai1++(跳过aii)+ain(2.5.11)下面三个矩阵 AAA 是严格对角线优势矩阵 (3>2)(3>2)(3>2)BBB 不是(但仍然可逆),CCC 是奇异矩阵。A=[311131113],B=[211121113],C=[111111113]A=\begin{bmatrix}3&1&1\\1&3&1\\1&1&3\end{bmatrix},\kern 10ptB=\begin{bmatrix}2&1&1\\1&2&1\\1&1&3\end{bmatrix},\kern 10ptC=\begin{bmatrix}1&1&1\\1&1&1\\1&1&3\end{bmatrix}A=311131113,B=211121113,C=111111113原因: 对于任意的非零向量 x\boldsymbol xx,假设它最大的分量是 ∣xi∣|x_i|xi。那么不可能有 Ax=0A\boldsymbol x=\boldsymbol 0Ax=0。此时选择 AAA 的行 iii,则若要 AxA\boldsymbol xAx 的行 iii000,则有:ai1x1+⋯aiixi+⋯+ainxn=0a_{i1}x_1+\cdots a_{ii}x_i+\cdots+a_{in}x_n=0ai1x1+aiixi++ainxn=0而上述不可能为零。因为 ∣aiixi∣|a_{ii}x_i|aiixi 比其他所有的和还要大。所有的∣xj∣<∣xi∣∑j≠i∣aijxj∣≤∑j≠i∣aij∣∣xj∣<∣aii∣∣xi∣因为aii占优势所有的|x_j|<|x_i|\kern 10pt\sum_{j\neq i}|a_{ij}x_j|\leq\sum_{j\neq i}|a_{ij}||x_j|<|a_{ii}||x_i|\kern 10pt因为a_{ii}占优势所有的xj<xij=iaijxjj=iaij∣∣xj<aii∣∣xi因为aii占优势因此只有当 x=0\boldsymbol x=\boldsymbol 0x=0Ax=0A\boldsymbol x=\boldsymbol 0Ax=0 才成立,所有 AAA 可逆。需要注意的是,若不是对角线优势矩阵也不一定不可逆,例如 BBB 不是对角线优势矩阵,它仍然可逆。

六、主要内容总结

  1. 逆矩阵有 AA−1=IAA^{-1}=IAA1=IA−1A=IA^{-1}A=IA1A=I
  2. AAA 可逆当且仅当它有 nnn 个主元(允许行交换)。
  3. (重要)。如果存在非零向量 x\boldsymbol xx 使得 Ax=0A\boldsymbol x=\boldsymbol 0Ax=0,则 AAA 不可逆。
  4. ABABAB 的逆矩阵是反序乘积 B−1A−1B^{-1}A^{-1}B1A1(ABC)−1=C−1B−1A−1(ABC)^{-1}=C^{-1}B^{-1}A^{-1}(ABC)1=C1B1A1
  5. 高斯 - 若尔当消元法求解 AA−1=IAA^{-1}=IAA1=I 可以得到 A−1A^{-1}A1nnn 个列。增广矩阵 [AI]\begin{bmatrix}A&I\end{bmatrix}[AI] 使用行简化得到 [IA−1]\begin{bmatrix}I&A^{-1}\end{bmatrix}[IA1]
  6. 严格对角线优势矩阵是可逆的。每个 ∣aii∣|a_{ii}|aii 在它所在的行站主导地位。

七、例题

例7】三角形差分矩阵 AAA 的逆矩阵是三角形求和矩阵 SSS[AI]=[100100−1100100−11001]→[1001000101100−11001]→[100100010110001111]=[IA−1]=[I求和矩阵]\begin{bmatrix}A&I\end{bmatrix}=\left[\begin{array}{ccc|c}\kern 7pt1&\kern 7pt0&0&1&0&0\\-1&\kern 7pt1&0&0&1&0\\\kern 7pt0&-1&1&0&0&1\end{array}\right]\rightarrow\left[\begin{array}{ccc|c}1&\kern 7pt0&0&1&0&0\\0&\kern 7pt1&0&1&1&0\\0&-1&1&0&0&1\end{array}\right]\kern 18pt\\\rightarrow\left[\begin{array}{ccc|c}1&0&0&1&0&0\\0&1&0&1&1&0\\0&0&1&1&1&1\end{array}\right]=\begin{bmatrix}I&A^{-1}\end{bmatrix}=\begin{bmatrix}I&求和矩阵\end{bmatrix}[AI]=110011001100010001100011001110010001100010001111011001=[IA1]=[I求和矩阵]如果将 a13a_{13}a13 改为 −1-11,则 AAA 所有的行加起来都是 000,方程 Ax=0A\boldsymbol x=\boldsymbol 0Ax=0 将会存在非零解 (1,1,1)(1,1,1)(1,1,1),所以新的矩阵 AAA 将不可逆。

例8】下列矩阵有 333 个可逆,333 个不可逆。如果可逆,找出其逆矩阵,若不可逆,说明原因(零行列式,主元太少,Ax=0A\boldsymbol x=\boldsymbol 0Ax=0 有非零解)。下列矩阵按顺序为 A,B,C,D,S,EA,B,C,D,S,EA,B,C,D,S,E
[4386][4387][6660][6666][100110111][111110111]\begin{bmatrix}4&3\\8&6\end{bmatrix}\kern 10pt\begin{bmatrix}4&3\\8&7\end{bmatrix}\kern 10pt\begin{bmatrix}6&6\\6&0\end{bmatrix}\kern 10pt\begin{bmatrix}6&6\\6&6\end{bmatrix}\kern 10pt\begin{bmatrix}1&0&0\\1&1&0\\1&1&1\end{bmatrix}\kern 10pt\begin{bmatrix}1&1&1\\1&1&0\\1&1&1\end{bmatrix}[4836][4837][6660][6666]111011001111111101
解: B−1=14[7−3−84]C−1=136[066−6]S−1=[100−1101−11]B^{-1}=\frac{1}{4}\begin{bmatrix}7&-3\\-8&4\end{bmatrix}\kern 10ptC^{-1}=\frac{1}{36}\begin{bmatrix}0&6\\6&-6\end{bmatrix}\kern 10ptS^{-1}=\begin{bmatrix}\kern 7pt1&\kern 7pt0&0\\-1&\kern 7pt1&0\\\kern 7pt1&-1&1\end{bmatrix}B1=41[7834]C1=361[0666]S1=111011001AAA 不可逆,因为其行列式为 4⋅6−3⋅8=24−24=04\cdot6-3\cdot8=24-24=04638=2424=0DDD 不可逆,因为它仅有一个主元;行 222 减去行 111 变成了零行。EEE 有两个相等的列,或者说 Ex=0E\boldsymbol x=\boldsymbol 0Ex=0 有非零解 (−1,1,0)(-1,1,0)(1,1,0)
不可逆的矩阵均可使用这三个原因。

例9】使用高斯 - 若尔当消元法求三角帕斯卡(Pascal)矩阵。帕斯卡三角–每个元素加上其左侧元素等于它下面的元素。矩阵 LLL 的元素是二项式系数。下一行将会是 1,4,6,4,11,4,6,4,11,4,6,4,1三角帕斯卡矩阵L=[1000110012101331]=abs(pascal(4,1))三角帕斯卡矩阵\kern 10ptL=\begin{bmatrix}\pmb1&0&0&0\\\pmb1&\pmb1&0&0\\\pmb1&\pmb2&\pmb1&0\\\pmb1&\pmb3&\pmb3&\pmb1\end{bmatrix}=\textrm{abs(pascal(4,1))}三角帕斯卡矩阵L=1111012300130001=abs(pascal(4,1))解: 高斯 - 若尔当消元法从 [LI]\begin{bmatrix}L&I\end{bmatrix}[LI] 开始,通过减去行 111 使得第一主元下方都为 000[LI]=[10001000110001001210001013310001]→[100010000100−11000210−10100331−1001]\begin{bmatrix}L&I\end{bmatrix}=\left[\begin{array}{cccc|}\pmb1&0&0&0&1&0&0&0\\\pmb1&\pmb1&0&0&0&1&0&0\\\pmb1&\pmb2&\pmb1&0&0&0&1&0\\\pmb1&\pmb3&\pmb3&\pmb1&0&0&0&1\end{array}\right]\rightarrow\left[\begin{array}{cccc|}1&0&0&0&\kern 7pt1&0&0&0\\\pmb0&1&0&0&\pmb{-1}&1&0&0\\\pmb0&2&1&0&\pmb{-1}&0&1&0\\\pmb0&3&3&1&\pmb{-1}&0&0&1\end{array}\right][LI]=1111012300130001100001000010000110000123001300011111010000100001下一步会使第二主元下方都变为 000,乘数是 222333。然后使第三主元下方变为 000,乘数是 333→[100010000100−110000101−21000312−301]→[100010000100−110000101−2100001−13−31]=[IL−1]\rightarrow\left[\begin{array}{cccc|}1&0&0&0&\kern 7pt1&\kern 7pt0&0&0\\0&1&0&0&-1&\kern 7pt1&0&0\\0&\pmb0&1&0&\kern 7pt\pmb1&\pmb{-2}&1&0\\0&\pmb0&3&1&\kern 7pt\pmb2&\pmb{-3}&0&1\end{array}\right]\rightarrow\left[\begin{array}{cccc|}1&0&0&0&\kern 7pt\pmb1&\kern 7pt0&\kern 7pt0&0\\0&1&0&0&\pmb{-1}&\kern 7pt\pmb1&\kern 7pt0&0\\0&0&1&0&\kern 7pt\pmb1&\pmb{-2}&\kern 7pt\pmb1&0\\0&0&\pmb0&1&\pmb{-1}&\kern 7pt\pmb3&\pmb{-3}&\pmb1\end{array}\right]=\begin{bmatrix}I&L^{-1}\end{bmatrix}1000010000130001111201230010000110000100001000011111012300130001=[IL1]由于所有的主元都是 111,所有没有必要再让每行除以主元得到 III。逆矩阵 L−1L^{-1}L1LLL 很像,只是奇对角线处是负号。
同样可以扩展到 n×nn\times nn×n 的帕斯卡矩阵,L−1L^{-1}L1 的对角线交替符号。

例10】希尔伯特(Hibert)矩阵 Hij=1i+j−1H_{ij}=\displaystyle\frac{1}{i+j-1}Hij=i+j11。使用 MATLAB 求准确的 6×66\times66×6 的逆矩阵 invhilb(6),然后计算 inv(hilb(6))。这两个结果为什么不同?
解:

invhilb(6)		% 得到准确的 6×6 的希尔伯特逆矩阵
inv(hilb(6))    % 计算 hilb(6) 的逆矩阵

MATLAB 的运行结果如下图:

在这里插入图片描述
这两个结果不同是因为 hilb(6) 并不是准确的 Hilbert 矩阵,它的小数部分有四舍五入,所以 inv(hilb(6)) 也不是准确的逆矩阵。

例11】(a)在 MATLAB 中用 inv( P ) 求 4×44\times44×4 的对称矩阵 P = pascal(4);
(b)创建帕斯卡下三角矩阵 L = abs(pascal(4,1)) 并验证 P=LLTP=LL^{T}P=LLT
解:

P = pascal(4)			% 创建一个 4×4 的帕斯卡矩阵 P
inv(P)					% 求 P 的逆矩阵
L = abs(pascal(4,1))	% 创建 4×4 帕斯卡矩阵的下三角矩阵 L
L * L'					% 计算 L * L'

运行结果如下:
在这里插入图片描述由运行结果可知,P=LLTP = LL^TP=LLT

例12】在 MATLAB 中,如果 A = ones(4),b = rand(4,1),如何求解 Ax=bA\boldsymbol x = \boldsymbol bAx=b?如果 b=\boldsymbol b=b= ones(4,1) 呢?结果是什么?
解:

A = ones(4);	% 创建 4×4 的全 1 矩阵
b = rand(4,1);  % 生成 1 个 4×1 的随机向量,分量都在 0~1 之间
A\b				% 求解 Ax = b	
b = ones(4,1);  % 生成 4×1 的全 1 向量
A\b				% 求解 Ax = b

运行结果如下:

在这里插入图片描述对于 A\b 来说,若 A 不可逆,无论 b\boldsymbol bb 为多少,即是否有解,均会出现上图所示的警告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值