2.5 逆矩阵

一、逆矩阵的注释

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

定义 如果存在一个矩阵   A − 1   “逆反”   A ,则矩阵   A   可逆: 两边逆反 A − 1 A = I   且   A A − 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)

并不是所有矩阵都有逆矩阵。方阵 A A A 第一个需要讨论的问题是: A A A 是否可逆?这里先不计算 A − 1 A^{-1} A1,大部分情况下,并不需要计算逆矩阵,下面是逆矩阵的 6 点注释:
Note 1: 矩阵可逆当且仅当消元法可以得到 n n n 个主元(允许行交换)。消元法求解 A x = b A\boldsymbol x=\boldsymbol b Ax=b 时不需要明确使用 A − 1 A^{-1} A1
Note 2: 矩阵 A A A 不可能存在两个不同的逆矩阵。假设 B A = I BA=I BA=I A C = I AC=I AC=I,由结合律可得 B = C B=C B=C B ( A C ) = ( B A ) C 得 B I = I C 或 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)上式证明了左逆矩阵 B B B(从左边乘)和右逆矩阵 C C C(从右边乘)是相等的。
Note 3: 若矩阵 A A A 可逆, A x = b A\boldsymbol x=\boldsymbol b Ax=b 有唯一解 x = A − 1 b \boldsymbol x=A^{-1}\boldsymbol b x=A1b

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

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

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

Note 5: 2 × 2 2\times2 2×2 的矩阵 A A A 可逆,当且仅当 a d − b c ≠ 0 ad-bc\neq0 adbc=0 2 × 2   逆矩阵: [ a b c d ] − 1 = 1 a d − b c [ d − b − c a ] ( 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) a d − b c ad-bc adbc A A A 的行列式,若矩阵的行列式不为零,则矩阵可逆。
Note 6: 若对角线矩阵的对角线元素都不为零,则对角线矩阵可逆:
在这里插入图片描述
例1 2 × 2 2\times2 2×2 的矩阵 A = [ 1 2 1 2 ] A=\begin{bmatrix}1&2\\1&2\end{bmatrix} A=[1122] 不可逆。因为 a d − b c = 2 − 2 = 0 ad-bc=2-2=0 adbc=22=0,所以 Note 5 的测试失败。当 x = ( 2 , − 1 ) \boldsymbol x=(2,-1) x=(2,1) A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0,所以 Note 3 的测试失败。没有两个主元,所以 Note 1 的测试失败。
消元法会使得矩阵 A A A 的第二行变成零行。

二、AB 乘积的逆矩阵

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

如果   A   和   B   均可逆,则   A B   也可逆。 A B   的逆矩阵是: ( A B ) − 1 = B − 1 A − 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)

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

反序 ( A B C ) − 1 = C − 1 B − 1 A − 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消元矩阵的逆矩阵。如果 E E E 从行 2 2 2 减去 5 5 5 倍的行 1 1 1,那么 E − 1 E^{-1} E1 就会将 5 5 5 倍的行 1 1 1 加到行 2 2 2 E   减去 E − 1   加上 E = [ 1 0 0 − 5 1 0 0 0 1 ] , E − 1 = [ 1 0 0 5 1 0 0 0 1 ] \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= 150010001 E E − 1 EE^{-1} EE1 将得到单位矩阵 I I I E − 1 E E^{-1}E E1E 也会得到 I I I,它是先加上再减去的 5 5 5 倍的行 1 1 1。如果 A C = I AC=I AC=I,则 C A = I CA=I CA=I
对于方阵来说,一侧的逆矩阵也是另一侧的逆矩阵。

