02 MIT线性代数-矩阵消元 Elimination with matrices

一, 消元法 Method of Elimination

消元法是计算机软件求解线形方程组所用的最常见的方法。任何情况下,只要是矩阵A可逆,均可以通过消元法求得Ax=b的解

eg:

我们将矩阵左上角的1称之为“主元一”(the first pivot),第一步要通过消元将第一列中除了主元之外的数字均变化为0。操作方法就是用之后的每一行减去第一行的适当倍数,此例中第二行应减去第一行的3倍。之后应对第三行做类似操作,本例中三行第一列数字已经为0,故不用进行操作\

处在第二行第二列的主元二为2,因此用第三行减去第二行的两倍进行消元,得到第三个主元为5。

矩阵A为可逆矩阵,消元结束后得到上三角阵U(Uppertriangular matrix),其左侧下半部分的元素均为0,而主元1,2,5分列在U的对角线上。

Pivot cannot be 0 主元不能为0,如果恰好消元至某行,0出现在了主元的位置上,应当通过与下方一行进行“行交换”使得非零数字出现在主元位置上。如果0出现在了主元位置上,并且下方没有对等位置为非0数字的行,则消元终止,并证明矩阵A为不可逆矩阵,且线性方程组没有唯一解。

二, 回代 Back-Substitution

做方程的高斯消元时,需要对等式右侧的b做同样的乘法和加减法。手工计算时比较有效率的方法是应用“增广矩阵”(augmented matrix),将b插入矩阵A之后形成最后一列,在消元过程中带着b一起操作。(Matlab是算完系数矩阵再处理b的)

此时我们将原方程Ax=b转化为了新的方程Ux=c

从最后一行得到z=-2,依次回代可以得到y=1 和 x=2

三, 消元矩阵 Elimination Matrices

矩阵运算的核心内容就是对“行”或者“列”进行独立操作。

如前一节课“列图像”部分所言,系数矩阵乘以未知数向量,相当于对系数矩阵的列向量进行线性组合

matrix times a column is a column

combination of the columns of the matrix


a row times matrix is a row


列向量的线性组合非常容易就接受了,左乘行向量这个总觉得很别扭,偏偏行向量在下面介绍消元矩阵时比较重要。后来想想觉得“列”操作就像是把向量开进矩阵,而“行操作”这个就像把向量倒车进入矩阵(如图中箭头所示)

Step 1 substract 3×row1 from row2

通过左乘矩阵E21来实现原矩阵A的第二行减去第一行的3倍这一过程。E21的第二行使矩阵A的行向量进行前述的线性组合,而其它两行为了保持与原矩阵相同,采用同阶单位阵I (identity matrix 和×1无区别)的行向量。左乘的这个矩阵为“初等矩阵”(Elementary Matrix),因此记做E。因为所乘行向量的倍数-3出现在E矩阵的第二行第一列,因此将之标注为21。完成操作后矩阵变为E21A

Step 2 substract 2×row2 from row3

矩阵消元的第二步是完成矩阵E21A的第三行减去第二行的2倍,通过左乘矩阵E32来实现这一过程

3x3矩阵的消元本来应该分三步完成,最终得到E32(E31(E21A))。本例中E31=I,所以结果变为E32(E21 A)=U,因为矩阵运算符合结合律associative law括号移动,也可写作(E32 E21)A=U。可以记作EA=U

四, 置换矩阵 Permutation

exchange rows 1 and 2 (row operation) 

乘置换矩阵可以完成原矩阵的行变换

exchange columns 1 and 2 (column operation) 

乘置换矩阵则为列变换

三阶矩阵

构造矩阵是通过对矩阵进行“行交换”来实现的

五, 逆矩阵 Inverse

这里主要讨论消元矩阵的逆矩阵。消元矩阵之逆矩阵的实施效果就是抵消原矩阵的消元操作。消元矩阵实现了对原矩阵A的操作,使第二行行向量[3,8,1]减掉了第一行[1,2,1]的3倍变为[0,2,-2],则逆向操作就应该是把现在的第二行行向量[0,2,-2]加上第一行[1,2,1]的3倍,从而变回原来的第二行[3,8,1]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/141503.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法-贪心+优先级队列-IPO

