线性代数 - 矩阵求逆
flyfish
逆矩阵
逆矩阵就是可逆方阵的"倒数",对于方阵A\mathbf{A}A,如果存在一个方阵A−1\mathbf{A}^{-1}A−1,满足A×A−1=A−1×A=I\mathbf{A} \times \mathbf{A}^{-1} = \mathbf{A}^{-1} \times \mathbf{A} = \mathbf{I}A×A−1=A−1×A=I,那A−1\mathbf{A}^{-1}A−1就是A\mathbf{A}A的逆矩阵。
I\mathbf{I}I是单位矩阵,相当于数字里的"1",单位矩阵是一种特殊的方阵,:主对角线(从左上到右下)上的元素全是1,其余位置的元素全是0。
比如3阶单位矩阵I3=[100010001]\mathbf{I}_3 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}I3= 100010001
它的作用类似数字"1"------任何矩阵和它相乘,结果都等于原矩阵(前提是乘法规则允许)
矩阵A=[211433879]\mathbf{A} = \begin{bmatrix} 2 & 1 & 1 \\ 4 & 3 & 3 \\ 8 & 7 & 9 \end{bmatrix}A= 248137139 (行列式=4≠0,可逆),它的逆矩阵A−1\mathbf{A}^{-1}A−1就满足A×A−1=[100010001]\mathbf{A} \times \mathbf{A}^{-1} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}A×A−1= 100010001 。
- 前提:只有可逆方阵才有逆矩阵,非方阵或行列式=0的方阵(奇异矩阵)都没有逆矩阵。
 - 作用 :"还原",比如用A\mathbf{A}A把向量x\mathbf{x}x变成y\mathbf{y}y(y=Ax\mathbf{y}=\mathbf{A}\mathbf{x}y=Ax),用A−1\mathbf{A}^{-1}A−1乘y\mathbf{y}y就能变回x\mathbf{x}x(x=A−1y\mathbf{x}=\mathbf{A}^{-1}\mathbf{y}x=A−1y),这在解线性方程组时特别常用。
 - 唯一性:一个可逆矩阵的逆矩阵是唯一的,不会有多个不同的逆矩阵。
 
也可以这么说
设 A\mathbf{A}A 为 nnn 阶方阵(行数=列数=nnn),若存在 nnn 阶方阵 A−1\mathbf{A}^{-1}A−1,满足:
A×A−1=A−1×A=In\mathbf{A} \times \mathbf{A}^{-1} = \mathbf{A}^{-1} \times \mathbf{A} = \mathbf{I}_nA×A−1=A−1×A=In
其中 In\mathbf{I}_nIn 为 nnn 阶单位矩阵,形式为:
In=[10⋯001⋯0⋮⋮⋱⋮00⋯1]n×n\mathbf{I}n = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{bmatrix}{n \times n}In= 10⋮001⋮0⋯⋯⋱⋯00⋮1 n×n
则 A−1\mathbf{A}^{-1}A−1 称为 A\mathbf{A}A 的逆矩阵。
计算过程
计算矩阵A=[211433879]\mathbf{A} = \begin{bmatrix} 2 & 1 & 1 \\ 4 & 3 & 3 \\ 8 & 7 & 9 \end{bmatrix}A= 248137139 的逆矩阵
构造增广矩阵[A∣I3][\mathbf{A} \mid \mathbf{I}_3][A∣I3],通过初等行变换把左边的A\mathbf{A}A变成单位矩阵I3\mathbf{I}_3I3,此时右边的I3\mathbf{I}_3I3就变成了A−1\mathbf{A}^{-1}A−1。
第一步:构造初始增广矩阵
把A\mathbf{A}A和3阶单位矩阵I3\mathbf{I}_3I3拼接,得到:
A∣I3\]=\[211⋮100433⋮010879⋮001\] \[\\mathbf{A} \\mid \\mathbf{I}_3\] = \\begin{bmatrix} 2 \& 1 \& 1 \& \\vdots \& 1 \& 0 \& 0 \\\\ 4 \& 3 \& 3 \& \\vdots \& 0 \& 1 \& 0 \\\\ 8 \& 7 \& 9 \& \\vdots \& 0 \& 0 \& 1 \\end{bmatrix} \[A∣I3\]= 248137139⋮⋮⋮100010001 #### 第二步:消去第1列下方的非零元素(目标:第1列只有第1行非零) 行变换操作:r2=r2−2r1r_2 = r_2 - 2r_1r2=r2−2r1(第2行减去第1行的2倍)、r3=r3−4r1r_3 = r_3 - 4r_1r3=r3−4r1(第3行减去第1行的4倍) 计算过程: * r2r_2r2新值:\[4−2×2,3−2×1,3−2×1,0−2×1,1−2×0,0−2×0\]=\[0,1,1,−2,1,0\]\[4-2×2, 3-2×1, 3-2×1, 0-2×1, 1-2×0, 0-2×0\] = \[0, 1, 1, -2, 1, 0\]\[4−2×2,3−2×1,3−2×1,0−2×1,1−2×0,0−2×0\]=\[0,1,1,−2,1,0
- r3r_3r3新值:[8−4×2,7−4×1,9−4×1,0−4×1,0−4×0,1−4×0]=[0,3,5,−4,0,1][8-4×2, 7-4×1, 9-4×1, 0-4×1, 0-4×0, 1-4×0] = [0, 3, 5, -4, 0, 1][8−4×2,7−4×1,9−4×1,0−4×1,0−4×0,1−4×0]=[0,3,5,−4,0,1]
 
