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

相关推荐
准橙考典14 分钟前
怎么能更好的通过驾考呢?
人工智能·笔记·自动驾驶·汽车·学习方法
密码小丑2 小时前
11月4日(内网横向移动(一))
笔记
鸭鸭梨吖2 小时前
产品经理笔记
笔记·产品经理
齐 飞3 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
丫头,冲鸭!!!3 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
听忆.4 小时前
手机屏幕上进行OCR识别方案
笔记
Selina K4 小时前
shell脚本知识点记录
笔记·shell
5 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
霍格沃兹测试开发学社测试人社区5 小时前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
幸运超级加倍~6 小时前
软件设计师-上午题-16 算法(4-5分)
笔记·算法