2.3 矩阵消元
一、消元矩阵
消元矩阵执行消元步骤用到的矩阵。从第 i i i 个方程减去 l i j l_{ij} lij 乘第 j j j 个方程(将 x j x_j xj 从第 i i i 行中消去)。我们需要很多个简单的矩阵 E i j E_{ij} Eij,每一个对应一个主对角线下方要消除的非零数字。
后面我们会把所有的 E i j E_{ij} Eij 结合成一个矩阵 E E E,一次性完成消元。最简洁的方法是将所有的逆矩阵 ( E i j ) − 1 (E_{ij})^{-1} (Eij)−1 结合成一个整体的矩阵 L = E − 1 L=E^{-1} L=E−1。本节的内容:
- 了解每一个步骤都是一次矩阵乘法。
- 将所有步骤的 E i j E_{ij} Eij 结合成一个消元矩阵 E E E。
- 了解每一个 E i j E_{ij} Eij 如何变成逆矩阵 ( E i j ) − 1 (E_{ij})^{-1} (Eij)−1。
- 组合所有的逆矩阵 ( E i j ) − 1 (E_{ij})^{-1} (Eij)−1 (右序)变成 L L L。
L L L 的特殊性质是其所有的乘数 l i j l_{ij} lij 都是有序的,这些乘数在 E E E 中是混乱的(从 A A A 到 U U U 的前向消元),在 L L L 中(撤销消元,从 U U U 返回到 A A A)会变得有序。反向可以让这些步骤与矩阵 ( E i j ) − 1 (E_{ij})^{-1} (Eij)−1 落在反向序列中,防止混乱。
二、矩阵乘向量 Ax = b
上节的例题 3 × 3 3\times3 3×3 的方程组可以简写乘矩阵的形式 A x = b A\boldsymbol x=\boldsymbol b Ax=b: 2 x 1 + 4 x 2 − 2 x 3 = 2 4 x 1 + 9 x 2 − 3 x 3 = 8 − 2 x 1 − 3 x 2 + 7 x 3 = 10 等价于 [ 2 4 − 2 4 9 − 3 − 2 − 3 7 ] [ x 1 x 2 x 3 ] = [ 2 8 10 ] ( 2.3.1 ) \begin{matrix}2x_1+4x_2-2x_3=2\\4x_1+9x_2-3x_3=8\\-2x_1-3x_2+7x_3=10\end{matrix}\kern 6pt等价于\kern 6pt\begin{bmatrix}\kern 7pt2&\kern 7pt4&-2\\\kern 7pt4&\kern 7pt9&-3\\-2&-3&\kern 7pt7\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}=\begin{bmatrix}2\\8\\10\end{bmatrix}\kern 10pt(2.3.1) 2x1+4x2−2x3=24x1+9x2−3x3=8−2x1−3x2+7x3=10等价于 24−249−3−2−37 x1x2x3 = 2810 (2.3.1)左侧的 9 9 9 个数字组成矩阵 A A A,矩阵 A A A 乘 x \boldsymbol x x 得到三个方程。
A A A 乘 x \boldsymbol x x 复习:矩阵乘向量得到向量。当方程的数目和未知数的数目相等时,矩阵为方阵。方阵通常表示为 n × n n\times n n×n。向量 x \boldsymbol x x 在 n n n 维空间。 未知数是 x = [ x 1 x 2 x 3 ] 解是 x = [ − 1 2 2 ] 未知数是\kern 5pt\boldsymbol x=\begin{bmatrix}x_1\\x_2\\x_3\end{bmatrix}\kern 10pt解是\kern 5pt\boldsymbol x=\begin{bmatrix}-1\\\kern 7pt2\\\kern 7pt2\end{bmatrix} 未知数是x= x1x2x3 解是x= −122 重点: A x = b A\boldsymbol x=\boldsymbol b Ax=b 表示方程的行形式,也表示列形式: 列形式 A x = ( − 1 ) [ 2 4 − 2 ] + 2 [ 4 9 − 3 ] + 2 [ − 2 − 3 7 ] = [ 2 8 10 ] = b ( 2.3.2 ) 列形式\kern 10ptA\boldsymbol x=(-1)\begin{bmatrix}\kern 7pt2\\\kern 7pt4\\-2\end{bmatrix}+2\begin{bmatrix}\kern 7pt4\\\kern 7pt9\\-3\end{bmatrix}+2\begin{bmatrix}-2\\-3\\\kern 7pt7\end{bmatrix}=\begin{bmatrix}2\\8\\10\end{bmatrix}=\boldsymbol b\kern 10pt(2.3.2) 列形式Ax=(−1) 24−2 +2 49−3 +2 −2−37 = 2810 =b(2.3.2) A x A\boldsymbol x Ax 是 A A A 列的线性组合,要计算 A x A\boldsymbol x Ax 的分量时,可以使用矩阵乘法的行形式, A x A\boldsymbol x Ax 的分量就是 x \boldsymbol x x 与 A A A 每行的点积。可以使用累加表示: A x 的第一分量: ( − 1 ) ( 2 ) + ( 2 ) ( 4 ) + ( 2 ) ( − 2 ) A x 第 i 分量: ( row i ) ⋅ x = a i 1 x 1 + a i 2 x 2 + ⋯ + a i n x n A\boldsymbol x\,的第一分量:(-1)(2)+(2)(4)+(2)(-2)\kern 48pt\\A\boldsymbol x\,第 \,i\,分量:(\textrm{row}\,\,i)\cdot\boldsymbol x=a_{i1}x_1+a_{i2}x_2+\cdots+a_{in}x_n Ax的第一分量:(−1)(2)+(2)(4)+(2)(−2)Ax第i分量:(rowi)⋅x=ai1x1+ai2x2+⋯+ainxn符号记为: ∑ j = 1 n a i j x j \sum_{j=1}^{n}a_{ij}x_j ∑j=1naijxj
∑ \sum ∑ 表示累加,从 j = 1 j=1 j=1 开始到 j = n j=n j=n 结束,从 a i 1 x 1 a_{i1}x_1 ai1x1 开始一直累加到 a i n x n a_{in}x_n ainxn,得到点积 ( row i ) ⋅ x (\textrm{row}\,\,i)\cdot\boldsymbol x (rowi)⋅x 。
矩阵表示法:第 1 行第 1 列的元素(左上角)是 a 11 a_{11} a11,第 1 行第 3 列的元素是 a 13 a_{13} a13,第 3 行第 1 列的元素是 a 31 a_{31} a31(行数在前,列数在后)。一般规则: a i j = A ( i , j ) a_{ij}=A(i,j) aij=A(i,j),位置在第 i i i 行 j j j 列。
【例1】矩阵有 a i j = 2 i + j a_{ij}=2i+j aij=2i+j,则 a 11 = 3 , a 12 = 4 , a 21 = 5 a_{11}=3,a_{12}=4,a_{21}=5 a11=3,a12=4,a21=5。下面是由行得到 A x A\boldsymbol x Ax,分别用数字和字母表示: [ 3 4 5 6 ] [ 2 1 ] = [ 3 ⋅ 2 + 4 ⋅ 1 5 ⋅ 2 + 6 ⋅ 1 ] [ a 11 a 12 a 21 a 22 ] [ x 1 x 2 ] = [ a 11 x 1 + a 12 x 2 a 21 x 1 + a 22 x 2 ] \begin{bmatrix}3&4\\5&6\end{bmatrix}\begin{bmatrix}2\\1\end{bmatrix}=\begin{bmatrix}3\cdot2+4\cdot1\\5\cdot2+6\cdot1\end{bmatrix}\kern 15pt\begin{bmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}a_{11}x_1+a_{12}x_2\\a_{21}x_1+a_{22}x_2\end{bmatrix} [3546][21]=[3⋅2+4⋅15⋅2+6⋅1][a11a21a12a22][x1x2]=[a11x1+a12x2a21x1+a22x2]
三、一个消元步骤的矩阵形式
方程 A x = b A\boldsymbol x=\boldsymbol b Ax=b,从第二个式子中减去 2 2 2 乘第一个式子,在右侧, b \boldsymbol b b 的第二个分量减去 2 2 2 乘第一个分量: 第一步 b = [ 2 8 10 ] 变为 b new = [ 2 4 10 ] 第一步\kern 10pt\boldsymbol b=\begin{bmatrix}2\\8\\10\end{bmatrix}\kern 10pt变为\kern 10pt\boldsymbol b_{\textrm {new}}=\begin{bmatrix}2\\4\\10\end{bmatrix} 第一步b= 2810 变为bnew= 2410 若使用矩阵形式实现上述步骤,则需要一个消元矩阵 E E E 乘 b \boldsymbol b b 得到 b new = E b \boldsymbol b_{\textrm{new}}=E\boldsymbol b bnew=Eb,从 b 2 b_2 b2 减去 2 b 1 2b_1 2b1: 消元矩阵 E = [ 1 0 0 − 2 1 0 0 0 1 ] 消元矩阵\kern 10ptE=\begin{bmatrix}\kern 7pt1&0&0\\-2&1&0\\\kern 7pt0&0&1\end{bmatrix} 消元矩阵E= 1−20010001 用 E E E 乘的结果是使得第 2 2 2 行减去 2 2 2 乘第 1 1 1 行,而第 1 、 3 1、3 1、3 行保持不变: [ 1 0 0 − 2 1 0 0 0 1 ] [ 2 8 10 ] = [ 2 4 10 ] [ 1 0 0 − 2 1 0 0 0 1 ] [ b 1 b 2 b 3 ] = [ b 1 b 2 − 2 b 1 b 3 ] \begin{bmatrix}\kern 7pt1&0&0\\-2&1&0\\\kern 7pt0&0&1\end{bmatrix}\begin{bmatrix}2\\8\\10\end{bmatrix}=\begin{bmatrix}2\\4\\10\end{bmatrix}\kern 10pt\begin{bmatrix}\kern 7pt1&0&0\\-2&1&0\\\kern 7pt0&0&1\end{bmatrix}\begin{bmatrix}b_1\\b_2\\b_3\end{bmatrix}=\begin{bmatrix}b_1\\b_2-2b_1\\b_3\end{bmatrix} 1−20010001 2810 = 2410 1−20010001 b1b2b3 = b1b2−2b1b3 E E E 的第 1 、 3 1、3 1、3 行是来自于单位矩阵 I I I,它们不会改变第一和第三分量,新的第二个分量 4 4 4 是消元之后出现的,即 b 2 − 2 b 1 b_2-2b_1 b2−2b1。
消元矩阵 E E E 是将单位矩阵 I I I 其中的一个 0 0 0 变为乘数 − l -l −l。
单位矩阵对角线上的元素都是 1 1 1,其余的元素全为 0 0 0。对于任意的 b \boldsymbol b b 都有 I b = b I\boldsymbol b=\boldsymbol b Ib=b。消元矩阵 E i j E_{ij} Eij 在 i , j i,j i,j 位置处多了一个非零元素 − l -l −l,被 E i j E_{ij} Eij 乘会使得第 i i i 行减去 l l l 乘第 j j j 行。
【例2】矩阵 E 31 E_{31} E31 的位置 3 , 1 3,1 3,1 是 − l -l −l: 单位矩阵 I = [ 1 0 0 0 1 0 0 0 1 ] 消元矩阵 E 31 = [ 1 0 0 0 1 0 − l 0 1 ] 单位矩阵\kern 10ptI=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\kern 10pt消元矩阵\kern 5ptE_{31}=\begin{bmatrix}\kern 7pt1&0&0\\\kern 7pt0&1&0\\-l&0&1\end{bmatrix} 单位矩阵I= 100010001 消元矩阵E31= 10−l010001 I I I 乘 b \boldsymbol b b 仍然得到 b \boldsymbol b b,但是 E 31 E_{31} E31 乘 b \boldsymbol b b 会从 b \boldsymbol b b 的第三分量减去 l l l 乘第一分量。当 l = 4 l=4 l=4 时,第三分量为 9 − 4 = 5 9-4=5 9−4=5: I b = [ 1 0 0 0 1 0 0 0 1 ] [ 1 3 9 ] = [ 1 3 9 ] E 31 b = [ 1 0 0 0 1 0 − 4 0 1 ] [ 1 3 9 ] = [ 1 3 5 ] I\boldsymbol b=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}\begin{bmatrix}1\\3\\9\end{bmatrix}=\begin{bmatrix}1\\3\\9\end{bmatrix}\kern 10ptE_{31}\boldsymbol b=\begin{bmatrix}1&0&0\\0&1&0\\-4&0&1\end{bmatrix}\begin{bmatrix}1\\3\\9\end{bmatrix}=\begin{bmatrix}1\\3\\5\end{bmatrix} Ib= 100010001 139 = 139 E31b= 10−4010001 139 = 135 A x = b A\boldsymbol x=\boldsymbol b Ax=b 进行消元时,两侧都会被 E 31 E_{31} E31 乘, E 31 E_{31} E31 的目的是在矩阵 ( 3 , 1 ) (3,1) (3,1) 位置处产生 0 0 0。
进行消元时,从矩阵 A A A 开始,需要使用多个 E E E 使得主元下方位置都产生 0 0 0,第一个 E E E 是 E 21 E_{21} E21,最终得到三角形 U U U。
消元过程中,向量 x \boldsymbol x x 不会变化,解 x \boldsymbol x x 也不会因消元而改变。只有系数矩阵会改变。若 A x = b A\boldsymbol x=\boldsymbol b Ax=b,则 E A x = E b EA\boldsymbol x=E\boldsymbol b EAx=Eb,新矩阵 E A EA EA 是 E E E 乘 A A A 的结果。
四、矩阵乘法
两个矩阵如何相乘?若第一个矩阵是 E E E,目标是 E A EA EA, E E E 会使得 A A A 的行 2 2 2 减去 2 2 2 乘行 1 1 1,乘数是 2 2 2: E A = [ 1 0 0 − 2 1 0 0 0 1 ] [ 2 4 − 2 4 9 − 3 − 2 − 3 7 ] = [ 2 4 − 2 0 1 1 − 2 − 3 7 ] ( 得到一个零 ) ( 2.3.3 ) EA=\begin{bmatrix}\kern 7pt1&0&0\\-2&1&0\\\kern 7pt0&0&1\end{bmatrix}\begin{bmatrix}\kern 7pt2&\kern 7pt4&-2\\\kern 7pt4&\kern 7pt9&-3\\-2&-3&\kern 7pt7\end{bmatrix}=\begin{bmatrix}\kern 7pt2&\kern 7pt4&-2\\\kern 7pt\textbf0&\kern 7pt\textbf1&\kern 7pt\textbf1\\-2&-3&\kern 7pt7\end{bmatrix}\kern 5pt(得到一个零)\kern 10pt(2.3.3) EA= 1−20010001 24−249−3−2−37 = 20−241−3−217 (得到一个零)(2.3.3)这个步骤没有改变 A A A 的行 1 1 1 和行 3 3 3,它们在 E A EA EA 中保持不变,只改变了行 2 2 2,行 2 2 2 减去了行 1 1 1 的 2 2 2 倍。矩阵乘法与消元法达成了相同的目的,新的系统为 E A x = E b EA\boldsymbol x=E\boldsymbol b EAx=Eb。
E A x EA\boldsymbol x EAx 虽然简单,确含有一个巧妙的思想。从 A x = b A\boldsymbol x=\boldsymbol b Ax=b 开始,两边同时用 E E E 乘得到 E ( A x ) = E b E(A\boldsymbol x)=E\boldsymbol b E(Ax)=Eb。使用矩阵乘法,也是 ( E A ) x = E b (EA)\boldsymbol x=E\boldsymbol b (EA)x=Eb。
第一个是 E E E 乘 A x A\boldsymbol x Ax,第二个是 E A EA EA 乘 x \boldsymbol x x,它们是相同的。
括号不需要了,可直接写成 E A x EA\boldsymbol x EAx。
这个规律可以扩展至有多个列向量的矩阵 C C C,计算 E A C EAC EAC 可以先算 A C AC AC,也可以先算 E A EA EA,这个规律就是结合律。
注意通常情况下 E A EA EA 不等于 A E AE AE。当 E E E 乘在右侧时,它作用于 A A A 的列而不是行。 A E AE AE 会使得 A A A 的列 1 1 1 减去 2 2 2 乘列 2 2 2 结合律正确 A ( B C ) = ( A B ) C 交换律错误 通常 A B ≠ B A 结合律正确\kern 10ptA(BC)=(AB)C\\交换律错误\kern 10pt通常AB\neq BA\kern 12pt 结合律正确A(BC)=(AB)C交换律错误通常AB=BA矩阵乘法还有另外一个要求,假设 B B B 只有一列(列 b \boldsymbol b b),矩阵 - 矩阵相乘 E B EB EB 应和矩阵 - 向量相乘的法则一致。甚至矩阵乘法 E B EB EB 可以一次乘一列:
如果 B B B 有多个列 b 1 , b 2 , b 3 b_1,b_2,b_3 b1,b2,b3,则 E B EB EB 的列为 E b 1 , E b 2 , E b 3 Eb_1,Eb_2,Eb_3 Eb1,Eb2,Eb3。 矩阵乘法 E B = E [ b 1 , b 2 , b 3 ] = [ E b 1 , E b 2 , E b 3 ] ( 2.3.4 ) 矩阵乘法\kern 10ptEB=E[b_1,b_2,b_3]=[Eb_1,Eb_2,Eb_3]\kern 15pt(2.3.4) 矩阵乘法EB=E[b1,b2,b3]=[Eb1,Eb2,Eb3](2.3.4)对于式(2.3.3),也可以使用这项性质。 E E E 乘 A A A 的列 3 3 3,也可以得到正确的 E A EA EA 的列 3 3 3: [ 1 0 0 − 2 1 0 0 0 1 ] [ − 2 − 3 7 ] = [ − 2 1 7 ] E ( A 的列 j ) = E A 的列 j \begin{bmatrix}\kern 7pt1&0&0\\-2&1&0\\\kern 7pt0&0&1\end{bmatrix}\begin{bmatrix}-2\\-3\\\kern 7pt7\end{bmatrix}=\begin{bmatrix}-2\\\kern 7pt1\\\kern 7pt7\end{bmatrix}\kern 10ptE(A的列\kern 1ptj)=EA\,的列\,j 1−20010001 −2−37 = −217 E(A的列j)=EA的列j矩阵乘法有三种处理方式(行、列、整个矩阵)都可以得到正确的结果。
五、行交换矩阵 P i j P_{ij} Pij
从行 i i i 减去行 j j j 使用 E i j E_{ij} Eij,交换或置换这些行使用另外一种矩阵 P i j P_{ij} Pij(置换矩阵)。如果主元位置出现零时,那么就需要行交换,往下方看,主元这一列可能存在非零数字,交换这两行就有主元了,消元也可以继续进行。
置换矩阵 P 23 P_{23} P23 可以交换行 2 2 2 与行 3 3 3,将单位矩阵的行 2 2 2 与行 3 3 3 交换,就可得到 P 23 : P_{23}: P23: 置换矩阵 P 23 = [ 1 0 0 0 0 1 0 1 0 ] 置换矩阵\kern 10ptP_{23}=\begin{bmatrix}1&0&0\\0&0&1\\0&1&0\end{bmatrix} 置换矩阵P23= 100001010 这个就是行交换矩阵。 P 23 P_{23} P23 乘任意的列向量,都会使其第二分量和第三分量交换,因此也可以交换矩阵的行 2 2 2 与行 3 3 3: [ 1 0 0 0 0 1 0 1 0 ] [ 1 3 5 ] = [ 1 5 3 ] , [ 1 0 0 0 0 1 0 1 0 ] [ 2 4 1 0 0 3 0 6 5 ] = [ 2 4 1 0 6 5 0 0 3 ] \begin{bmatrix}1&0&0\\0&0&1\\0&1&0\end{bmatrix}\begin{bmatrix}1\\3\\5\end{bmatrix}=\begin{bmatrix}1\\5\\3\end{bmatrix},\kern 13pt\begin{bmatrix}1&0&0\\0&0&1\\0&1&0\end{bmatrix}\begin{bmatrix}2&4&1\\0&0&3\\0&6&5\end{bmatrix}=\begin{bmatrix}2&4&1\\0&6&5\\0&0&3\end{bmatrix} 100001010 135 = 153 , 100001010 200406135 = 200460153 P 23 P_{23} P23 交换了行 2 2 2 与行 3 3 3,使得主元的位置从 0 0 0 变成了 6 6 6。
置换矩阵可以交换行的顺序。例如行 1 , 2 , 3 1,2,3 1,2,3 可以变为行 3 , 1 , 2 3,1,2 3,1,2。
行交换矩阵: 单位矩阵的行 i i i 与 j j j 交换顺序可以得到 P i j P_{ij} Pij。当置换矩阵 P i j P_{ij} Pij 乘一个矩阵时,则该矩阵交换行 i i i 与行 j j j。
交换方程 1 与方程 3 ,左边乘上 P 13 = [ 1 0 0 0 1 0 0 0 1 ] 交换方程\,1\,与方程\,3,左边乘上 P_{13}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix} 交换方程1与方程3,左边乘上P13= 100010001 一般来说要将主元移至对角线时,需要用到置换矩阵。
六、增广矩阵
下面是一个矩形矩阵也是来源于原始方程,但是包括了右侧的 b \boldsymbol b b。
关键点:消元法对于 A A A 与 b \boldsymbol b b 有相同的行操作,我们可以将 b \boldsymbol b b 当做一个额外的列,一起进行消元。额外列 b \boldsymbol b b 加入后,矩阵 A A A 就变大了,称为增广(augmented)矩阵: 增广矩阵 [ A b ] = [ 2 4 − 2 2 4 9 − 3 8 − 2 − 3 7 10 ] \pmb{增广矩阵}\kern 5pt[A\kern 6pt\boldsymbol b]=\begin{bmatrix}\kern 7pt2&\kern 7pt4&-2&\pmb2\\\kern 7pt4&\kern 7pt9&-3&\pmb8\\-2&-3&\kern 7pt7&\pmb{10}\end{bmatrix} 增广矩阵[Ab]= 24−249−3−2−372810 消元法作用于矩阵的整个行, E E E 同时乘上左侧和右侧,得到方程 2 2 2 减去 2 2 2 乘方程 1 1 1,这个步骤同时发生在 [ E b ] [E\kern 6pt\boldsymbol b] [Eb]: [ 1 0 0 − 2 1 0 0 0 1 ] [ 2 4 − 2 2 4 9 − 3 8 − 2 − 3 7 10 ] = [ 2 4 − 2 2 0 1 1 4 − 2 − 3 7 10 ] \begin{bmatrix}\kern 7pt1&0&0\\-2&1&0\\\kern 7pt0&0&1\end{bmatrix}\begin{bmatrix}\kern 7pt2&\kern 7pt4&-2&2\\\kern 7pt4&\kern 7pt9&-3&8\\-2&-3&\kern 7pt7&10\end{bmatrix}=\begin{bmatrix}\kern 7pt2&\kern 7pt4&-2&2\\\kern 7pt0&\kern 7pt1&\kern 7pt1&4\\-2&-3&\kern 7pt7&10\end{bmatrix} 1−20010001 24−249−3−2−372810 = 20−241−3−2172410 新的第二行包含 0 , 1 , 1 , 4 0,1,1,4 0,1,1,4,新的方程 2 2 2 为 x 2 + x 3 = 4 x_2+x_3=4 x2+x3=4。矩阵乘法同时作用于行和列: 行: E 的每一行作用在 [ A b ] 得到 [ E A E b ] 的一行 列: E 作用于 [ A b ] 的每一列得到 [ E A E b ] 的一列 \pmb{行:}E\,的每一行作用在[A\kern 6pt\boldsymbol b]得到 [EA\kern 6ptE\boldsymbol b]的一行\\\pmb{列:}E作用于 [A\kern 6pt\boldsymbol b]的每一列得到[EA\kern 6ptE\boldsymbol b]的一列 行:E的每一行作用在[Ab]得到[EAEb]的一行列:E作用于[Ab]的每一列得到[EAEb]的一列注意作用(act)的意义。矩阵 A A A 作用于 x \boldsymbol x x 得到 b \boldsymbol b b。矩阵 E E E 作用于 A A A 得到 E A EA EA。消元法的过程就是一系列的行运算,也是矩阵乘法。从 A A A 到 E 21 A E_{21}A E21A,再到 E 31 E 21 A E_{31}E_{21}A E31E21A,最后是 E 32 E 31 E 21 A E_{32}E_{31}E_{21}A E32E31E21A,它是个三角矩阵。
方程右侧的引入形成了增广矩阵,最后结果是一个方程的三角形系统。
七、主要内容总结
- A x = ( x 1 乘列 1 ) + ⋯ + ( x n 乘列 n ) A\boldsymbol x=(x_1乘列\,1)+\cdots+(x_n乘列\,n) Ax=(x1乘列1)+⋯+(xn乘列n), ( A x ) i = ∑ j = 1 n a i j x j (A\boldsymbol x)_i=\sum_{j=1}^{n}a_{ij}x_j (Ax)i=∑j=1naijxj。
- 单位矩阵 = I 单位矩阵=I 单位矩阵=I, 消元矩阵 = E i j , 使用乘数 l 21 消元矩阵=E_{ij},使用乘数\,l_{21} 消元矩阵=Eij,使用乘数l21, 置换矩阵 = P i j 置换矩阵=P_{ij} 置换矩阵=Pij。
- E 21 E_{21} E21 乘 A x = b A\boldsymbol x=\boldsymbol b Ax=b,得到方程 2 2 2 减去 l 21 l_{21} l21 乘方程 1 1 1。 − l 21 -l_{21} −l21 是消元矩阵 E 21 E_{21} E21 在位置 ( 2 , 1 ) (2,1) (2,1) 处的元素。
- 增广矩阵 [ A b ] \begin{bmatrix}A&\boldsymbol b\end{bmatrix} [Ab],消元步骤得到 [ E 21 A E 21 b ] \begin{bmatrix}E_{21}A&E_{21}\boldsymbol b\end{bmatrix} [E21AE21b]。
- A A A 乘任意矩阵 B B B,等于 A A A 分别乘 B B B 的每一列。
八、例题
【例3】什么样的 3 × 3 3\times3 3×3 矩阵 E 21 E_{21} E21 使得矩阵 A A A 的行 2 2 2 减去 4 4 4 乘行 1 1 1?什么样的矩阵 P 32 P_{32} P32 交换矩阵 A A A 的行 2 2 2 与行 3 3 3?如果对矩阵 A A A 右乘而不是左乘,描述 A E 21 AE_{21} AE21 与 A P 32 AP_{32} AP32 的结果?
解: 对单位矩阵 I I I 执行一些运算,可得 E 21 = [ 1 0 0 − 4 1 0 0 0 1 ] , P 32 = [ 1 0 0 0 0 1 0 1 0 ] E_{21}=\begin{bmatrix}\kern 7pt1&0&0\\-4&1&0\\\kern 7pt0&0&1\end{bmatrix},\kern 15ptP_{32}=\begin{bmatrix}1&0&0\\0&0&1\\0&1&0\end{bmatrix} E21= 1−40010001 ,P32= 100001010 E 21 E_{21} E21 乘在矩阵 A A A 的右侧使得 A A A 的列 1 1 1 减去 4 4 4 乘列 2 2 2, P 32 P_{32} P32 乘在右侧会交换列 2 2 2 与 列 3 3 3。
【例4】写出下面方程组的增广矩阵 [ A b ] \begin{bmatrix}A&\boldsymbol b\end{bmatrix} [Ab]: x + 2 y + 2 z = 1 4 x + 8 y + 9 z = 3 3 y + 2 z = 1 \kern 4ptx+2y+2z=1\\4x+8y+9z=3\\\kern 24pt3y+2z=1 x+2y+2z=14x+8y+9z=33y+2z=1使用 E 21 E_{21} E21 和 P 32 P_{32} P32 得到三角形系统。用回代求解方程组。组合矩阵 P 32 E 21 P_{32}E_{21} P32E21 一次做了那些工作?
解: E 21 E_{21} E21 使列 1 1 1 的 4 4 4 变为 0 0 0,但是 0 0 0 也出现在了列 2 2 2: [ A b ] = [ 1 2 2 1 4 8 9 3 0 3 2 1 ] , E 21 [ A b ] = [ 1 2 2 1 0 0 1 − 1 0 3 2 1 ] \begin{bmatrix}A&\boldsymbol b\end{bmatrix}=\begin{bmatrix}1&2&2&1\\\pmb4&8&9&3\\0&3&2&1\end{bmatrix},\kern 10ptE_{21}\begin{bmatrix}A&\boldsymbol b\end{bmatrix}=\begin{bmatrix}1&2&2&\kern 7pt1\\\pmb0&\pmb0&1&-1\\0&3&2&\kern 7pt1\end{bmatrix} [Ab]= 140283292131 ,E21[Ab]= 1002032121−11 P 32 P_{32} P32 交换行 2 2 2 与行 3 3 3,回代可以求出解 z , y , x z,y,x z,y,x: P 32 E 21 [ A b ] = [ 1 2 2 1 0 3 2 1 0 0 1 − 1 ] , [ x y z ] = [ 1 1 − 1 ] P_{32}E_{21}\begin{bmatrix}A&\boldsymbol b\end{bmatrix}=\begin{bmatrix}1&2&2&\kern 7pt1\\0&3&2&\kern 7pt1\\0&0&1&-1\end{bmatrix},\kern 10pt\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}\kern 7pt1\\\kern 7pt1\\-1\end{bmatrix} P32E21[Ab]= 10023022111−1 , xyz = 11−1 组合矩阵 P 32 E 21 P_{32}E_{21} P32E21 可以同时完成两个步骤, P 32 P_{32} P32 作用于 E 21 E_{21} E21: 一个矩阵 两个步骤 P 32 E 21 = E 21 交换行 2 与行 3 = [ 1 0 0 0 0 1 − 4 1 0 ] \begin{matrix}\pmb{一个矩阵}\\\pmb{两个步骤}\end{matrix}\kern 10ptP_{32}E_{21}=E_{21}交换行\,2与行\,3=\begin{bmatrix}\kern 7pt1&0&0\\\kern 7pt0&0&1\\-4&1&0\end{bmatrix} 一个矩阵两个步骤P32E21=E21交换行2与行3= 10−4001010 【例5】矩阵乘法有两种方式。第一, A A A 的行乘 B B B 的列;第二, A A A 的列乘 B B B 的行,这个不寻常的方法会产生两个矩阵,相加后得到 A B AB AB。两种方法各需要多少次乘法? 两种方法 A B = [ 3 4 1 5 2 0 ] [ 2 4 1 1 ] = [ 10 16 7 9 4 8 ] \pmb{两种方法}\kern 10ptAB=\begin{bmatrix}3&4\\1&5\\2&0\end{bmatrix}\begin{bmatrix}2&4\\1&1\end{bmatrix}=\begin{bmatrix}10&16\\7&9\\4&8\end{bmatrix} 两种方法AB= 312450 [2141]= 10741698 解: A A A 的行乘 B B B 的列是向量的点积: ( row 1 ) ⋅ ( column 1 ) = [ 3 4 ] [ 2 1 ] = 10 是 A B 在 ( 1 , 1 ) 处的元素 ( row 2 ) ⋅ ( column 1 ) = [ 1 5 ] [ 2 1 ] = 7 是 A B 在 ( 2 , 1 ) 处的元素 (\textrm{row}\,1)\cdot(\textrm{column}\,1)=\begin{bmatrix}3&4\end{bmatrix}\begin{bmatrix}2\\1\end{bmatrix}=10\kern 7pt是\,AB\,在(1,1)处的元素\\(\textrm{row\,2})\cdot(\textrm{column}\,1)=\begin{bmatrix}1&5\end{bmatrix}\begin{bmatrix}2\\1\end{bmatrix}=7\kern 13pt是\,AB\,在(2,1)处的元素 (row1)⋅(column1)=[34][21]=10是AB在(1,1)处的元素(row2)⋅(column1)=[15][21]=7是AB在(2,1)处的元素总共要做 6 6 6 个点积,每个有 2 2 2 次乘法,总共需要 ( 3 ⋅ 2 ⋅ 2 ) = 12 (3\cdot2\cdot2)=12 (3⋅2⋅2)=12 次乘法。 A B AB AB 也可以是 A A A 的列乘 B B B 的行,一列乘一行是一个矩阵,也是 12 12 12 次乘法: A B = [ 3 1 2 ] [ 2 4 ] + [ 4 5 0 ] [ 1 1 ] = [ 6 12 2 4 4 8 ] + [ 4 4 5 5 0 0 ] AB=\begin{bmatrix}3\\1\\2\end{bmatrix}\begin{bmatrix}2&4\end{bmatrix}+\begin{bmatrix}4\\5\\0\end{bmatrix}\begin{bmatrix}1&1\end{bmatrix}=\begin{bmatrix}6&12\\2&4\\4&8\end{bmatrix}+\begin{bmatrix}4&4\\5&5\\0&0\end{bmatrix} AB= 312 [24]+ 450 [11]= 6241248 + 450450
相关文章:
2.3 矩阵消元
一、消元矩阵 消元矩阵执行消元步骤用到的矩阵。从第 i i i 个方程减去 l i j l_{ij} lij 乘第 j j j 个方程(将 x j x_j xj 从第 i i i 行中消去)。我们需要很多个简单的矩阵 E i j E_{ij} Eij,每一个对应一个主对角线下方要消…...
Docker 从构建开始导出一个镜像
docker build docker build命令用于从Dockerfile创建一个镜像。它的基本格式如下: docker build [OPTIONS] PATH | URL | -这里的PATH是Dockerfile所在的路径,URL是一个Git仓库地址,-表示从标准输入读取Dockerfile。 docker build命令的一…...
案例研究|腾讯音乐娱乐集团与JumpServer共探安全运维审计解决方案
近年来,得益于人民消费水平的提升以及版权意识的加强,用户付费意愿和在线用户数量持续增长,中国在线音乐市场呈现出稳定增长的发展态势。随着腾讯音乐于2018年12月上市,进一步推动了中国在线音乐市场的发展。 腾讯音乐娱乐集团&a…...
如何卸载在linux下通过rpm安装的mysql
目录 1.先关闭MySQL服务并查看运行状态 2.使用 rpm 管道命令的方式查看已安装的mysql 3. 使用rpm -ev 命令移除安装 4. 删除MySQL数据库内容 1.先关闭MySQL服务并查看运行状态 如果之前安装过并已经启动,则需要卸载前请先关闭MySQL服务 systemctl stop mysqld…...
docker复制镜像文件
一、复制镜像 #1. 查找本机已有的镜像docker images |grep xxxx#2. 将镜像复制出来指向到xxxx.tar的文件中 docker save 343cca04e31d > xxxx.tareg: 二、加载镜像 直接将拷贝好的镜像包直接加载即可 docker load < myimage.tar...
自动驾驶学习笔记(六)——Apollo安装
#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 Apollo安装 硬件配置 安装Ubuntu…...
四阶龙格库塔与元胞自动机
龙格库塔法参考: 【精选】四阶龙格库塔算法及matlab代码_四阶龙格库塔法matlab_漫道长歌行的博客-CSDN博客 龙格库塔算法 Runge Kutta Method及其Matlab代码_龙格库塔法matlab_Lzh_023016的博客-CSDN博客 元胞自动机参考: 元胞自动机:森林…...
Mac安装opencvJava踩坑
SpringBoot导入opencv依赖 先将jar包添加到libraries中在resources目录下创建lib文件夹并复制jar包到这里添加如下依赖,并刷新maven <dependency><groupId>org.opencv</groupId><artifactId>opencv</artifactId><version>4.8.0…...
YOLOv8-Pose推理详解及部署实现
目录 前言一、YOLOv8-Pose推理(Python)1. YOLOv8-Pose预测2. YOLOv8-Pose预处理3. YOLOv8-Pose后处理4. YOLOv8-Pose推理 二、YOLOv8-Pose推理(C)1. ONNX导出2. YOLOv8-Pose预处理3. YOLOv8-Pose后处理4. YOLOv8-Pose推理 三、YOLOv8-Pose部署1. 源码下载2. 环境配置2.1 配置CM…...
django+drf+vue 简单系统搭建 (1) - django创建项目
本系列文章为了记录自己第一个系统生成过程,主要使用django,drf,vue。本人非专业人士,此文只为记录学习,若有部分描述不够准确的地方,烦请指正。 建立这个系统的原因是因为,在生活中,很多觉得可以一两行代码…...
各种NoSQL数据库
NoSQL数据库是一类非关系型数据库,它们在数据存储和检索方面与传统的关系型数据库不同。不同类型的NoSQL数据库适用于不同的使用场景,因为它们具有各自的特点。以下是一些主要类型的NoSQL数据库及其特性和使用场景: 键值存储数据库 代表性数据…...
基于8086家具门安全控制系统设计
**单片机设计介绍,基于8086家具门安全控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 # 8086家具门安全控制系统设计介绍 8086家具门安全控制系统是一种用于保护家具和保证室内安全的系统。该系统基于808…...
k8s:kubectl 详解
目录 1 kubectl 2 基本信息查看 2.1 查看 master 节点状态 2.2 查看命名空间 2.3 查看default命名空间的所有资源 2.4 创建命名空间app 2.5 删除命名空间app 2.6 在命名空间kube-public 创建副本控制器(deployment)来启动Pod(nginx-wl…...
壹基金防灾减灾宣传进社区 提升家庭安全能力
11月7日,瑞金市赋能济困公益协会、蓝天救援队等联合沙洲坝镇红都新城社区一起走进梦想家园小区,开展家庭安全计划社区活动包挑战赛活动暨壹基金安全家园项目防灾减灾宣传社区行活动。 活动中,志愿者针对从洪涝灾害、风灾、火灾、雪灾、地质灾…...
抖音自动发评论软件下载方法与其使用方法与案例分析分享
先来看成果,↑↑需要的同学可看我名字↖↖↖↖↖,或评论888无偿分享 一、引言 亲爱的知友们,你是否在抖音上遇到过这样的情况:看到一个非常棒的短视频,但想要表达的评论太多,手动逐一回复既耗时又费力。那…...
Java代码实现当前时间增加3个月
import java.time.LocalDate; import java.time.temporal.TemporalAdjusters;public class DateUtils {public static LocalDate addThreeMonths(LocalDate date) {// 使用TemporalAdjusters类将日期增加3个月return date.plusMonths(3).with(TemporalAdjusters.lastDayOfMonth…...
互联网系统安全(一)
目录 一、互联网系统安全概述 互联网系统的安全性为什么如此重要 互联网系统中的典型威胁 二、 威胁分析 2.1、跨站脚本(XSS) 2.1.1、跨站脚本 (XSS)攻击 2.1.2、SQL注入攻击: 2.2、跨站请求伪造(C…...
C# TabControl实现为每一个TabPage添加关闭按钮
默认情况下TabControl是无法通过界面关闭TabPage的 有些情况下我们需要手动关闭任意一个TabPage,如下图所示 TabControl控件自带属性是无法满足以上需求,下面简单介绍实现过程 1、首先需要对TabPage进行重绘,其目的是为了在TabPage上画出…...
Win10系统下torch.cuda.is_available()返回为False的问题解决
Q: Win10系统下torch.cuda.is_available()返回为False (l2) D:\opt\l2>pythonPython 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:34:57) [MSC v.1936 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or &q…...
零代码编程:用ChatGPT批量将Mp4视频转为Mp3音频
文件夹中有很多mp4视频文件,如何利用ChatGPT来全部转换为mp3音频呢? 在ChatGPT中输入提示词: 你是一个Python编程专家,要完成一个批量将Mp4视频转为Mp3音频的任务,具体步骤如下: 打开文件夹:…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