变换后矩阵:
211⋮100011⋮−210035⋮−401\] \\begin{bmatrix} 2 \& 1 \& 1 \& \\vdots \& 1 \& 0 \& 0 \\\\ 0 \& 1 \& 1 \& \\vdots \& -2 \& 1 \& 0 \\\\ 0 \& 3 \& 5 \& \\vdots \& -4 \& 0 \& 1 \\end{bmatrix} 200113115⋮⋮⋮1−2−4010001 #### 第三步:消去第2列下方的非零元素(目标:第2列只有第2行非零) 行变换操作:r3=r3−3r2r_3 = r_3 - 3r_2r3=r3−3r2(第3行减去第2行的3倍) 计算过程: * r3r_3r3新值:\[0−3×0,3−3×1,5−3×1,−4−3×(−2),0−3×1,1−3×0\]=\[0,0,2,2,−3,1\]\[0-3×0, 3-3×1, 5-3×1, -4-3×(-2), 0-3×1, 1-3×0\] = \[0, 0, 2, 2, -3, 1\]\[0−3×0,3−3×1,5−3×1,−4−3×(−2),0−3×1,1−3×0\]=\[0,0,2,2,−3,1
变换后矩阵:
211⋮100011⋮−210002⋮2−31\] \\begin{bmatrix} 2 \& 1 \& 1 \& \\vdots \& 1 \& 0 \& 0 \\\\ 0 \& 1 \& 1 \& \\vdots \& -2 \& 1 \& 0 \\\\ 0 \& 0 \& 2 \& \\vdots \& 2 \& -3 \& 1 \\end{bmatrix} 200110112⋮⋮⋮1−2201−3001 #### 第四步:将主对角线元素化为1(目标:第1、2、3行主对角线元素都是1) 行变换操作:r1=r1÷2r_1 = r_1 ÷ 2r1=r1÷2(第1行除以2)、r3=r3÷2r_3 = r_3 ÷ 2r3=r3÷2(第3行除以2) 计算过程: * r1r_1r1新值:\[2÷2,1÷2,1÷2,1÷2,0÷2,0÷2\]=\[1,0.5,0.5,0.5,0,0\]\[2÷2, 1÷2, 1÷2, 1÷2, 0÷2, 0÷2\] = \[1, 0.5, 0.5, 0.5, 0, 0\]\[2÷2,1÷2,1÷2,1÷2,0÷2,0÷2\]=\[1,0.5,0.5,0.5,0,0
- r3r_3r3新值:[0÷2,0÷2,2÷2,2÷2,−3÷2,1÷2]=[0,0,1,1,−1.5,0.5][0÷2, 0÷2, 2÷2, 2÷2, -3÷2, 1÷2] = [0, 0, 1, 1, -1.5, 0.5][0÷2,0÷2,2÷2,2÷2,−3÷2,1÷2]=[0,0,1,1,−1.5,0.5]
 
变换后矩阵:
10.50.5⋮0.500011⋮−210001⋮1−1.50.5\] \\begin{bmatrix} 1 \& 0.5 \& 0.5 \& \\vdots \& 0.5 \& 0 \& 0 \\\\ 0 \& 1 \& 1 \& \\vdots \& -2 \& 1 \& 0 \\\\ 0 \& 0 \& 1 \& \\vdots \& 1 \& -1.5 \& 0.5 \\end{bmatrix} 1000.5100.511⋮⋮⋮0.5−2101−1.5000.5 #### 第五步:消去主对角线上方的非零元素(目标:上三角区域全为0) ##### 第一步:消去第3列上方非零元素(第1、2行的第3列) 行变换操作:r1=r1−0.5r3r_1 = r_1 - 0.5r_3r1=r1−0.5r3(第1行减去第3行的0.5倍)、r2=r2−r3r_2 = r_2 - r_3r2=r2−r3(第2行减去第3行的1倍) 计算过程: * r1r_1r1新值:\[1−0.5×0,0.5−0.5×0,0.5−0.5×1,0.5−0.5×1,0−0.5×(−1.5),0−0.5×0.5\]=\[1,0.5,0,0,0.75,−0.25\]\[1-0.5×0, 0.5-0.5×0, 0.5-0.5×1, 0.5-0.5×1, 0-0.5×(-1.5), 0-0.5×0.5\] = \[1, 0.5, 0, 0, 0.75, -0.25\]\[1−0.5×0,0.5−0.5×0,0.5−0.5×1,0.5−0.5×1,0−0.5×(−1.5),0−0.5×0.5\]=\[1,0.5,0,0,0.75,−0.25
- r2r_2r2新值:[0−1×0,1−1×0,1−1×1,−2−1×1,1−1×(−1.5),0−1×0.5]=[0,1,0,−3,2.5,−0.5][0-1×0, 1-1×0, 1-1×1, -2-1×1, 1-1×(-1.5), 0-1×0.5] = [0, 1, 0, -3, 2.5, -0.5][0−1×0,1−1×0,1−1×1,−2−1×1,1−1×(−1.5),0−1×0.5]=[0,1,0,−3,2.5,−0.5]
 
