线性代数笔记2--矩阵消元

0. 简介

矩阵消元

1. 消元过程

实例方程组
{ x + 2 y + z = 2 3 x + 8 y + z = 12 4 y + z = 2 \begin{cases} x+2y+z=2\\ 3x+8y+z=12\\ 4y+z=2 \end{cases} ⎩ ⎨ ⎧x+2y+z=23x+8y+z=124y+z=2

矩阵化
A = [ 1 2 1 3 8 1 0 4 1 ] X = [ x y z ] A= \begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{bmatrix} \\ X= \begin{bmatrix} x\\y\\z \end{bmatrix} A= 130284111 X= xyz
B = [ 2 12 2 ] B= \begin{bmatrix} 2\\12\\2 \end{bmatrix} B= 2122

消元

1 2 1 3 8 1 0 4 1 \] ⟶ ( 2 , 1 ) \[ 1 2 1 0 2 − 2 0 4 1 \] ⟶ ( 3 , 2 ) \[ 1 2 1 0 2 − 2 0 0 5 \] \\begin{bmatrix} 1 \& 2 \& 1 \\\\ 3 \& 8 \& 1 \\\\ 0 \& 4 \& 1 \\end{bmatrix} \\stackrel{(2,1)}{\\longrightarrow} \\begin{bmatrix} 1 \& 2 \& 1 \\\\ 0 \& 2 \& -2 \\\\ 0 \& 4 \& 1 \\end{bmatrix} \\stackrel{(3,2)}\\longrightarrow \\begin{bmatrix} 1 \& 2 \& 1 \\\\ 0 \& 2 \& -2\\\\ 0 \& 0 \& 5 \\end{bmatrix} 130284111 ⟶(2,1) 1002241−21 ⟶(3,2) 1002201−25 回代 \[ 2 12 2 \] ⟶ r o w 2 − 3 r o w 1 \[ 2 6 2 \] ⟶ r o w 3 − 2 r o w 2 \[ 2 6 − 10 \] \\begin{bmatrix} 2 \\\\ 12 \\\\ 2 \\end{bmatrix} \\stackrel{row_2-3row_1}\\longrightarrow \\begin{bmatrix} 2 \\\\ 6 \\\\ 2 \\end{bmatrix} \\stackrel{row_3-2row_2}\\longrightarrow \\begin{bmatrix} 2 \\\\ 6 \\\\-10 \\end{bmatrix} 2122 ⟶row2−3row1 262 ⟶row3−2row2 26−10 求解 \[ 1 2 1 0 2 − 2 0 0 5 \] \[ x y z \] = \[ 2 6 − 10 \] \\begin{bmatrix} 1 \& 2 \& 1\\\\ 0 \& 2 \& -2\\\\ 0 \& 0 \& 5 \\\\ \\end{bmatrix} \\begin{bmatrix} x \\\\ y \\\\z \\end{bmatrix} =\\begin{bmatrix} 2 \\\\ 6 \\\\ -10 \\end{bmatrix} 1002201−25 xyz = 26−10 结果 \[ x y z \] = \[ 2 1 − 2 \] \\begin{bmatrix} x \\\\y \\\\z \\end{bmatrix}= \\begin{bmatrix} 2\\\\1 \\\\ -2 \\end{bmatrix} xyz = 21−2 #### 2. 消元矩阵 将上述消元的过程变为矩阵相乘的形式。 向量式思考 矩阵乘列向量 \[ . . . . . . . . . \] \[ x y z \] = \[ x ∗ c o l 1 + y ∗ c o l 2 + z ∗ c o l 3 \] \\begin{bmatrix} . \& . \& .\\\\ . \& . \& .\\\\ . \& . \& . \\end{bmatrix} \\begin{bmatrix}\\ x \\\\ y\\\\ z \\end{bmatrix}= \\begin{bmatrix} x\*col1 +y\*col2 +z\*col3 \\end{bmatrix} ......... xyz =\[x∗col1+y∗col2+z∗col3

