线性代数2:梯队矩阵形式
图片来自 Europeana on Unsplash

一、前言
欢迎阅读的系列文章的第二篇文章,内容是线性代数的基础知识,线性代数是机器学习背后的基础数学。在我之前的文章中,我介绍了线性方程和系统、矩阵符号和行缩减运算。本文将介绍梯队矩阵形式:行梯队形式和行缩减梯队形式,以及如何使用两者来解决线性系统。本文最好与David C. Lay,Steven R. Lay和Judi J. McDonald的线性代数及其应用一起阅读。将此系列视为外部配套资源。
二、行梯队形式
高斯消除法是一种使用行运算将矩阵转换为一种形式的过程,在这种形式中,解决方案可以在一些反向替换后被检索。
回顾一下,行缩减操作是:
- 替换:“将一行替换为其自身和另一行的总和。*
- 交换:“交换两排。”*
- 缩放:“将一行中的所有条目乘以非零常量。*
上述操作可以应用于矩阵,以将该矩阵转换为其行梯队形式。给定的 m x n 矩阵,其中 m 是行数,n 是列数,在以下情况下称为行梯队形式:
- 所有条目均为零的任何行都位于至少一个条目为非零的行下方。
- 行的所有前导条目(左起第一个非零条目)都位于其上方行右侧的列中。
- 前导条目下方列中的所有条目均为零。
以下是行梯队形式 (REF) 中的矩阵示例。

花点时间了解一下,虽然矩阵的大小和条目存在差异,但根据上述标准,所有矩阵都被视为行梯队形式。注意到突出显示的引导条目下方的类似楼梯的图案了吗?这就是执行高斯消除将矩阵转换为行梯队形式自然而然的结果。这种形式的名字很贴切:梯队这个词来源于法语eschelon,意思是梯子的梯级,后来的意思是“台阶”。
将矩阵转换为行缩减形式的高斯消除背后的基本思想是选择一个枢轴(枢轴一词用于指代前导条目:该条目将是其行中的第一个非零条目),然后消除下面的所有条目,将枢轴下方列中的所有内容清零。要了解为什么此步骤在将矩阵转换为精简梯队形式方面取得进展,请重新访问缩减梯队形式的定义:在行梯队形式中,前导条目下方列中的所有条目均为零。然后针对每一行再次迭代此步骤,但要谨慎!我们必须确保每次枢轴选择时,我们都不会违反行梯队形式的核心特征之一;行的所有前导条目都位于其上方行右侧的列中。 考虑到此规则,通常最好从第一行中的第一个条目开始旋转,然后从右到左沿着行向下移动。
让我们再次考虑前面提到的行梯队形式的目的:将表示线性系统的给定矩阵转换为解决方案可以轻松读取的形式。为了更好地理解行梯队形式的基本效用,请考虑示例 1。

当我们执行高斯消除时,我们正在操纵矩阵以呈现对称但更易于破译的形式。使用从示例 1 获得的行梯队形式,我们现在可以使用反向替换来逐步获得每个解决方案。

从上面可以看到,这并不理想。这需要额外的不整洁的工作。减少行梯队也需要额外的工作,但符号更简洁,出错的余地更小。一旦我们将矩阵简化为减少的行梯队形式,我们就可以轻松地读取我们的解决方案,我们将解析线性系统。
三、减少行梯队形式
当将矩阵简化为缩减的行梯队形式时,使用高斯-乔丹消除。该算法将表示线性系统的给定矩阵转换为简化梯队形式,其中解决方案可以通过应用一系列行缩减操作变得易于阅读。无需额外的反向替换。
如果给定的 m x n 矩阵满足行梯队形式的先决条件,则称其为缩减行梯队形式,此外,还满足以下标准:
- 每行中的前导条目为 1。
- 前导条目下方和上方列中的所有条目均为零。(前导条目是列中唯一的非零条目)
让我们通过一个将矩阵缩减为缩减行梯队形式的示例。

阅读我们的简化行梯队形式矩阵,现在很明显我们的解决方案是 x₁ = -3, x₂ = -12, x₃ = -3。
四、梯队形式的独特性
到目前为止,我们已经为行梯队形式和缩减行梯队形式各计算了一个示例。您可能想尝试单独减少行梯队形式的行作为练习,结果却得到不同的行梯队形式矩阵。不用担心,这是很有可能的,只要正确执行计算并涵盖所有三个规则,两个版本都是同样正确的。这是一个奇妙的情况!它引导我们走向一个重要的定理:
定理 (1)
矩阵可以有多个行梯队形式;行梯队形式不是唯一的。可以通过应用行操作顺序的变化来获得不同但同样有效的梯队形式。
减少的行梯队形式不是这种情况,而是减少的行梯队形式的情况相反。
定理 (2)
矩阵只能有一个缩减的行梯队形式;减少的行梯队形式是唯一的。
为什么我们看到两种形式之间唯一性的差异的根源是由于我们对缩减的行梯队形式施加的额外限制。也就是说,围绕前导条目的要求等于 1。一旦我们将矩阵简化为行梯队形式,我们就可以将每行乘以任何非零常量,它仍然是行梯队形式,因为缩放矩阵不会破坏行梯队形式的任何规则。减少梯队的形式是不可能的,因为主要条目必须是一个。下面我用一个具体的例子进一步说明这一点。

