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

相关推荐
鹏北海-RemHusband9 小时前
Go 语言进阶笔记 — 面向 JS/TS 前端开发者
笔记·golang
nnsix11 小时前
Unity QFramework ResKit、UIKit 笔记
笔记
摇滚侠12 小时前
Java 零基础全套教程,反射机制,笔记 187-188
java·开发语言·笔记
【云轩】12 小时前
如何设计一台能模拟电机的电子负载:一个硬件工程师的实战笔记
笔记·嵌入式硬件
可信计算13 小时前
X司民用无人机运行安全与合规培训手册
笔记
李子琪。14 小时前
Web漏洞-CSRF-CSRF防御 实验步骤
经验分享·笔记
小碗羊肉15 小时前
【Agent笔记 | 第四篇】Agentic RAG
笔记
小雨xs15 小时前
Vulnhub靶场DC-9 渗透测试笔记
笔记
whyTeaFo15 小时前
MIT 6.1810: xv6 book Chapter3: Page tables 笔记
笔记
吃好睡好便好16 小时前
矩阵的乘法运算
数据结构·人工智能·学习·线性代数·算法·matlab·矩阵