矩阵消元
第二讲:矩阵消元
这个方法最早由高斯提出,我们以前解方程组的时候都会使用,现在来看如何使用矩阵实现消元法。
消元法
有三元方程组
按照我们以前做消元法的思路:
第一步,我们希望在第二个方程中消去
项,来操作系数矩阵 ,下划线的元素为第一步的主元(pivot): 这里我们先不管
向量,等做完 的消元可以再做 的消元。(这是MATLAB等工具经常使用的算法。) 第二步,我们希望在第三个方程中消去
项,现在第二行第一个非零元素成为了第二个主元: 注意到第三行消元过后仅剩一个非零元素,所以它就成为第三个主元。做到这里就算消元完成了。
再来讨论一下消元失效的情形:首先,主元不能为零;其次,如果在消元时遇到主元位置为零,则需要交换行,使主元不为零;最后提一下,如果我们把第三个方程
接下来就该回代(back substitution)了,这时我们在
矩阵后面加上 向量写成增广矩阵(augmented matrix)的形式: 不难看出,
的解已经出现了,此时方程组变为 ,从第三个方程求出 ,代入第二个方程求出 ,再代入第一个方程求出 。
消元矩阵
上一讲我们学习了矩阵乘以向量的方法,有三个列向量的矩阵乘以另一个向量,按列的线性组合可以写作
但现在我们希望用矩阵乘法表示行操作,则有
介绍到这里,我们就可以将消元法所做的行操作写成向量乘以矩阵的形式了。
消元法第一步操作为将第二行改成
,其余两行不变,则有 (另外,如果三行都不变,消元矩阵就是单位矩阵 , 之于矩阵运算相当于 之于四则运算。)这个消元矩阵我们记作 ,即将第二行第一个元素变为零。 接下来就是求
消元矩阵了,即将第三行第二个元素变为零,则 。这就是消元所用的两个初等矩阵(elementary matrix)。 最后,我们将这两步综合起来,即
,也就是说如果我们想从 矩阵直接得到 矩阵的话,只需要 即可。注意,矩阵乘法虽然不能随意变动相乘次序,但是可以变动括号位置,也就是满足结合律(associative law),而结合律在矩阵运算中非常重要,很多定理的证明都需要巧妙的使用结合律。
既然提到了消元用的初等矩阵,那我们再介绍一种用于置换两行的矩阵:置换矩阵(permutation matrix):例如
我们现在能够将
逆
现在,我们以
我们把矩阵