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

news/2024/10/4 2:48:56/

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} 130010001 130284112 = 100224122 (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} 100012001 100224122 = 100220126 (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 123×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| 100224122262


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

∣ 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| 1002201262610

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

总结

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


http://www.ppmy.cn/news/1533431.html

相关文章

Typora使用与Markdown语法详细教程

Typora 基本介绍 Typora 是一款由 Abner Lee 开发的轻量级 Markdown 编辑器。Markdown 是一种 轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档。 安装 下载地址&#xff…

B-树(不是B减树)原理剖析(1)

目录 B树的主要特性: B树的操作: B树的优点: 为什么要发明出B-树? B树的概念和原理剖析 原理图讲解(部分讲解在图中) 初始化结点: 处理数据数量计算(了解) 底层代码实现(加深理解) 前些日子我们学了AVl树&…

django drf 统一处理操作人和时间字段

场景 如果你的表结构有这些字段:创建人/创建时间/更新人/更新时间/删除人/删除时间,我们可以统一处理这些字段的更新和插入,而不需要额外显示操作。 代码 1.ActionViewSetMixin: import datetime from rest_framework import s…

Cell子刊被on hold,SCI 选刊投稿时该如何避开可能爆雷的期刊?

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 Cell Press旗下的Heliyon,前两天刚被WOS宣布on hold预警了。 这本创刊于2015年的综合性OA期刊,发文范围广泛,包括生物、化学、物理、工程等…

【深度学习】深度学习框架有哪些及其优劣势介绍

本文摘要 在深度学习的开发中,有许多流行的深度学习框架可供使用。本文主要介绍其中一些常见的深度学习框架以及其优劣势。 注:个人观点,仅供学习参考。 原文地址:【深度学习】深度学习框架有哪些及其优劣势介绍 TensorFlow 开发…

WSL2 中配置桥接模式、虚拟交换机及固定 IP

WSL2 中配置桥接模式、虚拟交换机及固定 IP 一、创建虚拟交换机1.1 使用 Hyper-V 管理器创建虚拟交换机1.2 使用 PowerShell 创建虚拟交换机 二、更新 WSL 配置三、设置 WSL2 中的静态 IP、网关和 DNS3.1 编辑网络配置文件3.2 应用网络配置3.3 测试网络连接 四、重启 WSL 在使用…

鸿蒙开发(NEXT/API 12)【硬件(外设扩展驱动开发)】驱动开发服务

场景介绍 [DriverExtensionAbility]是Driver类型的ExtensionAbility组件,提供驱动相关扩展框架能力。对于部分设备,支持插入外接的硬件模块来扩展设备能力, 此时可以以应用方式安装该硬件模块的驱动程序。通过DriverExtensionAbility可实现此…

笔记整理—linux进程部分(5)syslog调试信息记录

守护进程将fd0、1、2指向垃圾桶,无法正常查看其进程信息或调试信息。 void openlog(const char *ident, int option, int facility);openlog("a.out",LOG_PID|LOG_CONS,LOG_USER); option是个宏操作操作选项,其中常用的为LOG_CONS将信息打印到…