0%

【线性代数】矩阵消元-高斯消元法

一、高斯消元法

能使用消元法的情况:每次消元过程中,对角线元素始终不能为0,即矩阵可逆

我们一般利用高斯消元法进行矩阵的消元。下面我们通过举例说明:

如果按照我们初中所学的解法,一般是先用第三个方程将$z$用$y$表示,然后代入到第二个方程就可以用$x$来表示$y$和$z$,最后代入第一个方程就可以求得$x,y,z$。这个算法的核心就是消元!下面我们看看矩阵形式的消元法。

​ 首先将上面的三元一次方程组表示为矩阵形式为:

为了方便,我们将等式右边的向量放到左边,构成增广矩阵(可以百度看看什么是增广矩阵)。下面是消元的具体步骤:

其中,上图中的第一个矩阵就是所说的增广矩阵,我们记作$A$,经过步骤$E{21}$得到的矩阵为$B$,经过步骤$E{32}$得到的矩阵为$C$。

​ 步骤$E{21}$的目的是$A{21}=0$,这里是指用第二行减去第一行的三倍

​ 步骤$E{32}$的目的是使$A{32}=0$,这里是指用第三行减去第二行的两倍

注:高斯消元的目的是使原矩阵(不要考虑最后一列,这一列是等式右边的,matlab是分别对左右两边进行消元的,我这里写在一起是为了方便)对角线下面的元素为0,变成上三角矩阵,在上面例子中本应该在步骤$E{21}$和步骤$E{32}$中还有步骤$E{31}$,使得$A{31}=0$。但是原矩阵的$A_{31}=0$,所以没有必要进行操作。尽管这一步骤没有必要,但matlab会进行操作(没有人机智)。

​ 通过消元得到的结果矩阵$C$(上图中的第三个矩阵),我们可以写出其方程组的形式:

上面方程组可以直接看出,$z=-2$,然后代入第二个方程得到$y=1$,再代入第一个方程得到$x=2$。

​ 在上面的消元过程中,原始矩阵$A$经过步骤$E{21}$得到矩阵$B$,矩阵$B$经过步骤$E{32}$得到矩阵$C$,我们用矩阵来表示步骤$E{21}$,步骤$E{32}$,则可以得到:

把这两步综合起来得到:

总结,我们令方程组左边的矩阵为$D$,用初等矩阵$E$来表示消元操作,用上三角矩阵$U$表示消元得到的结果,则以上式为例:


置换矩阵

1、行交换:左乘

2、列交换:右乘

坚持原创技术分享,您的支持将鼓励我继续创作!