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

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等等。 ### 总结 矩阵消元就是如上内容了,解方程组只是其中一种用法,后面我们求逆时同样能用到消元矩阵。

相关推荐
峙峙峙12 小时前
线性代数--AI数学基础复习
人工智能·线性代数
我爱C编程14 小时前
基于拓扑结构检测的LDPC稀疏校验矩阵高阶环检测算法matlab仿真
算法·matlab·矩阵·ldpc·环检测
CVer儿15 小时前
svd分解求旋转平移矩阵
线性代数·算法·矩阵
张晓~1833994812121 小时前
数字人分身+矩阵系统聚合+碰一碰发视频: 源码搭建-支持OEM
线性代数·矩阵·音视频
山登绝顶我为峰 3(^v^)31 天前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
微小冷1 天前
二关节机器人系统模型推导
线性代数·机器人·概率论·推导·拉格朗日函数·二关节机器人·机器人控制系统的设计
YuTaoShao2 天前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵
luofeiju2 天前
使用LU分解求解线性方程组
线性代数·算法
FF-Studio3 天前
【硬核数学 · LLM篇】3.1 Transformer之心:自注意力机制的线性代数解构《从零构建机器学习、深度学习到LLM的数学认知》
人工智能·pytorch·深度学习·线性代数·机器学习·数学建模·transformer
szekl3 天前
HDMI 2.0 4×2矩阵切换器412HN——多信号输入输出的高清解决方案
linux·矩阵·计算机外设·电脑·ekl