变换后矩阵:
10.50⋮00.75−0.25010⋮−32.5−0.5001⋮1−1.50.5\] \\begin{bmatrix} 1 \& 0.5 \& 0 \& \\vdots \& 0 \& 0.75 \& -0.25 \\\\ 0 \& 1 \& 0 \& \\vdots \& -3 \& 2.5 \& -0.5 \\\\ 0 \& 0 \& 1 \& \\vdots \& 1 \& -1.5 \& 0.5 \\end{bmatrix} 1000.510001⋮⋮⋮0−310.752.5−1.5−0.25−0.50.5 ##### 第二步:消去第2列上方非零元素(第1行的第2列) 行变换操作:r1=r1−0.5r2r_1 = r_1 - 0.5r_2r1=r1−0.5r2(第1行减去第2行的0.5倍) 计算过程: * r1r_1r1新值:\[1−0.5×0,0.5−0.5×1,0−0.5×0,0−0.5×(−3),0.75−0.5×2.5,−0.25−0.5×(−0.5)\]=\[1,0,0,1.5,−0.5,0\]\[1-0.5×0, 0.5-0.5×1, 0-0.5×0, 0-0.5×(-3), 0.75-0.5×2.5, -0.25-0.5×(-0.5)\] = \[1, 0, 0, 1.5, -0.5, 0\]\[1−0.5×0,0.5−0.5×1,0−0.5×0,0−0.5×(−3),0.75−0.5×2.5,−0.25−0.5×(−0.5)\]=\[1,0,0,1.5,−0.5,0
第六步:得到最终结果(左侧化为I3\mathbf{I}_3I3,右侧即为A−1\mathbf{A}^{-1}A−1)
最终增广矩阵:
I3∣A−1\]=\[100⋮1.5−0.50010⋮−32.5−0.5001⋮1−1.50.5\] \[\\mathbf{I}_3 \\mid \\mathbf{A}\^{-1}\] = \\begin{bmatrix} 1 \& 0 \& 0 \& \\vdots \& 1.5 \& -0.5 \& 0 \\\\ 0 \& 1 \& 0 \& \\vdots \& -3 \& 2.5 \& -0.5 \\\\ 0 \& 0 \& 1 \& \\vdots \& 1 \& -1.5 \& 0.5 \\end{bmatrix} \[I3∣A−1\]= 100010001⋮⋮⋮1.5−31−0.52.5−1.50−0.50.5 将小数化为分数(更规范),矩阵A\\mathbf{A}A的逆矩阵为: A−1=\[32−120−352−121−3212\] \\mathbf{A}\^{-1} = \\begin{bmatrix} \\frac{3}{2} \& -\\frac{1}{2} \& 0 \\\\ -3 \& \\frac{5}{2} \& -\\frac{1}{2} \\\\ 1 \& -\\frac{3}{2} \& \\frac{1}{2} \\end{bmatrix} A−1= 23−31−2125−230−2121 不是方阵就一定不可逆,逆矩阵的定义要求矩阵A和它的逆矩阵A−1\\mathbf{A}\^{-1}A−1相乘,结果必须是单位矩阵I,而单位矩阵I本身是方阵(行数=列数)。 从乘法规则来看:如果A是m行n列的非方阵(m≠n),不管 A−1\\mathbf{A}\^{-1}A−1是什么形状,都没法满足A×A−1=A−1×A=I\\mathbf{A} \\times \\mathbf{A}\^{-1} = \\mathbf{A}\^{-1} \\times \\mathbf{A} = \\mathbf{I}A×A−1=A−1×A=I------因为左边相乘后矩阵的行数、列数,和右边单位矩阵的行数、列数根本对不上,乘法结果不可能是单位矩阵。 非方阵虽然没有"逆矩阵",但在某些场景下会有"伪逆",不过这和"可逆矩阵"不是一回事,不能等同看待。