如何将一个矩阵化为行阶梯形矩阵

2023-05-16


2016-03-29 尾巴 线性代数

    

   有同学反映上一课过于冷冰冰,都是一些不带证明的公式。如果线性代数所有公式都要证明的话,线性代数的难度会上好几个量级,有的公式的证明是特别特别难的。还有一个,虽然我们需要大家能对这门课有一些直观的不那么抽象的观点和感受,但是这一切都不能脱离具体题目和做题方法,直观的理解是为我们考试得高分而服务的,希望大家不要本末倒置。

   将一个矩阵经过初等行变换得到行阶梯型矩阵,这是线性代数中的一个基本功,是我们后续课程中解线性方程组的第一步。关于上述内容,我们需要先清楚两个问题,什么是初等行变换,什么是行阶梯型矩阵。

  初等变换的概念我就不在此重复,如果细讲的话,它的引入最直观的理解是根据我们初中所学的解方程组的方法(将某一个方程乘以一个常数加到另一个方程上来消元)。这里需要强调的是,我们在化矩阵为行阶梯型矩阵的时候只能用行变换,不能用列变换(你可以想成我们就是在对方程相互之间进行化简来消元解方程,肯定不能把xy前面的系数进行加减吧)。很多同学的问题是,知道了初等行变换,依旧化不好行阶梯型矩阵。

那么什么是行阶梯型矩阵呢。第一,矩阵的0行全在下方,第二,从行上看,从上到下出现连续0的个数严格递增。(什么意思呢,第一行连续0的个数如果为0,那么第二行连续0的个数最少为1,依此类推),这样才能画出一个阶梯线,这也就是阶梯型矩阵名字的由来,那么具体怎么做呢。先随便给一个矩阵如下:

我们化简的第一步,是在第一列里找一个最简单的非0元素,以1为最好,理论上不是1也可以,如果第一列里全是0,我们就从第二列里找一个非0元,然后将第一列里所选取的非0元素所在行换至第一行。

以上述矩阵为例,我们先看第一列,全都不是0,第一列第三行有一个1,第一列第五行有个1,第五行看起来相对简单一些(这里的简单是指跟第三列比有0元,后期加减更简单一些。)我们先把第一行和第五行进行互换,得到如下矩阵:

   第二步就是将第一列中的元素除了第一行外根据初等行变换全部变成0,怎么变呢,第一行乘以-2加到第二行,第一行乘以-1加到第三行,第一行乘以-2加到第四行,第一行乘以-2加到第五行。这样就得到了如下矩阵


   第三步:我们可以不管第一行了,完全可以把第一行遮住,然后重复我们上述步骤,也就是从第二列里除了第一行元素外找一个非0元,以1为最好,将所取非0元素的所在的行换至第行,然后将第二列里除了第一行、第二行以外的元素根据初等行变换都变成0.

   以上述矩阵为列,刚好第二列第二行就为1,我们不需要换行,直接通过初等行变换,第二行乘以-3加到第三行, 第二列乘以-2加到第四行,第五列已经是0了,我们就不用管了。得到下述矩阵:


接着就是重复了,不管第一行,第二行,接着做的内容还是从第三列中除了第一行第二行外选一个简单的元素,第五行第三列为-1,可以乘以-1变为1,然后将第五行和第三行互换,互换后观察到第五行有一个公因数2,可以将整行除以2,得到下述矩阵:

