以矩阵的视角解多元一次方程组——矩阵消元

x + 2 y + z = 2 x +2y+z=2 x+2y+z=2
3 x + 8 y + z = 12 3x+8y+z=12 3x+8y+z=12
4 y + z = 2 4y+z=2 4y+z=2

上面这是一个三元一次方程组,相信大家都知道如何解,现在这里给出另外一种视角,即从矩阵 的角度来解方程组,从而学习在后面的线性代数 学习中会用到的一种思维------矩阵消元


如果你是来学线性代数的,强烈建议你去看看我的上一篇博文,着重理解线性组合这一概念,这对你是否能明白这篇博文,以及未来讲解线性代数的博文尤为重要。

如果仅是来学用矩阵来解方程组,暂时不需深究线性组合这一概念,中途有一些关于线性代数的文字可以适当跳过,只看最后用矩阵解决方程组的文字,等未来需要学线代时在回来看看这篇博文吧。


好了,回归正题。首先,要知道,矩阵消元的逻辑是从普通方法消元化生而来的。所以,我们便由普通消元的逻辑过渡到矩阵消元。

以上述方程组为例,普通的消元思路大致是将第一行乘上一个系数然后与其他行相增减来达到消元的目的。

而这样的做法不就是相当于是这一个方程组行与行之间的线性组合 吗?

暂且停下来,好好品味一下这句话吧,是否有一种豁然开朗,让你对接下来该做什么有一种大致的感觉了?不管有没有,明白这句话后,随我一同来看接下来的解法吧。

既然提到行与行的线性组合,那我们便将这个方程组写成矩阵的形式吧。

1 2 1 3 8 1 0 4 2 \begin{matrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 2 \end{matrix} \ 130284112

以(1,1)的元素为主元(第一行不变),我们将第二行减去第一行的三倍,这个过程得到的正是第一行与第二行的一个线性组合,这个过程我们又可以用矩阵乘矩阵来替代。如下:

[ 1 0 0 − 3 1 0 0 0 1 ] [ 1 2 1 3 8 1 0 4 2 ] = [ 1 2 1 0 2 − 2 0 4 2 ] (1) \left[ \begin{matrix} 1 & 0 & 0\\ -3 & 1 & 0\\ 0 & 0 & 1 \end{matrix} \right] \left[ \begin{matrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 2 \end{matrix} \right] = \left[\begin{matrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 2 \end{matrix} \right] \tag{1} 1−30010001 130284112 = 1002241−22 (1)

可以看到,第二行经过矩阵乘法后已经消去了一个未知数(2,1)。我们这时候用同样的手法处理第二行与第三行。

[ 1 0 0 0 1 0 0 − 2 1 ] [ 1 2 1 0 2 − 2 0 4 2 ] = [ 1 2 1 0 2 − 2 0 0 6 ] (1) \left[ \begin{matrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & -2 & 1 \end{matrix} \right] \left[ \begin{matrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 4 & 2 \end{matrix} \right] = \left[\begin{matrix} 1 & 2 & 1 \\ 0 & 2 & -2 \\ 0 & 0 & 6 \end{matrix} \right] \tag{1} 10001−2001 1002241−22 = 1002201−26 (1)

此时我们就得到了一个一个上三角矩阵(正对角线以下的元素为0)U。


然而,此时能够明白,我们的方程组只处理了左边的未知数部分,没有代入左边的常数,无法解方程组。

因此,这里我们引入新的概念,增广炬阵,如下:

∣ 1 2 1 2 3 8 1 12 0 4 2 2 ∣ \left| \begin{array}{lcc|c} {1}&{2}&{1}&{2}\\ {3}&{8}&{1}&{12}\\ {0}&{4}&{2}&{2} \end{array} \right| 1302841122122

我们在处理矩阵时将左边添加的部分当做单独的列向量来处理,如第一次操作:第二行减去三倍第一行,即为
12 − 3 × 2 = 6 12-3\times2=6 12−3×2=6

第一次操作后矩阵变为:

∣ 1 2 1 2 0 2 − 2 6 0 4 2 2 ∣ \left| \begin{array}{lcc|c} {1}&{2}&{1}&{2}\\ {0}&{2}&{-2}&{6}\\ {0}&{4}&{2}&{2} \end{array} \right| 1002241−22262


同理,两次操作后矩阵最终为

∣ 1 2 1 2 0 2 − 2 6 0 0 6 − 10 ∣ \left| \begin{array}{lcc|c} {1}&{2}&{1}&{2}\\ {0}&{2}&{-2}&{6}\\ {0}&{0}&{6}&{-10} \end{array} \right| 1002201−2626−10

而这时就可以将这个上三角矩阵向上逐级求解,即6z=-10等等。

总结

矩阵消元就是如上内容了,解方程组只是其中一种用法,后面我们求逆时同样能用到消元矩阵。

相关推荐
Guofu_Liao4 小时前
大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
人工智能·语言模型·自然语言处理·矩阵·llama
平头哥在等你13 小时前
求一个3*3矩阵对角线元素之和
c语言·算法·矩阵
2402_8713219516 小时前
MATLAB方程组
gpt·学习·线性代数·算法·matlab
Angindem19 小时前
子矩阵的和(矩阵前缀和)
线性代数·矩阵
无限大.20 小时前
力扣题解3248 矩阵中的蛇(简单)
算法·leetcode·矩阵
戊子仲秋21 小时前
【LeetCode】每日一题 2024_11_21 矩阵中的蛇(模拟)
算法·leetcode·矩阵
2403_875180951 天前
短视频矩阵系统是什么?有什么功能?
线性代数·矩阵
Tisfy1 天前
LeetCode 3240.最少翻转次数使二进制矩阵回文 II:分类讨论
算法·leetcode·矩阵·题解·回文·分类讨论
取个名字真难呐1 天前
AB矩阵秩1乘法,列乘以行
python·线性代数·矩阵
秋凉 づᐇ1 天前
2024-11-16 特殊矩阵的压缩存储
数据结构·算法·矩阵