五、解决方案数量
求解线性系统自然产生的一个基本问题是存在多少个解?对于任何线性系统,分辨率始终是三种情况之一。线性系统要么有一个唯一的解,要么有无限解,要么没有解。如果你有兴趣考虑为什么它必须是这三个之一,(重新)访问我之前的文章。
让我们更详细地仔细看看每个案例,看看我们如何识别给定矩阵的解案例,并轻轻地探索和探索每个案例场景表现自己的确切原因和方式背后的直觉。
唯一解决方案:当线性系统的矩阵的缩减行梯队形式对每一列都有一个透视时,线性系统具有唯一的解决方案。

当我们把矩阵形式重写为一系列线性方程时,为什么会这样就变得更加明显了。我们看到,因为每列都有一个透视(上面或下面没有条目),所以每个变量都有一个明确的解决方案,你可以逐个方程地读出。
无解:当矩阵的约化行梯队形式具有代数不一致时,线性系统没有解。

如上所示,没有 x₁、x₂、x₃ 和 x₄ 的值允许方程四为真。左侧将始终为 0,不等于 0,因此该系统不存在解决方案。通常,任何带有行 [0, 0, ...0 |b] 其中 b 不为零将没有解,因为 <> ≠ b。
无限解:线性系统在至少有一个自由变量时具有无限解。当相应的列没有透视时,会出现自由变量。另一方面,基本变量是相应列具有透视的变量。让我们研究一下为什么自由变量的存在暗示了无限解。