例3】假设 F F F 从行 3 3 3 减去 4 4 4 倍的行 2 2 2,则 F − 1 F^{-1} F1 会将其加回去: F = [ 1 0 0 0 1 0 0 − 4 1 ] , F − 1 = [ 1 0 0 0 1 0 0 4 1 ] 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 现在用 F F F 乘上例 2 中的 E E E,求出 F E FE FE,同时求出 E − 1 F − 1 E^{-1}F^{-1} E1F1。注意 F E FE FE E − 1 F − 1 E^{-1}F^{-1} E1F1 的顺序! F E = [ 1 0 0 − 5 1 0 20 − 4 0 ] , E − 1 F − 1 = [ 1 0 0 5 1 0 0 4 1 ] ( 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 − 1 F − 1 E^{-1}F^{-1} E1F1 是一个美丽又正确的矩阵, E F EF EF 含有 20 20 20,但是它的逆矩阵却没有。 E E E 从行 2 2 2 减去 5 5 5 倍的行 1 1 1,然后 F F F 从行 3 3 3 中减去 4 4 4 倍新的行 2 2 2 (此时的行 2 2 2 已经被行 1 1 1 改变了)。所以 F E FE FE 会使得行 3 3 3 受到行 1 1 1 的影响
而按照 E − 1 F − 1 E^{-1}F^{-1} E1F1 的顺序,上述影响并没有出现。 F − 1 F^{-1} F1 4 4 4 倍的行 2 2 2 加到行 3 3 3,然后 E − 1 E^{-1} E1 又将 5 5 5 倍的行 1 1 1 加到行 2 2 2 上,此过程中行 3 3 3 没有再被改变,所以就不再含有 20 20 20。所以 E − 1 F − 1 E^{-1}F^{-1} E1F1 不会使行 3 3 3 受到行 1 1 1 的影响
这也就是为什么会有 A = L U A=LU A=LU,它可以从三角矩阵 U U U 回到 A A A,其乘数将会完美的出现在下三角矩阵 L L L 中。

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

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

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

A − 1   的三列 A A − 1 = A [ x 1 x 2 x 3 ] = [ e 1 e 2 e 3 ] = 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)