行向量乘矩阵

x y z \] \[ . . . . . . . . . \] = \[ x ∗ r o w 1 + y ∗ r o w 2 + z ∗ r o w 3 \] \\begin{bmatrix}\\ x \\ y\\ z \\end{bmatrix} \\begin{bmatrix} . \& . \& .\\\\ . \& . \& .\\\\ . \& . \& . \\end{bmatrix}= \\begin{bmatrix} x\*row1 \\\\+\\\\y\*row2 \\\\+\\\\z\*row3 \\end{bmatrix} \[ x y z\] ......... = x∗row1+y∗row2+z∗row3 一个矩阵左边乘一个单位矩阵并不改变其值 A = \[ 1 2 1 3 8 1 0 4 1 \] = \[ 1 0 0 0 1 0 0 0 1 \] \[ 1 2 1 3 8 1 0 4 1 \] A= \\begin{bmatrix} 1 \& 2 \& 1\\\\ 3 \& 8 \& 1\\\\ 0 \& 4 \& 1 \\end{bmatrix}= \\begin{bmatrix} 1 \& 0 \& 0\\\\ 0 \& 1 \& 0\\\\ 0 \& 0 \& 1\\\\ \\end{bmatrix} \\begin{bmatrix} 1 \& 2 \& 1\\\\ 3 \& 8 \& 1\\\\ 0 \& 4 \& 1 \\end{bmatrix} A= 130284111 = 100010001 130284111 而做行的加减则可以 A = \[ 1 2 1 3 8 1 0 4 1 \] A ′ = \[ 1 0 0 − 3 1 0 0 0 1 \] \[ 1 2 1 3 8 1 0 4 1 \] = \[ 1 2 1 0 2 − 2 0 4 1 \] A= \\begin{bmatrix} 1 \& 2 \& 1\\\\ 3 \& 8 \& 1\\\\ 0 \& 4 \& 1 \\end{bmatrix}\\\\ A'= \\begin{bmatrix} 1 \& 0 \&0\\\\ -3 \& 1 \& 0\\\\ 0 \&0 \& 1 \\end{bmatrix} \\begin{bmatrix} 1 \& 2 \& 1\\\\ 3 \& 8 \& 1\\\\ 0 \& 4 \&1 \\end{bmatrix}=\\\\ \\begin{bmatrix} 1 \& 2 \&1 \\\\ 0 \& 2 \& -2\\\\ 0\& 4 \& 1 \\end{bmatrix} A= 130284111 A′= 1−30010001 130284111 = 1002241−21 实际上这个过程就是,我们在之前的消元过程中的第二行减去三倍第一行的过程。我们继续下去将这个矩阵对角化。 A ′ ′ = \[ 1 0 0 0 1 0 0 − 2 1 \] A ′ = \[ 1 0 0 0 1 0 0 − 2 1 \] \[ 1 2 1 0 2 − 2 0 4 1 \] = \[ 1 2 1 0 2 − 2 0 0 5 \] A''= \\begin{bmatrix} 1 \& 0 \& 0\\\\ 0 \& 1 \& 0\\\\ 0 \& -2 \& 1 \\end{bmatrix} A'\\\\= \\begin{bmatrix} 1 \& 0 \& 0\\\\ 0 \& 1 \& 0\\\\ 0 \& -2 \& 1 \\end{bmatrix} \\begin{bmatrix} 1 \& 2 \& 1\\\\ 0 \& 2 \& -2 \\\\ 0 \& 4 \& 1 \\end{bmatrix}\\\\= \\begin{bmatrix} 1 \& 2 \& 1\\\\ 0 \& 2 \& -2\\\\ 0 \& 0 \& 5 \\end{bmatrix} A′′= 10001−2001 A′= 10001−2001 1002241−21 = 1002201−25 我们令最后的上三角矩阵为 U = \[ 1 2 1 0 2 − 2 0 0 5 \] U=\\begin{bmatrix} 1 \& 2 \& 1\\\\ 0 \& 2 \& -2\\\\ 0 \& 0 \& 5 \\end{bmatrix} U= 1002201−25 两个变换矩阵为 E 21 = \[ 1 0 0 − 3 1 0 0 0 1 \] E 32 = \[ 1 0 0 0 1 0 0 − 2 1 \] E_{21}=\\begin{bmatrix} 1 \& 0 \&0\\\\ -3 \& 1 \& 0\\\\ 0 \&0 \& 1 \\end{bmatrix} \\\\ E_{32}=\\begin{bmatrix} 1 \& 0 \& 0\\\\ 0 \& 1 \& 0\\\\ 0 \& -2 \& 1 \\end{bmatrix} E21= 1−30010001 E32= 10001−2001 则 E 32 ( E 21 A ) = U E_{32}(E_{21}A)=U E32(E21A)=U 而矩阵乘法满足结合律[证明](https://blog.csdn.net/hpdlzu80100/article/details/98757468)即 E 32 E 21 A = E 32 ( E 21 A ) E_{32}E_{21}A=E_{32}(E_{21}A) E32E21A=E32(E21A) 所以最终消元的过程变成了寻找矩阵E的过程 E = E 32 E 21 E=E_{32}E_{21} E=E32E21 这一过程。 #### 3. 置换矩阵 在上述的消元矩阵中,我们并没有进行列的交换。那么如何进行交换呢? 我们知道在原矩阵基础左边乘单位矩阵,矩阵不会发生变化。 A = \[ 1 2 3 4 \] = \[ 1 0 0 1 \] \[ 1 2 3 4 \] A= \\begin{bmatrix} 1 \& 2 \\\\ 3 \& 4 \\end{bmatrix}=\\ \\begin{bmatrix} 1 \& 0\\\\ 0 \& 1 \\end{bmatrix} \\begin{bmatrix} 1 \& 2 \\\\ 3 \& 4 \\end{bmatrix} A=\[1324\]= \[1001\]\[1324

如何交换两行呢,将单位矩阵变形
A ′ = [ 0 1 1 0 ] [ 1 2 3 4 ] = [ 3 4 1 2 ] A'= \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} 1 & 2\\ 3 & 4 \end{bmatrix}= \begin{bmatrix} 3 & 4\\ 1 & 2 \end{bmatrix} A′=[0110][1324]=[3142]

推广到多行
A = [ 1 2 3 4 5 6 7 8 9 ] A= \begin{bmatrix} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9 \end{bmatrix} A= 147258369

  • 行变换
    交换第一行和第三行
    A ′ = [ 0 0 1 0 1 0 1 0 0 ] [ 1 2 3 4 5 6 7 8 9 ] A'= \begin{bmatrix} 0 & 0 & 1\\ 0 & 1 & 0\\ 1 & 0 & 0 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3\\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} A′= 001010100 147258369
    交换第一行和第二行
    A ′ ′ = [ 0 1 0 1 0 0 0 0 1 ] [ 1 2 3 4 5 6 7 8 9 ] A''= \begin{bmatrix} 0 & 1 & 0\\ 1 & 0 & 0\\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 2 & 3\\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{bmatrix} A′′= 010100001 147258369

所以交换任意两行,只需将单位矩阵中对应行 1 1 1的位置进行交换。

  • 列变换

在矩阵左边乘是对原矩阵行变换,而在矩阵右边则是列变换

交换矩阵两列
A = [ 1 2 3 4 ] A ′ = [ 1 2 3 4 ] [ 0 1 1 0 ] = [ 2 1 4 3 ] A= \begin{bmatrix} 1 & 2\\ 3 & 4 \end{bmatrix} \\ A'= \begin{bmatrix} 1 & 2\\ 3 & 4 \end{bmatrix} \begin{bmatrix} 0 & 1\\ 1 & 0 \end{bmatrix}= \begin{bmatrix} 2 & 1\\ 4 & 3 \end{bmatrix} A=[1324]A′=[1324][0110]=[2413]

交换多列也是一样的效果

交换第 1 1 1第 2 2 2列
A = [ 1 2 3 4 5 6 7 8 9 ] A ′ = [ 1 2 3 4 5 6 7 8 9 ] [ 0 1 0 1 0 0 0 0 1 ] = [ 2 1 3 5 4 6 8 7 9 ] A= \begin{bmatrix} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9\\ \end{bmatrix} \\ A'= \begin{bmatrix} 1 & 2 & 3\\ 4 & 5 & 6\\ 7 & 8 & 9\\ \end{bmatrix} \begin{bmatrix} 0 & 1 & 0\\ 1 & 0 & 0\\ 0 & 0 & 1\\ \end{bmatrix}= \begin{bmatrix} 2 & 1 & 3\\ 5 & 4 & 6\\ 8 & 7 & 9\\ \end{bmatrix} A= 147258369 A′= 147258369 010100001 = 258147369

所以交换任意两列,只需将单位矩阵中对应行 1 1 1的位置进行交换。

与行交换的不同地方在于,矩阵乘的在右边了。

4. 矩阵的逆

A = [ 1 0 0 − 3 1 0 0 0 1 ] A − 1 = [ 1 0 0 3 1 0 0 0 1 ] A − 1 A = [ 1 0 0 3 1 0 0 0 1 ] [ 1 0 0 − 3 1 0 0 0 1 ] = [ 1 0 0 0 1 0 0 0 1 ] A= \begin{bmatrix} 1 & 0 & 0\\ -3 & 1 &0\\ 0 & 0 & 1 \end{bmatrix}\\ A^{-1}= \begin{bmatrix} 1 & 0 & 0\\ 3 & 1 & 0\\ 0 & 0 & 1\\ \end{bmatrix}\\ A^{-1}A= \begin{bmatrix} 1 & 0 & 0\\ 3 & 1 & 0\\ 0 & 0 & 1\\ \end{bmatrix} \begin{bmatrix} 1 & 0 & 0\\ -3 & 1 &0\\ 0 & 0 & 1 \end{bmatrix}= \begin{bmatrix} 1 & 0 & 0\\ 0 & 1 &0\\ 0 & 0 & 1 \end{bmatrix} A= 1−30010001 A−1= 130010001 A−1A= 130010001 1−30010001 = 100010001

相关推荐
UpUpUp……18 分钟前
Linux--JsonCpp
linux·运维·服务器·c++·笔记·json
qq_59821175722 分钟前
Unity.UGUI DrawCall合批笔记
笔记·unity·游戏引擎
工藤新一¹40 分钟前
蓝桥杯算法题 -蛇形矩阵(方向向量)
c++·算法·矩阵·蓝桥杯·方向向量
Suckerbin1 小时前
基于HTTP头部字段的SQL注入:SQLi-labs第17-20关
网络·笔记·网络协议·安全·http·网络安全
孤寂大仙v3 小时前
【Linux笔记】——进程信号的产生
linux·服务器·笔记
愚戏师3 小时前
Linux复习笔记(三) 网络服务配置(web)
linux·运维·笔记
Despacito0o4 小时前
RGB矩阵照明系统详解及WS2812配置指南
c语言·线性代数·矩阵·计算机外设·qmk
唐山柳林4 小时前
现代化水库运行管理矩阵平台如何建设?
线性代数·矩阵
scdifsn5 小时前
动手学深度学习12.4.硬件-笔记&练习(PyTorch)
pytorch·笔记·深度学习·缓存·内存·硬盘·深度学习硬件
北温凉5 小时前
【学习笔记】机器学习(Machine Learning) | 第六章(2)| 过拟合问题
笔记·机器学习