顾名思义,自由变量意味着您可以自由地为它们分配任何值。所有基本变量都是相对于自由变量定义的,因此基本变量的值将取决于为自由变量分配的值。这是无限解决方案存在的本质;只要基本变量与为自由变量选择的值一致,无限多个解决方案都是有效的。
将矩阵转换为缩减的行梯队形式后,系统是否有一个、无或无限多个解决方案将立即变得显而易见。
六、总结
在本章中,我们学习了:
- 高斯消除法,用于将矩阵简化为行梯队形式以求解线性系统。
- 高斯-乔丹消除方法,用于将矩阵约简为约化行梯队形式以求解线性系统。
- 梯队形式的独特性:排梯队形式不唯一,而缩小的排梯队形式是唯一的。
- 线性系统可能具有的解的数量:唯一、无限或无,以及它们何时发生以及为什么发生。
参考资料:
数学
数学
机器学习
线性代数
相关文章:
线性代数2:梯队矩阵形式
图片来自 Europeana on Unsplash 一、前言 欢迎阅读的系列文章的第二篇文章,内容是线性代数的基础知识,线性代数是机器学习背后的基础数学。在我之前的文章中,我介绍了线性方程和系统、矩阵符号和行缩减运算。本文将介绍梯队矩阵形式…...
【JavaEE】网络编程(网络编程基础、Socket套接字)
一、网络编程基础 1.1、什么是网络编程? 网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输) 注意:我们只要满足进程不同就行;所以即便是同一…...
Node学习笔记之模块化
一、介绍 1.1 什么是模块化与模块 ? 将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为 模块化 其中拆分出的 每个文件就是一个模块 ,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他 模块使用 1…...
用matlab求解线性规划
文章目录 1、用单纯形表求解线性规划绘制单纯形表求解: 2、用matlab求解线性规划——linprog()函数问题:补充代码:显示出完整的影子价格向量 1、用单纯形表求解线性规划 求解线性规划 m i n − 3 x 1 − 4 x 2 x 3 min -3x_1-4x_2x_3 min−…...
antd获取/更改form表单数据(表单域数据)
创建ref引用 formRef React.createRef();表单和ref绑定 //ref{this.formRef} 先给Form <Form ref{this.formRef} name"control-ref" onFinish{this.onFinish}><Form.Item name"name" label"Name" rules{[{ required: true }]}>…...
Go学习第三章——运算符与进制
Go学习第三章——运算符与进制 1 算术运算符2 关系运算符3 逻辑运算符4 赋值运算符5 其他运算符5.1 位运算符5.2 跟指针有关的运算符 6 运算符的优先级7 获取用户终端输入8 进制转换8.1 进制基本使用8.2 进制之间的转换8.3 原码 反码 补码8.4 位运算符详解 运算符是—种特殊的符…...
H3C IMC dynamiccontent.properties.xhtm 远程命令执行
我举手向苍穹,并非一定要摘星取月,我只是需要这个向上的、永不臣服的姿态。 构造payload: /imc/javax.faces.resource/dynamiccontent.properties.xhtml pfdrtsc&lnprimefaces&pfdriduMKljPgnOTVxmOB%2BH6%2FQEPW9ghJMGL3PRdkfmbii…...
【技能树笔记】网络篇——练习题解析(八)
目录 前言 一、LAN技术 1.1 堆叠与集群 1.2 MSTP的特点 二、WAN技术 2.1 PPP链路建立 2.2 PPPoE 2.3 组播 2.3.1 组播的IP 2.3.2 组播分发树 2.3.3 组播协议 三、IPv6基础 3.1 IPv6地址 3.2 IPv6协议 3.3 IPv6过渡技术 总结 🌈嗨!我是Filotimo__…...
laravel框架介绍(二)
方法1.windows 可以直接下载 Composer-Setup.exe 方法2.配置php.exe目录环境变量,下载 composer.phar和php.exe平级目录, 新建 composer.bat 文件编辑以下内容 php "%~dp0composer.phar" %* 运行composer.bat ,出现版本号为成功 执行 composer self-update 以保持 Co…...
USB学习(1):USB基础之接口类型、协议标准、引脚分布、架构、时序和数据格式
连接计算机外围设备最简单的方法是通过USB(通用串行总线)。USB是即插即用接口,可以将扫描仪、打印机、数码相机、闪存驱动器等计算机外围设备连接到计算机上。本篇文章就来介绍一下USB的一些基础知识,包括。 文章目录 1 接口类型和标准规范2 引脚分布3 …...
less和scss语法详解
比较好的博客文章:Less使用语法(详细):https://blog.csdn.net/weixin_44646763/article/details/114193426 SCSS基本语法:https://www.jianshu.com/p/4efaac23cdb6 总结:我理解的点: 1、符号声…...
【计算机网络笔记】TCP/IP参考模型基本概念,包括五层参考模型
系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...
RSA加密与签名的区别
文章目录 一、签名验签原理二 RSAUtils 工具类三、通过x509Certificate来获取CA证书的基本信息四、 通过公钥获取公钥长度 一、签名验签原理 签名的本质其实就是加密,但是由于签名无需还原成明文,因此可以在加密前进行哈希处理。所以签名其实就是哈希加…...
arcgis js api 4.x通过TileLayer类加载arcgis server10.2发布的切片服务跨域问题的解决办法
1.错误复现 2.解决办法 2.1去https://github.com/Esri/resource-proxy 网站下载代理配置文件,我下载的是最新的1.1.2版本,这里根据后台服务器配置情况不同有三种配置文件,此次我用到的是DotNet和Java. 2.2 DotNet配置 2.2.1 对proxy文件增加…...
如何让chatGPT给出高质量的回答?
如何让chatGPT给出高质量的回答? ChatGPT从入门到进阶教程合集_哔哩哔哩_bilibili 公式 【指令词】【背景】【输入】【输出要求】 1. 指令词 ——精准任务or命令 如:简述、解释、翻译、总结、润色 2. 背景 ——补充信息 如:简述一篇讲解…...
Java后端开发(八)-- idea(2022版)将commit(未push)的 本地仓库 的 单条commit记录 进行撤销
目录 1.修改Test01类后,提交到本地仓库 。 2.commit成功后,在Git =》Log中会显示,commit记录...
Mysql架构解析,InnoDB架构概述。
MySQL架构解析 Mysql整体架构 MySQL整体架构如下图所示: MySQL逻辑系统架构分为4层: 应用层MySQL服务层存储引擎层系统文件层 下面将对各层的功能和组件进行介绍,并探讨一条语句的执行过程。 应用层 应用层是MySQL体系架构的最上层,它…...
jmeter如何测试websocket接口?
jmeter做接口测试,很多人都是做http协议的接口,就有很多人问websocket的接口怎么测试啊? 首先,我们要明白,websocket接口是什么接口。 然后,我们怎么用jmeter测试? jmeter要测试websocket接口…...
15 Transformer 框架概述
整体框架 机器翻译流程(Transformer) 通过机器翻译来做解释 给一个输入,给出一个输出(输出是输入的翻译的结果) “我是一个学生” --》(通过 Transformer) I am a student 流程 1 编码器和解…...
[架构之路-241]:目标系统 - 纵向分层 - 企业信息化与企业信息系统(多台企业应用单机组成的企业信息网络)
目录 前言: 一、什么是信息系统:计算机软件硬件系统 1.1 什么是信息 1.2 什么是信息系统 1.3 什么是信息技术 1.4 什么是信息化与信息化转型 1.5 什么是数字化与数字化转型(信息化的前提) 1.6 数字化与信息化的比较 1.7 …...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
