矩阵消元 elimination
矩阵消元 elimination
我们考虑一个方程组:
同之前一样,考虑
在中学阶段,我们求解方程组一般用消元法,那么下面我们尝试利用消元法求解线性方程组,并看看矩阵是如何变化的。
首先,我们考虑消掉第二行第一列的元素“
然后,再以
图中画框的即为主元。注意:主元不能为0!。我们试想一下,倘若主元为
那么,倘若我们用消元法的过程中发现主元为
这时,它的第二个主元为
便可以进行后面的操作了。
但是,我们不得不还要考虑另一个问题,假如后一行相应的元素也为
这时,我们无论怎样处理,都不会得到未知数
回到正题,下面我们还是考虑消元法可以使用的情况。既然我们得到了消元之后的矩阵,但是这都是没有考虑到
下面我们考虑回代(back substitution)。还是对应上个例子,我们将
其中竖线左边的是
左边的
从下到上依次求解,不难解出
下面我们考虑如何用矩阵语言诠释这整个消元过程。
不过在那之前,我们补充一下矩阵乘法。在上一篇文章的最后,我们提到了矩阵右乘列向量的计算方法。下面我们说一下矩阵左乘行向量的计算。
在之前,我们说矩阵右乘列向量是矩阵各列的线性组合,如:
这是上一节举的例子。实际上,矩阵左乘行向量与之类似,我们也可以理解为矩阵各行的线性组合。如:
说明完之后,回归正题,考虑如何用矩阵语言诠释这整个消元过程。
首先对于矩阵
考虑一下刚才说的,我们可以尝试一下:既然要第一行不变,那我们是不是就可以理解为矩阵各行的线性组合,其中
可以拿右边的矩阵任意一个元素检验一下,是没有问题的。实际上这很合理,因为所谓的矩阵,其本质还是线性方程组的系数,将得到的行向量按顺序结合起来不正是将变换完(消元之后)的线性方程按顺序结合在一起吗?
记刚才组合出的矩阵为初等矩阵(elementary matrix),记为
第二步,
其中
然后,考虑将这两步整合,也就是说,尝试用一个矩阵实现上述两个步骤。结果是显然的,我们注意到刚才的运算可以写为这种形式:
我们想找到一个矩阵,实现
下面说一下置换矩阵(permutation matrix),是另一种初等矩阵。
我们首先看一下对矩阵的行交换。对于一个矩阵
这种矩阵称为置换矩阵,记为
那么如果是列变换呢?我们可以让原矩阵右乘一个矩阵,以实现效果:
该置换矩阵的第一列可以理解为
我们可以得出这样一个规律,作列变换时矩阵右乘,作行变换时矩阵左乘。而且也可以得出,
最后再考虑这么一件事,我们如何从
关于逆变换的具体内容,下一篇文章将进行详细说明。
关于这些结论的严格推导请参阅相关资料,我这里只是为了直观理解矩阵运算的本质。 ↩︎
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步