MIT 18.06 Gilbert Strang《线性代数》L2. 矩阵消元
这里是 MIT 18.06 Gilbert Strang《线性代数》笔记汇总.
消元法
有三元方程组 {x+2y+z=23x+8y+z=124y+z=2\begin{cases}x&+2y&+z&=2\\3x&+8y&+z&=12\\&4y&+z&=2\end{cases}⎩⎪⎨⎪⎧x3x+2y+8y4y+z+z+z=2=12=2,对应的矩阵形式 Ax=bAx=bAx=b 为[121381041][xyz]=[2122]\begin{bmatrix}1&2&1\\3&8&1\\0&4&1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}2\\12\\2\end{bmatrix}⎣⎡130284111⎦⎤⎣⎡xyz⎦⎤=⎣⎡2122⎦⎤。
按照我们以前做消元法的思路:
第一步,我们希望在第二个方程中消去 xxx 项,来操作系数矩阵A=[1‾21381041]A=\begin{bmatrix}\underline{1}&2&1\\3&8&1\\0&4&1\end{bmatrix}A=⎣⎡130284111⎦⎤,下划线的元素为第一步的主元(pivot) 即第一行的第一个非零元素:[1‾21381041]→row2−3row1[1‾2102−2041]\begin{bmatrix}\underline{1}&2&1\\3&8&1\\0&4&1\end{bmatrix}\xrightarrow{row_2-3row_1}\begin{bmatrix}\underline{1}&2&1\\0&2&-2\\0&4&1\end{bmatrix}⎣⎡130284111⎦⎤row2−3row1⎣⎡1002241−21⎦⎤
这里我们先不管 bbb 向量,等做完 AAA 的消元可以再做 bbb 的消元。(这是MATLAB等工具经常使用的算法。)
第二步,我们希望在第三个方程中消去 yyy 项,现在第二行第一个非零元素成为了第二个主元:[1‾2102‾−2041]→row3−2row2[1‾2102‾−2005‾]\begin{bmatrix}\underline{1}&2&1\\0&\underline{2}&-2\\0&4&1\end{bmatrix}\xrightarrow{row_3-2row_2}\begin{bmatrix}\underline{1}&2&1\\0&\underline{2}&-2\\0&0&\underline{5}\end{bmatrix}⎣⎡1002241−21⎦⎤row3−2row2⎣⎡1002201−25⎦⎤
注意到第三行消元过后仅剩一个非零元素,所以它就成为第三个主元。做到这里就算消元完成了。
接下来就该回代(back substitution)了,这时我们在 AAA 矩阵后面加上 bbb 向量写成增广矩阵(augmented matrix)的形式:[Ab]=[1212381120412]→[121202−260412]→[121202−26005−10][Ab]\left[\begin{array}{c|c}A&b\end{array}\right]=\left[\begin{array}{ccc|c}1&2&1&2\\3&8&1&12\\0&4&1&2\end{array}\right]\to\left[\begin{array}{ccc|c}1&2&1&2\\0&2&-2&6\\0&4&1&2\end{array}\right]\to\left[\begin{array}{ccc|c}1&2&1&2\\0&2&-2&6\\0&0&5&-10\end{array}\right][Ab][Ab]=⎣⎡1302841112122⎦⎤→⎣⎡1002241−21262⎦⎤→⎣⎡1002201−2526−10⎦⎤[Ab]
不难看出,zzz 的解已经出现了,此时方程组变为 {x+2y+z=22y−2z=65z=−10\begin{cases}x&+2y&+z&=2\\&2y&-2z&=6\\&&5z&=-10\end{cases}⎩⎪⎨⎪⎧x+2y2y+z−2z5z=2=6=−10,从第三个方程求出 z=−2z=-2z=−2,代入第二个方程求出 y=1y=1y=1,再代入第一个方程求出 x=2x=2x=2。
讨论一下消元失效的情形:
- 首先,主元不能为零;
- 其次,如果在消元时遇到主元位置为零,则需要交换行,使主元不为零;
- 最后提一下,如果我们把第三个方程 zzz 前的系数改成 −4-4−4,会导致第二步消元时 −4−2⋅(−2)-4-2 \cdot (-2)−4−2⋅(−2) 最后一行全部为零,则第三个主元就不存在了,至此消元不能继续进行了,这就是下一讲中涉及的不可逆情况。
消元矩阵
上面的消元法是从简单的变换角度介绍了消元的具体操作,接下来我们需要用矩阵来表示变换的步骤,这也十分有必要,因为这是一种 “系统地” 变换矩阵的方法。
上一讲学习了矩阵乘以列向量的方法,有三个列向量的矩阵乘以另一个向量,按列的线性组合可以写作 [v1v2v3][345]=3v1+4v2+5v3\Bigg[v_1\ v_2\ v_3\Bigg]\begin{bmatrix}3\\4\\5\end{bmatrix}=3v_1+4v_2+5v_3[v1 v2 v3]⎣⎡345⎦⎤=3v1+4v2+5v3。
这不能解决现在的问题,因为消元法中用的是 行变换。那我们考虑这个问题,行向量和矩阵的乘积是什么呢?
[127][row1row2row3]=1row1+2row2+7row3\begin{bmatrix}1&2&7\end{bmatrix}\begin{bmatrix}&row_1&\\&row_2&\\&row_3&\end{bmatrix}=1row_1+2row_2+7row_3[127]⎣⎡row1row2row3⎦⎤=1row1+2row2+7row3。易看出这里是一个行向量从左边乘以矩阵,这个行向量按行操作矩阵的行向量,并将其合成为一个矩阵行向量的线性组合。
为什么变为: 行向量左乘矩阵?
因为假设 矩阵是 3x3 的,此时行向量是 1x3,矩阵乘以行向量,衔接部分是 1≠31 \ne 31=3。所以需要交换一下变为左乘。
学会了行向量与矩阵之间的乘法,就可以使用行向量对矩阵的行做操作了。所谓 消元矩阵,就是 将消元过程中的行变换转化为矩阵之间的乘法形式.
首先要知道:单位矩阵与矩阵相乘 不改变矩阵。 消元矩阵就是它的变换形式。栗子:[100010001][121381041]=[121381041]本身 \left[\begin{array}{lll} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{lll} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{array}\right]=\left[\begin{array}{lll} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{array}\right] \text { 本身 }⎣⎡100010001⎦⎤⎣⎡130284111⎦⎤=⎣⎡130284111⎦⎤ 本身
消元法过程:
消元法第一步操作为将第二行改成 row2−3row1row_2-3row_1row2−3row1,其余两行不变,则有[100−310001][121381041]=[12102−2041]\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}⎣⎡1−30010001⎦⎤⎣⎡130284111⎦⎤=⎣⎡1002241−21⎦⎤。这个消元矩阵我们记作 E21E_{21}E21,即将第二行第一个元素变为零。
接下来第二步就是求 E32E_{32}E32 消元矩阵了,即将第三行第二个元素变为零,操作为将第二行改成 row3−2row2row_3-2row_2row3−2row2,,则[1000100−21][12102−2041]=[12102−2005]\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}⎣⎡10001−2001⎦⎤⎣⎡1002241−21⎦⎤=⎣⎡1002201−25⎦⎤。这就是消元所用的两个初等矩阵(elementary matrix)。
最后,我们将这两步综合起来,即 E32(E21A)=UE_{32}(E_{21}A)=UE32(E21A)=U,也就是说如果我们想从 AAA 矩阵直接得到 UUU 矩阵的话,只需要 (E32E21)A(E_{32}E_{21})A(E32E21)A 即可。注意,矩阵乘法虽然不能随意变动相乘次序,但是可以变动括号位置,也就是满足结合律(associative law),而结合律在矩阵运算中非常重要,很多定理的证明都需要巧妙的使用结合律.
既然提到了消元用的初等矩阵,那我们再介绍一种用于置换两行的矩阵:置换矩阵(permutation matrix),例如[0110][abcd]=[cdab]\begin{bmatrix}0&1\\1&0\end{bmatrix}\begin{bmatrix}a&b\\c&d\end{bmatrix}=\begin{bmatrix}c&d\\a&b\end{bmatrix}[0110][acbd]=[cadb],置换矩阵将原矩阵的两行做了互换。如果我们希望交换两列,则有[abcd][0110]=[badc]\begin{bmatrix}a&b\\c&d\end{bmatrix}\begin{bmatrix}0&1\\1&0\end{bmatrix}=\begin{bmatrix}b&a\\d&c\end{bmatrix}[acbd][0110]=[bdac]。即:左乘置换矩阵等同于行交换,右乘置换矩阵等同于列交换。
我们现在能够将 AAA 通过行变换写成 UUU,那么如何从 UUU 再变回 AAA,也就是求消元的逆运算。对某些“坏”矩阵,并没有逆,而本讲的例子都是“好”矩阵。
逆
现在,我们以 E21E_{21}E21 为例,[?][100−310001]=[100010001]\Bigg[\quad ?\quad \Bigg]\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}[?]⎣⎡1−30010001⎦⎤=⎣⎡100010001⎦⎤,什么矩阵可以取消这次行变换?这次变换是从第二行中减去三倍的第一行,那么其逆变换就是给第二行加上三倍的第一行,所以逆矩阵就是 [100310001]\begin{bmatrix}1&0&0\\3&1&0\\0&0&1\end{bmatrix}⎣⎡130010001⎦⎤。
我们把矩阵 EEE 的逆记作 E−1E^{-1}E−1,所以有 E−1E^{-1}E−1。
MIT 18.06 Gilbert Strang《线性代数》L2. 矩阵消元相关推荐
- MIT 18.06 Gilbert Strang《线性代数》L3. 乘法和逆矩阵
这里是 MIT 18.06 Gilbert Strang<线性代数>笔记汇总. 前面介绍了向量和矩阵的乘法,这一节我们要介绍一下两个矩阵之间的乘法.并讨论逆矩阵存在的条件.最后再介绍求解逆 ...
- MIT 18.06 Gilbert Strang《线性代数》L1. 方程组的几何解释
这里是 MIT 18.06 Gilbert Strang<线性代数>笔记汇总. 从求解线性方程组来开始这门课,教授从"行图像"与"列图像"的角度解方 ...
- MIT公开课18.06 Gilbert Strang 线性代数 笔记1 - Ax=b和四个子空间
文章目录 相关链接 课程链接 参考笔记链接 问题 第1讲:方程组的集合解释 1. 从方程组到矩阵 2. Ax=bAx = bAx=b解法1:row picture 行图像 3. Ax=bAx = bA ...
- MIT公开课18.06 Gilbert Strang 线性代数 笔记3 - 正定矩阵及其应用
文章目录 第26讲:对称矩阵及正定性 对称矩阵 性质 描述 证明 谱定理,对称矩阵的分解 对称矩阵特征值的符号 正定性 定义 例子 第27讲:复数矩阵和快速傅里叶变换 复数矩阵运算 计算复向量的模 计 ...
- 解方程组的意义和过程 - Strang MIT 18.06 线性代数精髓 2
在本系列中,我们用彩色 Latex 笔记记录下 MIT 18.06 Gilbert Strang 教授经典的线性代数课程的精髓,部分内容也会以动画和代码的形式.后续会覆盖更多人工智能所涉及的数学基础课 ...
- 矩阵消元-线性代数课时2(MIT Linear Algebra , Gilbert Strang)
这是Strang教授的第二讲,讲解了求线性方程组的一种系统方法:消元法(Gaussian elimination),它的核心思想是行变换.本课时的几个核心知识点:消元.回代.消元过程的矩阵描述和逆矩阵 ...
- 矩阵乘法和逆矩阵-线性代数课时3(MIT Linear Algebra , Gilbert Strang)
这是Strang教授的第三讲,讲解的内容是矩阵乘法和矩阵的逆.矩阵乘法在前面已经使用过,本节课教授只是集中细致的讲解矩阵乘法满足的定律和几种计算矩阵乘法的方法,矩阵的逆是本节课的重要内容. 矩阵乘法 ...
- MIT 18.06 线性代数公开课笔记 Lecture02 矩阵消元
使用消元法解线性方程组 {x+2y+z=23x+8y+z=12+4y+z=2\begin{cases} x&+&2y&+&z&=2\\[2ex] 3x& ...
- 列空间和零空间-线性代数课时6(MIT Linear Algebra , Gilbert Strang)
这是Strang教授的第六讲,讲解的内容是线性代数里的俩个最重要向量子空间:列空间和零空间,同时还有上节课剩余的一点关于向量空间的问题.1.向量空间和子空间;2.列空间;3.零空间. 1.向量空间和子 ...
最新文章
- Nginx深入了解-基础(一)
- snmp 获取 虚拟机硬盘_服务器出故障了怎么办?SNMP告警七步走
- 最大正方形—leetcode221
- linux只允许从ttyS0设备登录,linux自动以root登录,并自动启动用户程序的设置方...
- ajax类型的区别,ajax请求的类型 有post get 请问两种有何区别?
- 【js】js传递对象
- 怎样利用计算机名共享打印设置,怎样设置打印机共享?
- 传奇服务器怎么修改背包金刚石显示,教你在服务器加自己的装备
- C语言 判断上三角矩阵
- 2022云栖大会开幕 阿里张勇:以更先进技术承担更大责任
- Redis主从复制(master/slaver)
- unicode编码和utf-8编码详解
- Oracle ASM理论及实践介绍
- u盘格式化了怎样恢复还原
- 单峰数组求峰值,二分思想,LeetCode862
- Java十六:Scanner,配合hasNext()/hasNextInt()/hasNextFloat()....实现人机互动
- 关于2020的个人总结
- 基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化
- 利用TL-WR842N(V4)进行路由桥接搭建WDS出现的问题
- 基于网页网站在线视频点播系统 毕业设计毕设源码毕业论文开题报告参考(1)功能概要