算法-贪心优先级队列-IPO 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/ipo/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 回溯法 2.1 思路 2.2 代码 class Solution {int result 0;public int findMaximizedCapital(int …

【C语言】进阶——结构体+枚举+联合

①前言: 在之前【C语言】初阶——结构体 ,简单介绍了结构体。而C语言中结构体的内容还有更深层次的内容。 一.结构体 结构体(struct)是由一系列具有相同类型或不同类型的数据项构成的数据集合,这些数据项称为结构体的成员。 1.结构体的声明 …

[LLM+AIGC] 01.应用篇之中文ChatGPT初探及利用ChatGPT润色论文对比浅析(文心一言 | 讯飞星火)

近年来,人工智能技术火热发展,尤其是OpenAI在2022年11月30日发布ChatGPT聊天机器人程序,其使用了Transformer神经网络架构(GPT-3.5),能够基于在预训练阶段所见的模式、统计规律和知识来生成回答&#xff0c…

pytest之parametrize()实现数据驱动

第一个参数是字符串,多个参数中间用逗号隔开 第二个参数是list,多组数据用元组类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应 传一个参数 pytest.mark.parametrize(‘参数名’,list)…

CMU15-213 课程笔记 04-Floating Point

文章目录 浮点数如何用二进制表示IEEE 浮点数标准IEEE 浮点数实现IEEE 浮点数在内存里 E exp - bias 计算指数M 1.xxx 尾数计算举例:对一个浮点数进行转换一些关于浮点数的计算等等 浮点数如何用二进制表示 计算机内部的浮点数不是这样存在内存里的(至…

【RabbitMQ实战】05 RabbitMQ后台管理

一、多租户与权限 1.1 vhost的概念 每一个 RabbitMQ服务器都能创建虚拟的消息服务器,我们称之为虚拟主机(virtual host),简称为 vhost。每一个 vhost本质上是一个独立的小型RabbitMQ服务器,拥有自己独立的队列、交换器及绑定关系等,并且它拥…

知识储备--基础算法篇-贪心算法

1.贪心算法 1.1贪心算法与背包问题的区别 贪心算法能够通过局部最优去推出全局最优,而背包问题不行,需要用动态规划的方法来解决。 1.2套路 贪心算法没有套路!! 主要想清楚怎么得到该阶段的局部最优解,如何通过局…

spring的ThreadPoolTaskExecutor装饰器传递调用线程信息给线程池中的线程

概述 需求是想在线程池执行任务的时候,在开始前将调用线程的信息传到子线程中,在子线程完成后,再清除传入的数据。 下面使用了spring的ThreadPoolTaskExecutor来实现这个需求. ThreadPoolTaskExecutor 在jdk中使用的是ThreadPoolExecutor…

前端web常用的基础案例

html案例&#xff1a; <!DOCTYPE html> <html> <head><title>My Website</title> </head> <body><header><h1>Welcome to My Website</h1><nav><ul><li><a href"#">Home</a…

阿里云效自动构建python自动测试脚本

之前一直用的是jenkins自动构建自动化脚本&#xff0c;因为现在的公司统一在阿里云效的流水线上做代码的管理&#xff0c;构建&#xff0c;要求自动化测试也在上面自动构建&#xff0c;故而学习了一下。为自己做一个记录&#xff0c;也给有需要的朋友做一个参考。 1. 新建流水…

Mysql备份恢复、与日志管理

Mysql日志管理、备份与恢复 一、Mysql日志管理1.1、日志分类1.1.1、错误日志1.1.2 、通用查询日志1.1.3、 二进制日志1.1.4 、慢查询日志1.1.5 、配置日志 1.2、日志的查询 二、备份与恢复2.1、 数据备份的必要性2.2 、造成数据丢失的原因2.3、 数据库备份的分类2.3.1、 物理备…

python 正则表达式

一、特殊字符-需要转义 eg&#xff1a;转义符&#xff1a; 待匹配的字符串&#xff1a;lr的值&#xff0c;及下图中字符串lr[和字符串&#xff0c;之间的数据 正则写法&#xff1a; learning_rate re.findall(".*lr\[(.*?), *", content) 处理结果&#xff1a;…

OpenCV实现模板匹配和霍夫线检测,霍夫圆检测

一&#xff0c;模板匹配 1.1代码实现 import cv2 as cv import numpy as np import matplotlib.pyplot as plt from pylab import mplmpl.rcParams[font.sans-serif] [SimHei]#图像和模板的读取 img cv.imread("cat.png") template cv.imread(r"E:\All_in\o…

Learn Prompt- Midjourney Prompt:Prompt 提示语

基础结构​ 一个基本的提示可以简单到一个单词、短语或表情符号。非常短的提示将在很大程度上依赖于 Midjourney 的默认样式。 完整 prompt&#xff1a;可以包括一个或多个图像链接、多个文本短语或单词&#xff0c;以及一个或多个后缀参数 Image Prompts: 可以将图像 URL 添加…

github代码提交过程详细介绍

1、下载github上面的代码 &#xff08;1&#xff09;在github网站上&#xff0c;找到想要下载的代码仓库界面&#xff0c;点击Code选项就可以看到仓库的git下载地址&#xff1b; &#xff08;2&#xff09;使用命令下载&#xff1a;git clone 地址&#xff1b; 2、配置本地git…

中国制造让苹果跪服,将再增加一家中国高科技供应商

日前产业链人士指出由于京东方的OLED面板有力地制衡韩国面板厂商三星和LGD&#xff0c;促使他们降价&#xff0c;而且技术也不错&#xff0c;因此正计划再引入一家中国OLED面板厂商&#xff0c;以进一步促进OLED面板的竞争。 早期苹果的OLED面板完全由三星供应&#xff0c;由此…

什么是AI问答机器人?它的应用场景有哪些?

近年来&#xff0c;由于技术的进步和对个性化客户体验的需求不断增长&#xff0c;AI问答机器人也是获得了巨大的关注。AI问答机器人&#xff0c;也被称为AI聊天机器人&#xff0c;是一种旨在模拟人类对话并通过基于文本或语音的界面与用户交互的计算机程序。其能够自动执行各种…

Java-day17(反射)

Reflection(反射) 动态语言的关键 允许程序在执行期借助于Reflection API取得任何类的内部信息&#xff0c;并能直接操作任意对象的内部属性及方法提供的功能: 在运行时判断任意一个对象所属类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在…

分享从零开始学习网络设备配置--任务3.7 使用动态路由RIPv2实现网络连通

任务描述 某公司随着规模的不断扩大&#xff0c;路由器的数量开始有所增加。网络管理员发现原有的静态路由已经不适合现在的公司&#xff0c;实施动态路由RIPv2协议配置&#xff0c;实现网络中所有主机之间互相通信。 在路由器较多的网络环境中&#xff0c;手工配置静态路由…

回归预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入单输出回归预测

回归预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入单输出回归预测 目录 回归预测 | MATLAB实现基于RF-Adaboost随机森林结合AdaBoost多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.MATLAB实现基于RF-Adaboost随机森林结合…