线性代数笔记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

而矩阵乘法满足结合律证明
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= 10011324

如何交换两行呢,将单位矩阵变形
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′=01101324=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=1324A′=13240110=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

相关推荐
a11177642 分钟前
SLAM 学习笔记(三)视觉里程计2(VO) 特征点法
人工智能·笔记·学习
Yang_jie_031 小时前
笔记:数据结构(循环队列相关判断条件)
数据结构·笔记
三品吉他手会点灯1 小时前
嵌入式机器学习 - 学习笔记1.1.2 - 机器学习的局限性与伦理
人工智能·笔记·嵌入式硬件·学习·机器学习
USB_ABC1 小时前
视频矩阵核心技术对比:模块化vs固定机箱、硬件帧同步vs软件同步怎么选
矩阵·音视频
鱼子星_2 小时前
【C++】类和对象(下)——初始化列表,类型转换,static成员,友元,内部类,匿名对象,编译器的优化拓展
c语言·c++·笔记
千寻xun10 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
Piko61415 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记
AOwhisky16 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环
Piko61417 小时前
锐捷交换机 DHCP Server部署
运维·网络·笔记
workflower18 小时前
室内外配送机器人-应用路径
人工智能·机器学习·设计模式·矩阵·自动化