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

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

相关推荐
爱学习的capoo10 小时前
NumPy对二维矩阵中的每个元素进行加减乘除和对数运算
线性代数·矩阵·numpy
闰土_RUNTU17 小时前
机器学习中的数学(PartⅡ)——线性代数:概述
人工智能·线性代数·机器学习
remember_me.1 天前
基于李永乐线性代数基础的行列式的起源于理解
线性代数·数学建模·矩阵
JuicyActiveGilbert1 天前
【C++游戏引擎开发】第9篇:数学计算库GLM(线性代数)、CGAL(几何计算)的安装与使用指南
c++·线性代数·游戏引擎
Kita~Ikuyo2 天前
基础数学:线性代数与优化理论
人工智能·线性代数·算法·机器学习
triticale3 天前
【蓝桥杯】统计子矩阵
职场和发展·矩阵·蓝桥杯
不吃元西3 天前
leetcode 74. 搜索二维矩阵
算法·leetcode·矩阵
dushky3 天前
职责分配矩阵(RAM)详解
矩阵·项目管理·pmp·raci
汉密士202401013 天前
线代[13]|线性代数题37道以及数学分析题3道(多图预警)
线性代数·高等代数·考研数学·数学分析·未来·学习脉络·人生教训
TT哇3 天前
【前缀和】矩阵区域和(medium)
java·线性代数·算法·矩阵