接着将第三行乘以-2加到第四行,第三行乘以-1加到第五行(希望在这里你已经观察出来了,在我们熟练之后我们不一定要严格按照上述步骤化简,比如这时我完全可以先用第五行减去第四行后再进行化简,这里我们还是先严格按照步骤来)。得到下述矩阵


  这里我们就得到了这个行阶梯型矩阵,我们看满足定义吗,0行全在下方,没有0行,不用管,从上到下出现连续0的个数是不是严格递增了,第一行没有连续0,第二行有1个。。。。行阶梯型矩阵不唯一,当然我们可以接着进行化简将矩阵化为行最简型矩阵,行最简是什么意思呢,在行阶梯型矩阵的基础上还要满足:连续0后面第一个元素肯定是1且这个1所在列的其他元素都是0.

  最后再强调的是在我们熟练后不用严格按照上述步骤,可以先在某几行间进行初等行变换得到尽可能多的0后再做会简化运算量。以上就是将一个矩阵化为行阶梯型矩阵了,如果还是不懂,欢迎发来问题和我探讨,以方便我改进内容。另外,新学这门课的同学,你们学到哪一块了?

  如果觉得此公众号文章对你有帮助,欢迎分享和宣传此公众号,多谢!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将一个矩阵化为行阶梯形矩阵 的相关文章

  • C/C++ 常用程序库

    C C 43 43 程序库 https zhuanlan zhihu com p 98056565 来几个不常见但是很变态的库吧 bundle 把几乎所有常见的压缩库封装成了一个库 接口完全统一 想用哪个用哪个 就一个h和一个巨TM大的cp
  • git 提交的时候报错:error: 'flutter_app/' does not have a commit checked out

    如果有朋友遇到这个问题 xff0c 请不用担心 xff0c 因为这个问题非常简单 xff01 出现的情况就是 xff0c 你在一个github仓库里面 xff0c 放进来一个文件夹 xff0c 但是文件夹里面还有文件夹 xff0c 而且还没
  • Fragment中使用viewLifecycleOwner/getActivity/this

    观察liveData使用生命周期 如图 xff1a 当liveData想在fragment里观察的时候 xff0c 可以使用getActivity this getViewLifecycleOwner getActivity不必说 xff0
  • Android的FileProvider使用解释

    前言 从Android7 0 xff08 N xff09 开始 xff0c 严格执行 StrictMode 模式 xff0c 也就是说 xff0c 将对安全做更严格的校验 不允许在 App 间 xff0c 使用 file 的方式 xff0c
  • STM32G0 串口编程

    利用USB转串口调试 xff0c 烧写单片机程序 1 打开STM32 CubeProgrammer软件设置启动配置 2 让程序从system Flash启动 xff08 1 xff09 勾选 DTR 勾选RTS 取消勾选RTS 2 取消勾选
  • Android使用SystemProperties基础了解

    安卓系统属性是以键值对的形式存在 xff0c 一般放在system prop xff0c build prop xff0c default prop等文件中 这些属性可能是进程状态 xff0c 资源使用情况 xff0c 系统特有属性等等 创
  • 使用Android Studio打包Module成jar包

    现在假设我们想打包一个module成jar包的形式给其它应用调用 xff1a vrservice 1 0 jar 步骤1 在Module项目的build gradle文件中做如下配置 xff1a 生成jar包的配置如下 xff1a def
  • C++无符号整型与有符号整型变量的运算-不简单

    示例分析 xff1a include lt iostream gt include lt stdio h gt struct Result char c char d unsigned char e Result getChar int x
  • C++虚继承下的类大小

    前言 带有虚函数的虚继承的对象模型比较复杂 xff0c 所以单独整理一下 其实关于计算类大小是C 43 43 的一大易错点之一 即便是我在这儿理了半天 xff0c 也不一定就是正确的 xff0c 如果大佬看到本文 xff0c 发现我很多错误
  • 解决android的跑马灯频繁刷新的问题

    先贴一下跑马灯效果的代码 xff0c 这里我是继承的TextView xff1a public class MarqueeTextView extends AppCompatTextView public MarqueeTextView C
  • 关于第一次将STM32与电脑连接情况

    安装了Keil xff08 ARM xff09 版本之后 xff0c 不管是自己编程 xff0c 还是配套的程序运行 我们都想把它下载到STM32芯片里面 xff0c 在板子上运行 这里介绍几种方法 1 用J LINK下载调试 这个工具 x
  • [java语言]——InetAddress类的getByName()方法

    InetAddress 表示互联网协议 xff08 IP xff09 地址 InetAddress getByName 34 www 163 com 34 在给定主机名的情况下确定主机的IP地址 如果参数为null 获得的是本机的IP地址
  • Java中Calendar.DAY_OF_WEEK、DAY_OF_MONTH需要减一的原因

    Java中对日期的处理需要用到Calendar类 xff0c 其中有几个方法在使用时需要新手注意 1 在获取月份时 xff0c Calendar MONTH 43 1 的原因 xff08 Java中Calendar MONTH返回的数值其实
  • C语言学习笔记(三)(头文件的结构顺序)(类型不完整的解决方法)

    目录 前言原则结构推荐结构图方便的结构 类型不完整的原因和解决方法 xff1a 定义了不定长数组结构体的定义放在了头文件里面解决方法1 xff08 当采用使用时包含特定头文件时 xff09 xff1a 解决方法2 xff08 当一个头文件包
  • S2

    int count 61 0 double lat 61 55 8241 double lng 61 137 8347 double radius 61 900 半径 double capHeight 61 2 S2 M PI radius
  • 从STM32F407到AT32F407(一)

    雅特力公司的MCU有着性能超群 xff0c 价格优越的巨大优势 xff0c 缺点是相关资料少一些 xff0c 我们可以充分利用ST的现有资源来开发它 我用雅特力的STM32F437开发板 xff0c 使用原子 stm32f407的开发板自带
  • vue-java分离

    import com google gson Gson import io renren common utils HttpContextUtils import io renren common utils R import org ap
  • java学习

    莫求全 有效努力 定时出结果 架构设计DDD 微服务介绍 https www kancloud cn qingshou aaa1 2667225 https www cnblogs com chencan p 16042197 html h
  • CentOS6.5添加虚拟IP(VIP)

    使用keepalived 实现Nginx高可用时 需要用到这项技术 虚拟ip在高可用中的作用后续再说 今天看看怎么给服务器配置虚拟IP xff0c 其实也就是多分配个IP地址 首先查看一下现有网卡的IP地址 xff0c 用root特权运行下
  • 微服务Spring Cloud例子

    Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具 xff0c 为开发者提供了在分布式系统 xff08 配置管理 xff0c 服务发现 xff0c 熔断 xff0c 路由 xff0c