要得到 A A A 的逆矩阵,我们需要求解三个方程: A x 1 = e 1 = ( 1 , 0 , 0 ) 、 A x 2 = e 2 = ( 0 , 1 , 0 ) 、 A x 3 = e 3 = ( 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 − 1 A^{-1} A1
高斯 - 若尔当消元法是通过同时求解 n n n 个方程来计算 A − 1 A^{-1} A1。一般来说增广矩阵 [ A b ] \begin{bmatrix}A&\boldsymbol b\end{bmatrix} [Ab] 会多一列 b \boldsymbol b b。当 A A A 3 × 3 3\times3 3×3 的矩阵时,会在右侧多 3 3 3 e 1 , e 2 , e 3 \boldsymbol e_1,\boldsymbol e_2,\boldsymbol e_3 e1,e2,e3,它们是 I I I 的列,因此增广矩阵就是分块矩阵 [ A I ] \begin{bmatrix}A&I\end{bmatrix} [AI]。下面以矩阵 K K K 为例,它的对角线元素都是 2 2 2 2 2 2 旁边全是 − 1 -1 1,其它元素均为 0 0 0 [ K e 1 e 2 e 3 ] = [ 2 − 1 0 1 0 0 − 1 2 − 1 0 1 0 0 − 1 2 0 0 1 ] 开始对 K 进行高斯 − 若尔当消元 → [ 2 − 1 0 1 0 0 0 3 2 − 1 1 2 1 0 0 − 1 2 0 0 1 ] ( 1 2 r o w 1 + r o w 2 ) → [ 2 − 1 0 1 0 0 0 3 2 − 1 1 2 1 0 0 0 4 3 1 3 2 3 1 ] ( 2 3 r o w 2 + r o w 3 ) \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 − 1 K^{-1} K1 的一半,矩阵的前 3 3 3 列是 U U U(上三角),主元 2 , 3 2 , 4 3 2,\displaystyle\frac{3}{2},\frac{4}{3} 2,23,34 在对角线上。高斯在这里会利用回代,而若尔当会继续执行消元!他会一直进行到简化阶梯形式 R = I R=I R=I。通过下面的行继续进行消元,使得主元上方都是零 ( 第三主元上都为零 ) → [ 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 ] ( 3 4 r o w 3 + r o w 2 ) (第三主元上都为零)\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) ( 第二主元上都为零 ) → [ 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 ] ( 2 3 r o w 2 + r o w 1 ) (第二主元上都为零)\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)高斯 - 若尔当的最后一步是将每行除以改行的主元,使新的主元全部为 1 1 1
因为 K K K 是可逆的,所以矩阵 [ I K − 1 ] \begin{bmatrix}I&K^{-1}\end{bmatrix} [IK1] 的左半部分是 I I I,右半部分就是 K − 1 K^{-1} K1 ( 除以   2 ) ( 除以 3 2 ) ( 除以 4 3 ) [ 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 ] = [ I x 1 x 2 x 3 ] = [ I K − 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 × 6 3\times6 3×6 的矩阵 [ K I ] \begin{bmatrix}K&I\end{bmatrix} [KI] 开始,以 [ I K − 1 ] \begin{bmatrix}I&K^{-1}\end{bmatrix} [IK1] 结束。对于任意的可逆矩阵 A A A,应用高斯 - 若尔当消元法:

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

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

  1. K K K 是关于主对角线对称, K − 1 K^{-1} K1 也是对称的。
  2. K K K 是三对角(tridiagonal)矩阵(只有 3 3 3 个非零对角线),但是 K − 1 K^{-1} K1 是一个没有 0 0 0 的稠密(dense)矩阵。这也是另一个不常计算逆矩阵的原因。带状(band)矩阵通常都是稠密矩阵。
  3. 主元的乘积是 2 ( 3 2 ) ( 4 3 ) = 4 2(\displaystyle\frac{3}{2})(\frac{4}{3})=4 2(23)(34)=4 4 4 4 就是 K K K 的行列式。 K − 1 与 K 的行列式做除数有关 K − 1 = 1 4 [ 3 2 1 2 4 2 1 2 3 ] ( 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=41 321242123 (2.5.8)这就是可逆矩阵的行列式不为零的原因:因为要除以行列式。

例4】使用高斯 - 若尔当消元法求 A − 1 A^{-1} A1 A = [ 2 3 4 7 ] A=\begin{bmatrix}2&3\\4&7\end{bmatrix} A=[2437]
解: [ A I ] = [ 2 3 1 0 4 7 0 1 ] → [ 2 3 1 0 0 1 − 2 1 ] ( 这是 [ U L − 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]) → [ 2 0 7 − 3 0 1 − 2 1 ] → [ 1 0 7 2 − 3 2 0 1 − 2 1 ] ( 这是 [ I A − 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】如果 A A A 是可逆的上三角矩阵,那么 A − 1 A^{-1} A1 也是。从 A A − 1 = I AA^{-1}=I AA1=I 开始。

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

A − 1 = [ 1 − 1 0 0 1 − 1 0 0 1 ] − 1 = [ 1 1 1 0 1 1 0 0 1 ] 列   j = 1   和   2   后面有 3 − j = 2   和   1 个   0 A^{-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= 100110011 1= 100110111 j=12后面有3j=210在 MATLAB 中使用 X = inv(A) 求 A A A 的逆矩阵,该函数是利用 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 的逆矩阵

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

四、奇异与可逆的对比

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

  1. n n n 个主元时,消元法求解所有的方程 A x i = e i A\boldsymbol x_i=\boldsymbol e_i Axi=ei,列 x i \boldsymbol x_i xi 进入 A − 1 A^{-1} A1,则 A A − 1 = I AA^{-1}=I AA1=I 并且 A − 1 A^{-1} A1 至少是右逆矩阵
  2. 消元法是用一系列矩阵 E ′ s E's Es P ′ s P's Ps D − 1 D^{-1} D1 的乘法: 左逆矩阵   C C A = ( 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 − 1 D^{-1} D1 是除以主元,矩阵 E E E 使得主元上方和下方的元素变为 0 0 0 P P P 是在需要时进行行交换。式(9)中这些矩阵的乘积就是 A A A 的左逆矩阵。使用 n n n 个主元得到 A − 1 A = I A^{-1}A=I A1A=I
由 Note2 知:左逆矩阵等于右逆矩阵,所以有一整组主元的方阵两边都存在逆矩阵,且相等。
下面证明若 A C = I AC=I AC=I,则 A A A 一定有 n n n 个主元。

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

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

如果   A C = I ,则   C A = 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】如果 L L L 是下三角矩阵且对角线元素都是 1 1 1,则 L − 1 L^{-1} L1 也是。

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

使用高斯 - 若尔当消元法从 E 32 , E 31 , E 21 E_{32},E_{31},E_{21} E32,E31,E21 创建 L − 1 L^{-1} L1 [ 1 0 0 1 0 0 3 1 0 0 1 0 4 5 1 0 0 1 ] = [ L I ] → [ 1 0 0 1 0 0 0 1 0 − 3 1 0 0 5 1 − 4 0 1 ] 逆矩阵 仍是三角形 → [ 1 0 0 1 0 0 0 1 0 − 3 1 0 0 0 1 11 − 5 1 ] = [ I L − 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)矩阵。
严格对角线优势矩阵是可逆的。这种矩阵的对角线元素 a i i a_{ii} aii 的绝对值比改行其它所有元素绝对值的和还要大,对于每一行都有: ∣ a i i ∣ > ∑ j ≠ i ∣ a i j ∣ ,即   ∣ a i i ∣ = ∣ a i 1 ∣ + ⋯ + ( 跳过 ∣ a i i ∣ ) + ⋯ ∣ a i n ∣ ( 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)下面三个矩阵 A A A 是严格对角线优势矩阵 ( 3 > 2 ) (3>2) (3>2) B B B 不是(但仍然可逆), C C C 是奇异矩阵。 A = [ 3 1 1 1 3 1 1 1 3 ] , B = [ 2 1 1 1 2 1 1 1 3 ] , C = [ 1 1 1 1 1 1 1 1 3 ] 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 x x,假设它最大的分量是 ∣ x i ∣ |x_i| xi。那么不可能有 A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0。此时选择 A A A 的行 i i i,则若要 A x A\boldsymbol x Ax 的行 i i i 0 0 0,则有: a i 1 x 1 + ⋯ a i i x i + ⋯ + a i n x n = 0 a_{i1}x_1+\cdots a_{ii}x_i+\cdots+a_{in}x_n=0 ai1x1+aiixi++ainxn=0而上述不可能为零。因为 ∣ a i i x i ∣ |a_{ii}x_i| aiixi 比其他所有的和还要大。 所有的 ∣ x j ∣ < ∣ x i ∣ ∑ j ≠ i ∣ a i j x j ∣ ≤ ∑ j ≠ i ∣ a i j ∣ ∣ x j ∣ < ∣ a i i ∣ ∣ x i ∣ 因为 a i i 占优势 所有的|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 0 x=0 A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0 才成立,所有 A A A 可逆。需要注意的是,若不是对角线优势矩阵也不一定不可逆,例如 B B B 不是对角线优势矩阵,它仍然可逆。

六、主要内容总结

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

七、例题

例7】三角形差分矩阵 A A A 的逆矩阵是三角形求和矩阵 S S S [ A I ] = [ 1 0 0 1 0 0 − 1 1 0 0 1 0 0 − 1 1 0 0 1 ] → [ 1 0 0 1 0 0 0 1 0 1 1 0 0 − 1 1 0 0 1 ] → [ 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 ] = [ I A − 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]= 110011001100010001 100011001110010001 100010001111011001 =[IA1]=[I求和矩阵]如果将 a 13 a_{13} a13 改为 − 1 -1 1,则 A A A 所有的行加起来都是 0 0 0,方程 A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0 将会存在非零解 ( 1 , 1 , 1 ) (1,1,1) (1,1,1),所以新的矩阵 A A A 将不可逆。

例8】下列矩阵有 3 3 3 个可逆, 3 3 3 个不可逆。如果可逆,找出其逆矩阵,若不可逆,说明原因(零行列式,主元太少, A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0 有非零解)。下列矩阵按顺序为 A , B , C , D , S , E A,B,C,D,S,E A,B,C,D,S,E
[ 4 3 8 6 ] [ 4 3 8 7 ] [ 6 6 6 0 ] [ 6 6 6 6 ] [ 1 0 0 1 1 0 1 1 1 ] [ 1 1 1 1 1 0 1 1 1 ] \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] 111011001 111111101
解: B − 1 = 1 4 [ 7 − 3 − 8 4 ] C − 1 = 1 36 [ 0 6 6 − 6 ] S − 1 = [ 1 0 0 − 1 1 0 1 − 1 1 ] 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= 111011001 A A A 不可逆,因为其行列式为 4 ⋅ 6 − 3 ⋅ 8 = 24 − 24 = 0 4\cdot6-3\cdot8=24-24=0 4638=2424=0 D D D 不可逆,因为它仅有一个主元;行 2 2 2 减去行 1 1 1 变成了零行。 E E E 有两个相等的列,或者说 E x = 0 E\boldsymbol x=\boldsymbol 0 Ex=0 有非零解 ( − 1 , 1 , 0 ) (-1,1,0) (1,1,0)
不可逆的矩阵均可使用这三个原因。

例9】使用高斯 - 若尔当消元法求三角帕斯卡(Pascal)矩阵。帕斯卡三角–每个元素加上其左侧元素等于它下面的元素。矩阵 L L L 的元素是二项式系数。下一行将会是 1 , 4 , 6 , 4 , 1 1,4,6,4,1 1,4,6,4,1 三角帕斯卡矩阵 L = [ 1 0 0 0 1 1 0 0 1 2 1 0 1 3 3 1 ] = 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))解: 高斯 - 若尔当消元法从 [ L I ] \begin{bmatrix}L&I\end{bmatrix} [LI] 开始,通过减去行 1 1 1 使得第一主元下方都为 0 0 0 [ L I ] = [ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 2 1 0 0 0 1 0 1 3 3 1 0 0 0 1 ] → [ 1 0 0 0 1 0 0 0 0 1 0 0 − 1 1 0 0 0 2 1 0 − 1 0 1 0 0 3 3 1 − 1 0 0 1 ] \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]= 11110123001300011000010000100001 10000123001300011111010000100001 下一步会使第二主元下方都变为 0 0 0,乘数是 2 2 2 3 3 3。然后使第三主元下方变为 0 0 0,乘数是 3 3 3 → [ 1 0 0 0 1 0 0 0 0 1 0 0 − 1 1 0 0 0 0 1 0 1 − 2 1 0 0 0 3 1 2 − 3 0 1 ] → [ 1 0 0 0 1 0 0 0 0 1 0 0 − 1 1 0 0 0 0 1 0 1 − 2 1 0 0 0 0 1 − 1 3 − 3 1 ] = [ I L − 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} 10000100001300011112012300100001 10000100001000011111012300130001 =[IL1]由于所有的主元都是 1 1 1,所有没有必要再让每行除以主元得到 I I I。逆矩阵 L − 1 L^{-1} L1 L L L 很像,只是奇对角线处是负号。
同样可以扩展到 n × n n\times n n×n 的帕斯卡矩阵, L − 1 L^{-1} L1 的对角线交替符号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/190730.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT基础开发笔记

用VS 写QT &#xff0c;设置exe图标的方法&#xff1a; 选定工程--》右键--》添加---》资源--》 QString 字符串用法总结说明 Qt QString 增、删、改、查、格式化等常用方法总结_qstring 格式化-CSDN博客 总结来说&#xff1a; QString 的 remove有两种用法&#xff0c;&am…

【C++】类和对象(下篇)

这里是目录 构造函数&#xff08;续&#xff09;构造函数体赋值初始化列表 explicit关键字隐式类型转换 static成员友元友元函数友元类 内部类匿名对象匿名对象的作用const引用匿名对象 构造函数&#xff08;续&#xff09; 构造函数体赋值 在创建对象时&#xff0c;编译器通…

02、Tensorflow实现手写数字识别(数字0-9)

02、Tensorflow实现手写数字识别&#xff08;数字0-9&#xff09; 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。 基于Tensorflow 2.10.0与pycharm 1…

SASS的导入文件详细教程

文章目录 前言导入SASS文件使用SASS部分文件默认变量值嵌套导入原生的CSS导入后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;Sass和Less &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努…

电子学会C/C++编程等级考试2022年12月(二级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:数组逆序重放 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。输入 输入为两行:第一行数组中元素的个数n(1输出 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。样例输入 …

Linux:docker基础操作(3)

docker的介绍 Linux&#xff1a;Docker的介绍&#xff08;1&#xff09;-CSDN博客https://blog.csdn.net/w14768855/article/details/134146721?spm1001.2014.3001.5502 通过yum安装docker Linux&#xff1a;Docker-yum安装&#xff08;2&#xff09;-CSDN博客https://blog.…

Mac 最佳使用指南

官方 Mac 使用手册如何在macOS系统安装根证书mac Terminal config proxy 【mac 终端配置代理】iPhone 安装 iOS 17公测版&#xff08;Public Beta)macOS 最佳命令行客户端&#xff1a;iTermMac 配置与 Linux 互信Mac mini 外接移动硬盘无法写入或者无法显示的解决方法如何在 ma…

2016年五一杯数学建模B题能源总量控制下的城市工业企业协调发展问题解题全过程文档及程序

2016年五一杯数学建模 B题 能源总量控制下的城市工业企业协调发展问题 原题再现 能源是国民经济的重要物质基础,是工业企业发展的动力&#xff0c;但是过度的能源消耗&#xff0c;会破坏资源和环境&#xff0c;不利于经济的可持续发展。目前我国正处于经济转型的关键时期&…

牛客网刷题笔记四 链表节点k个一组翻转

NC50 链表中的节点每k个一组翻转 题目&#xff1a; 思路&#xff1a; 这种题目比较习惯现在草稿本涂涂画画链表处理过程。整体思路是赋值新的链表&#xff0c;用游离指针遍历原始链表进行翻转操作&#xff0c;当游离个数等于k时&#xff0c;就将翻转后的链表接到新的链表后&am…

线性模型加上正则化

使用弹性网络回归&#xff08;Elastic Net Regression&#xff09;算法来预测波士顿房屋价格。弹性网络回归是一种结合了L1和L2正则化惩罚的线性回归模型&#xff0c;能够处理高维数据和具有多重共线性的特征。弹性网络回归的目标函数包括数据拟合损失和正则化项&#xff1a; m…

前端学习--React(4)路由

一、认识ReactRouter 一个路径path对应一个组件component&#xff0c;当我们在浏览器中访问一个path&#xff0c;对应的组件会在页面进行渲染 创建路由项目 // 创建项目 npx create router-demo// 安装路由依赖包 npm i react-router-dom// 启动项目 npm run start 简单的路…

一文读懂MySQL基础与进阶

Mysql基础与进阶 Part1 基础操作 数据库操作 在MySQL中&#xff0c;您可以使用一些基本的命令来创建和删除数据库。以下是这些操作的示例&#xff1a; 创建数据库&#xff1a; 要创建一个新的数据库&#xff0c;您可以使用CREATE DATABASE命令。以下是示例&#xff1a; CREA…

C++ day36 贪心算法 无重叠区间 划分字母区间 合并区间

题目1&#xff1a;435 无重叠区间 题目链接&#xff1a;无重叠区间 对题目的理解 移除数组中的元素&#xff0c;使得区间互不重叠&#xff0c;保证移除的元素数量最少&#xff0c;数组中至少包含一个元素 贪心算法 局部最优&#xff0c;使得重叠区间的个数最大&#xff0c…

MyBatis Generator使用总结

MyBatis Generator使用总结 介绍具体使用数据准备插件引入配置条件构建讲解demo地址 介绍 MyBatis Generator &#xff08;MBG&#xff09; 是 MyBatis 的代码生成器。它能够根据数据库表&#xff0c;自动生成 java 实体类、dao 层接口&#xff08;mapper 接口&#xff09;及m…

【STM32单片机】自动售货机控制系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器&#xff0c;使用OLED显示模块、矩阵按键模块、LED和蜂鸣器、继电器模块等。 主要功能&#xff1a; 系统运行后&#xff0c;OLED显示系统初始界面&#xff0c;可通过…

Java王者荣耀

第一步是创建项目 项目名自拟 第二部创建个包名 来规范class 然后是创建类 GameFrame 运行类 package com.sxt;import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; im…

网络和Linux网络_5(应用层)HTTP协议(方法+报头+状态码)

目录 1. HTTP协议介绍 1.1 URL介绍 1.2 urlencode和urldecode 1.3 HTTP协议格式 1.4 HTTP的方法和报头和状态码 2. 代码验证HTTP协议格式 HttpServer.hpp 2.2 html正式测试 Util.hpp index.html 2.3 再看HTTP方法和报头和状态码 2.3.1 方法_GET和POST等 2.3.2 报头…

springboot函数式web

1.通常是路由(请求路径)业务 2.函数式web&#xff1a;路由和业务分离 一个configure类 配置bean 路由等 实现业务逻辑 这样实现了业务和路由的分离

代码常见问题

1. 前端页面出现404了&#xff1a; 1&#xff09;那说明你该页面里面有某个接口地址&#xff08;url&#xff09;写错了&#xff0c;后台没有这个接口 2&#xff09;你后台写了这个接口&#xff0c;但是后台忘了重启服务了&#xff0c;这样的话前端也映射不上的 所以404的时…

歌曲《兄弟情深》:歌手荆涛歌曲中的真挚情感

在人生的道路上&#xff0c;有时我们会遇到迷茫、失落、困惑等种种情境。而在这些时刻&#xff0c;身边有一个真挚的兄弟&#xff0c;其意义是无法估量的。歌手荆涛演唱的《兄弟情深》即是对这种深厚情感的美妙歌颂。 一、迷茫时的指引 “当我迷茫时&#xff0c;有你帮目标重新…