随机推荐

  • 美邦威集成呼吸墙饰

    http www mbwqs cn 湖北光大新型环保装饰材料有限公司 美邦威集成呼吸墙饰 生产销售中心 xff1a 湖北汉川经济开发区光大工业园 光大材料 210590 上海股交所挂牌
  • activemq--MASTER SLAVE+BROKER CLUSTER 实践(二)

    鱼与熊掌兼得法 完美解决方案 我们知道 xff1a master slave模式下 xff0c 消息会被逐个复制而cluster模式下 xff0c 请求会被自动派发 那么可不可以把两者集成起来呢 xff1f 答案是有的 xff0c 网上所谓
  • Dubbo超时和重连机制

    dubbo启动时默认有重试机制和超时机制 超时机制的规则是如果在一定的时间内 xff0c provider没有返回 xff0c 则认为本次调用失败 xff0c 重试机制在出现调用失败时 xff0c 会再次调用 如果在配置的调用次数内都失败
  • Sharding-JDBC简介

    一般 xff0c 线上系统的业务量不是很大 xff0c 比如说单库的数据量在百万级别以下 xff0c 那么MySQL的单库即可完成任何增 删 改 查的业务操作 随着业务的发展 xff0c 单个DB中保存的数据量 xff08 用户 订单 计费
  • 1024

    听说今天发帖能有1024勋章 xff1f
  • 神奇!明明是 socket,被我玩成了 http!

    颓废青年 xff0c 快出来挨打 xff01 点击上方 Java极客技术 xff0c 选择 设为星标 后台回复 java xff0c 获取Java知识体系 面试必看资料 资料会持续更新 xff0c 已更新第四次 xff01 文章精品专栏 记
  • python画图程序

    usr bin python coding utf 8 import wx import wx lib buttons as buttons import wx adv as adv import wx lib colourselect a
  • 升级到tensorflow2.0,我整个人都不好了

    版本升级到 tensorflow 2 0 的悲惨经历 没事别升级 Tensorflow 2 0发布已经有一段时间了 xff0c 各种基于新API的教程看上去的确简单易用 xff0c 一个简单的mnist手写识别只需要下面不到20行代码就OK
  • 修改conda环境和缓存默认路径

    默认情况下 xff0c conda 创建的新环境 以及过往安装的模块缓存都存储在用户目录下 xff0c 这一点不会在 conda xff08 user specific xff09 配置文件 HOME condarc 中体现出来 xff0c
  • 融合人体姿态估计和目标检测的学生课堂行为识别

    融合人体姿态估计和目标检测的学生课堂行为识别 参考网 摘要 xff1a 在課堂教学中 xff0c 人工智能技术可以帮助实现学生行为分析自动化 xff0c 让教师能够高效且直观地掌握学生学习行为投入的情况 xff0c 为后续优化教学设计与实施
  • Python实例详解pdfplumber读取PDF写入Excel

    一 Python操作PDF 13大库对比 PDF xff08 Portable Document Format xff09 是一种便携文档格式 xff0c 便于跨操作系统传播文档 PDF文档遵循标准格式 xff0c 因此存在很多可以操作PD
  • 如何使用ChatGPT API训练自定义知识库AI聊天机器人

    原文 xff1a 如何使用ChatGPT API训练自定义知识库AI聊天机器人 闪电博 在我们之前的文章中 xff0c 我们演示了如何用ChatGPT API建立一个AI聊天机器人 xff0c 并指定一个角色来进行个性化处理 但如果你想在自
  • 哈工大团队开源医学智能问诊大模型 | 华佗: 基于中文医学知识的LLaMa指令微调模型

    原文 xff1a CVHub 门头沟学院AI视觉实验室御用公众号 学术 科研 就业 185篇原创内容 公众号 Title HuaTuo Tuning LLaMA Model with Chinese Medical Knowledge PD
  • 开源数字人Fay

    原文 xff1a 别再因AI焦虑 xff0c 这波年轻人已经用 中国版ChatGPT 创业成功了 数字人 AI 创业 新浪新闻 开源 xff1a GitHub TheRamU Fay Fay是一个完整的开源项目 xff0c 包含Fay控制器
  • 推荐 3 个令你惊艳的 GitHub 项目

    原文 xff1a 推荐 3 个令你惊艳的 GitHub 项目 昨日 GitHub Trending 上榜的开源项目 xff0c 基于 AI 技术提高你的生产力 借助 AI 你能搭建自己的数字人 搭建自己的法律助手 文档分析助手 本期推荐开源
  • AI 数字人制作(方案一):输入一张图片和一段文字即可生成数字人

    方案一 xff1a 原文 xff1a AI 数字人制作 xff08 方案一 xff09 哔哩哔哩 bilibili AI 文字和图片生成数字人 输入一张图片和一段文字即可生成数字人 用三个开源项目整合成可以商用的数字人项目 文本生成语音开源
  • 大量数据情况下单线程插入和多线程insert数据库的性能测试

    大量数据情况下单线程插入和多线程insert数据库的性能测试 之前一直没有遇到过大批量数据入库的场景 xff0c 所以一直没有思考过在大量数据的情况下单线程插入和多线程插入的性能情况 今天在看一个项目源代码的时候发现使用了多线程insert
  • 查看tensorflow 安装目录

    使用命令 xff1a pip show f tensorflow 图和张量源码 xff1a C Program Files Anaconda3 Lib site packages tensorflow python framework op
  • FP-growth算法,fpgrowth算法详解

    FP growth算法 xff0c fpgrowth算法详解 使用FP growth算法来高效发现频繁项集 前言 你用过搜索引擎挥发现这样一个功能 xff1a 输入一个单词或者单词的一部分 xff0c 搜索引擎酒会自动补全查询词项 xff0
  • 如何将一个矩阵化为行阶梯形矩阵

    2016 03 29 尾巴 线性代数 有同学反映上一课过于冷冰冰 xff0c 都是一些不带证明的公式 如果线性代数所有公式都要证明的话 xff0c 线性代数的难度会上好几个量级 xff0c 有的公式的证明是特别特别难的 还有一个 xff0c