高斯消元学习笔记(一)——转载

【线性代数】矩阵的初等变换 矩阵的初等变换,行阶梯形矩阵,行最简形矩阵,标准形矩阵的关系与区别,看这篇就够了。 阅读详情

做法

具体来说,以 b a s e base base 为四位二进制数举例,此时 b a s e = ( a b c d ‾ ) 2 base=(\overline{abcd})_{2} base=(abcd)2​。也就是下面这个矩阵:

1 1 1 2 2 2 3 3 3 4 4 4
a a a1000
b b b0100
c c c0010
d d d0001

由于伪随机代码已给出,所以我们可以模拟左移、右移以及异或。
比如上面这个矩阵左移一位就变成了:

1 1 1 2 2 2 3 3 3 4 4 4
a a a0000
b b b1000
c c c0100
d d d0010

右移和异或操作同理。

然后我们可以根据对方的手势反推出当前 b a s e base base 的最后一位的表达式。
比如对于以下矩阵:

1 1 1 2 2 2 3 3 3 4 4 4
a a a0111
b b b1001
c c c0110
d d d1011

并且推出此时 x x x 的最后一位为 1 1 1,那么有 a  xor  b  xor  d = 1 a\text{ xor }b\text{ xor }d=1 a xor b xor d=1。

同理,每一轮进行一遍这样的操作,我们可以得到一堆这样的式子。最后高斯消元求解出 a b c d ‾ \overline{abcd} abcd,接下来就可以随便做做了。


高斯消元

用高斯消元解下列方程组。

{ 2 x 1 + 5 x 3 + 6 x 4 = 9 x 3 + x 4 = − 4 2 x 3 + 2 x 4 = − 8 \begin{cases}2x_1+5x_3+6x_4=9\\x_3+x_4=-4\\2x_3+2x_4=-8 \end{cases} ⎩⎪⎨⎪⎧​2x1​+5x3​+6x4​=9x3​+x4​=−42x3​+2x4​=−8​

第一步:增广矩阵行(初等)变换为行最简形

所谓增广矩阵,即为方程组系数矩阵 A A A 与常数列 b b b 的并生成的新矩阵,即 ( A ∣ b ) (A|b) (A∣b),增广矩阵行初等变换化为行最简形,即是利用了高斯消元法的思想理念,省略了变量而用变量的系数位置表示变量,增广矩阵中用竖线隔开了系数矩阵和常数列,代表了等于符号。

( 2 0 5 6 0 0 1 1 0 0 2 2    9 − 4 − 8 )   r 3 − 2 r 2 → ( 2 0 5 6 0 0 1 1 0 0 0 0    9 − 4 0 ) \left(\begin{matrix}2&0&5&6\\0&0&1&1\\0&0&2&2\end{matrix}\ \ \begin{array}{|c}9\\-4\\-8\end{array}\right)\\\ \\ \underrightarrow{r_3-2r_2}\left(\begin{matrix}2&0&5&6\\0&0&1&1\\0&0&0&0\end{matrix}\ \ \begin{array}{|c}9\\-4\\0\end{array}\right) ⎝⎛​200​000​512​612​  9−4−8​⎠⎞​  r3​−2r2​​⎝⎛​200​000​510​610​  9−40​⎠⎞​

化为行阶梯形

r 1 2 → ( 1 0 2.5 3 0 0 1 1 0 0 0 0    4.5 − 4 0 )   r 1 − 2.5 × r 2 → ( 1 0 0 0.5 0 0 1 1 0 0 0 0    14.5 − 4 0 ) \underrightarrow{\frac{r_1}{2}}\left(\begin{matrix}1&0&2.5&3\\0&0&1&1\\0&0&0&0\end{matrix}\ \ \begin{array}{|c}4.5\\-4\\0\end{array}\right)\\\ \\ \underrightarrow{r_1-2.5\times r_2}\left(\begin{matrix}1&0&0&0.5\\0&0&1&1\\0&0&0&0\end{matrix}\ \ \begin{array}{|c}14.5\\-4\\0\end{array}\right) 2r1​​​⎝⎛​100​000​2.510​310​  4.5−40​⎠⎞​  r1​−2.5×r2​​⎝⎛​100​000​010​0.510​  14.5−40​⎠⎞​

化为最简形

第二步:还原线性方程组

{ x 1 + 0.5 x 4 = 14.5 x 3 + x 4 = − 4 \begin{cases}x_1+0.5x_4=14.5\\x_3+x_4=-4\end{cases} {x1​+0.5x4​=14.5x3​+x4​=−4​

所谓的还原线性方程组,即是在行最简形的基础上,将之重新书写为线性方程组的形式,即将行最简形中各位置的系数重新赋予变量,中间的竖线还原为等号。

第三步:求解第一个变量

{ x 1 = − 0.5 x 4 + 14.5 x 3 = − x 4 − 4 \begin{cases}x_1=-0.5x_4+14.5\\x_3=-x_4-4\end{cases} {x1​=−0.5x4​+14.5x3​=−x4​−4​

即是对于所还原的线性方程组而言,将方程组中每个方程的第一个变量,用其他量表达出来。如方程组两方程中的第一个变量 x 1 x_1 x1​ 和 x 3 x_3 x3​。

第四步:补充自由未知量

{ x 1 = − 0.5 x 4 + 14.5 x 2 = x 2 x 3 = − x 4 − 4 x 4 = x 4 \begin{cases}x_1=-0.5x_4+14.5\\x_2=x_2\\x_3=-x_4-4\\x_4=x_4\end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧​x1​=−0.5x4​+14.5x2​=x2​x3​=−x4​−4x4​=x4​​

第 3 步中,求解出变量 x 1 x_1 x1​ 和 x 3 x_3 x3​,从而说明了方程剩余的变量 x 2 x_2 x2​ 和 x 4 x_4 x4​ 不受方程组的约束,是自由未知量,可以取任意值,所以需要在第 3 步骤解得基础上进行解得补充,补充的方法为 x 2 = x 2 , x 4 = x 4 x_2=x_2,x_4=x_4 x2​=x2​,x4​=x4​,这种解得补充方式符合自由未知量定义,并易于理解,因为是自由未知量而不受约束,所以只能自己等于自己。

第五步:列表示方程组的通解

( x 1 x 2 x 3 x 4 ) = ( 0 1 0 0 ) x 2 + ( − 0.5 0 − 1 1 ) x 4 + ( 14.5 0 − 4 0 )               = ( 0 1 0 0 ) C 1 + ( − 0.5 0 − 1 1 ) C 2 + ( 14.5 0 − 4 0 ) \begin{matrix}\left(\begin{matrix}x_1\\x_2\\x_3\\x_4\end{matrix}\right)=\left(\begin{matrix}0\\1\\0\\0\end{matrix}\right)x_2+\left(\begin{matrix}-0.5\\0\\-1\\1\end{matrix}\right)x_4+\left(\begin{matrix}14.5\\0\\-4\\0\end{matrix}\right)\\\\\ \ \ \ \ \ \ \ \ \ \ \ \ =\left(\begin{matrix}0\\1\\0\\0\end{matrix}\right)C_1+\left(\begin{matrix}-0.5\\0\\-1\\1\end{matrix}\right)C_2+\left(\begin{matrix}14.5\\0\\-4\\0\end{matrix}\right)\end{matrix} ⎝⎜⎜⎛​x1​x2​x3​x4​​⎠⎟⎟⎞​=⎝⎜⎜⎛​0100​⎠⎟⎟⎞​x2​+⎝⎜⎜⎛​−0.50−11​⎠⎟⎟⎞​x4​+⎝⎜⎜⎛​14.50−40​⎠⎟⎟⎞​             =⎝⎜⎜⎛​0100​⎠⎟⎟⎞​C1​+⎝⎜⎜⎛​−0.50−11​⎠⎟⎟⎞​C2​+⎝⎜⎜⎛​14.50−40​⎠⎟⎟⎞​​

其中 C 1 C_1 C1​ 和 C 2 C_2 C2​ 为任意常数。

即在第 4 步的基础上,将解表达为列向量组合的表示形式,同时由于 x 2 x_2 x2​ 和 x 4 x_4 x4​ 是自由未知量,可以取任意值,所以在解得右边,令二者分别为任意常数 C 1 C_1 C1​ 和 C 2 C_2 C2​,即实现了对方程组的求解。

行列式

N × N N\times N N×N 方阵行列式(Determinant)可以理解为所有列向量所夹的几何体的有向体积,

例如:

∣ 1 0 0 1 ∣ = 1   ∣ 1 2 2 1 ∣ = − 3 \begin{vmatrix}1&0\\0&1\end{vmatrix}=1\\\ \\ \begin{vmatrix}1&2\\2&1\end{vmatrix}=-3 ∣∣∣∣​10​01​∣∣∣∣​=1 ∣∣∣∣​12​21​∣∣∣∣​=−3

行列式有公式

D = ∣ A ∣ = ∑ ( − 1 ) v a 1 , l 1 , a 2 , l 2 … a n , l n , D=|A|=\sum(-1)^va_{1,l_1},a_{2,l_2} \ldots a_{n,l_n}, D=∣A∣=∑(−1)va1,l1​​,a2,l2​​…an,ln​​,

其中 v v v 为 l 1 , l 2 , ⋯   , l n l_1,l_2,\cdots,l_n l1​,l2​,⋯,ln​ 中逆序对的个数。

通过体积概念理解行列式不变性是一个非常简单的办法:

  • 矩阵转置,行列式不变;
  • 矩阵行交换,行列式取反;
  • 矩阵行叠加,行列式不变;
  • 矩阵行伸长,行列式等比例变大。

由此,发现高斯消元不改变矩阵行列式,且最终行列式等于倒三角矩阵的对角线乘积。

DAX Studio--导出PowerBi数据---(不使用复制表如何快速导出csv文件 / 如何导出百万级/千万级乃至亿级的数据量)多图预警! 多图预警! 1、打开Dax 点击Connect 2、在这里选择正在打开的PowerBi文件,点击Contect 3、选择导出方式--File F、输入指令(输入 EVALUATE ' )单引号可以进行快速提示 5、点击Run 6、选择文件路径,以及保存类型等(一般情况下,我们常用的类型是 txt 或者 第一种 UTF-8 的csv 文件),点击保存即可,稍等片刻,导出完成! 7、导出完成,我这里总计是39W 行的数据量,约20+ 秒完成 ... 阅读详情

相关推荐

Docker网络教程(四)macvlan 网络教程

在这种网络下,Docker 宿主机在它的IP之上,允许接受多个 MAC 地址的请求,然后再将这些请求路由至对应的容器里。流通,Docker 会用它的 MAC 地址,把流量路由进你的容器里。对于网络上的网络设备来说,你的容器似乎是物理上连接到网络上的。),Docker使用其MAC地址将流量路由到你的容器。对于网络上的网络设备来说,你的容器似乎是物理上连接到网络上的。你需要 3.9 或者更高版本的 Linux 内核,4.0 以及以上的版本是更好的。如果你的设备叫别的名字,用对应的名字代替。

weixin_42445065的博客 4132

【模板】高斯消元法

题目 洛谷P3389高斯消元法 题解 通过初等行变换把增广矩阵变为简化阶梯形矩阵的线性方程组求解算法就是高斯消元算法。 算法流程:先将方程组写成一个增广矩阵。 然后是加减消元操作,一共进行n次。在第i次操作中,要将第i+1~n行的方程的xi的系数消为0。具体消系数的方法:假设第i行为a*x+c*y=e,要消的某一行为b*x+d*y=f,则b-=(b/a)*a,d-=(b/a)*c,f-=(b/a)*e。在第i次操作进行前,先要将i+1~n行中系数绝对值最大的方程与第i

zjgmartin的博客 524

Claude Code vs Codex

Claude Code 提供了一个生产就绪(production-ready)的实现,包含良好的错误处理、优雅的关闭逻辑、详细注释和文档,以及内置测试。Claude Code 输出了一个可运行的 Next.js + TypeScript 前端,但错过了一些设计里的黄色主题元素;Codex 则生成自己的版本,没有导出设计中的图片,也没严格遵照设计主题。Codex 完成同样功能,但更简洁直接,文档和注释少一些但功能达标。任务都用同样的提示,使用 TypeScript 实现,并在一天内完成。

weixin_49869937的博客 2391

POJ 1753 Flip Game 高斯消元 枚举自由变量

题目链接:http://poj.org/problem?id=1753构造号方程之后,先判断是否有解,之后在位运算枚举自由变量的值代码:#include <cstdio> #include <algorithm> #include <cstring> #define pf printf #define sf scanfusing namespace std; const int maxn = 20,

SolarDomo的博客 551

基于AutoDL复现A-LOAM

Ceres solver 是谷歌开发的一款用于非线性优化的库,在谷歌的开源激光雷达slam项目cartographer中被大量使用。在autodl上面租服务器,地区我租的重庆A区的,GPU我选择的是RTX4090,基础镜像选择的是Miniconda / conda3 / 3.8(ubuntu20.04)/11.6。在AutoDL中我使用的方式是先将该数据集先下载到自己的电脑上,然后再上传到虚拟机中。用MobaXterm解决该问题!搜到的一个解决方式:该问题属于ceres版本问题,将A-LOAM下的。

m0_61281610的博客 1943

实战指南:轻松破解DataDome滑块验证码的关键步骤

本文详细介绍了破解DataDome滑块验证码的关键步骤,包括理解其工作原理、准备工作、参数获取与配置、完整破解流程及API调用。通过使用Capsolver服务和模拟真实用户行为,帮助开发者有效绕过这一反机器人机制,同时强调了法律与道德考量。

weixin_30415113的博客 483

线性代数中涉及到的matlab命令-第三章:矩阵的初等变换及线性方程组

矩阵的初等行变换和初等列变换,统称为初等变换。待补充:使用Matlab判断两个矩阵是否等价。

weixin_47207479的博客 6227

保姆级避坑指南:用Keil和J-Flash搞定凌思微LE5010蓝牙芯片的首次程序下载

本文提供了一份详细的保姆级避坑指南,帮助开发者使用Keil和J-Flash工具完成凌思微LE5010蓝牙芯片的首次程序下载。文章重点解决了算法文件混淆、协议栈漏烧和仿真器连接异常等常见问题,并详细介绍了开发环境配置、协议栈烧录和下载接口的物理层奥秘,助力开发者高效完成蓝牙开发任务。

weixin_28739079的博客 467

线代:1.4矩阵的初等变换

文章目录任务详解:1.矩阵的初等变换引例:求解线性方程组定义12.逆矩阵的另外一种求法3.矩阵的秩4.线性方程组的解 本课程来自深度之眼,部分截图来自课程视频。 【第一章 线性代数】1.2矩阵的行列式 在线LaTeX公式编辑器 任务详解: 主要介绍了矩阵的初等变换,逆矩阵的另外一种求法,矩阵的秩,线性方程组的解等知识点。 掌握目标: 1、了解由高斯消元法引入矩阵的初等变换 2、掌握矩阵的三种初等变...

老毛的博客 3864

MATLAB实战:5步搞定GNSS单点定位解算(附完整代码)

本文提供了一份基于MATLAB的GNSS单点定位实战指南。通过5个核心步骤,详细讲解了如何从卫星坐标和伪距观测值出发,利用最小二乘迭代算法,构建并实现一个完整的单点定位解算器。文章附有完整代码,并涵盖精度评估与结果分析,适合GNSS初学者和MATLAB用户快速上手实践。

a2b3c4d5e的博客 250

小波变换完全指南:从原理到实践的深度解析

在信号处理领域,傅里叶变换长期以来一直是频域分析的主要工具。然而,傅里叶变换存在一个根本性的局限:它只能告诉我们信号中包含哪些频率成分,却无法告诉我们这些频率成分在什么时刻出现。这就像是你知道一首歌用了哪些音符,却不知道这些音符的演奏顺序。小波变换(Wavelet Transform) 应运而生,它完美地解决了这个问题。小波变换不仅能够提供频率信息,还能同时提供时间信息,实现了信号的时频联合分析。本文将带你从零开始,深入理解小波变换的原理、实现和应用。傅里叶变换的定义如下: 它使用正弦和余弦这样的全局基函数

电脑管家 212

高斯消元学习笔记

高斯消元学习笔记 前言 高斯消元这么基础的东西,我居然整个初中都没学。 趁现在(19.7.9)赶紧学一下 正文 高斯消元简介 高斯消元是一种用来求解线性方程组(多元一次方程组)的算法。 时间复杂度为O(\(n^3\)) 算法流程 枚举当前需要消去的未知数(如x),选择一个式子,用这个式子消去其他式子中的x,重复这个过程直至最后一个方程只有一个未知数(如z),这样就可以方便地计算出z的值,...

weixin_30791095的博客 158

YOLOv11改进 | Conv篇 | 2024最新轻量化自适应提取模块LAE助力边缘设备部署计算(附代码 + 修改教程 + 运行教程)

本文给大家带来的一个改进机制是最新由LSM-YOLO提出的轻量化自适应特征提取(Lightweight Adaptive Extraction, LAE)模块,其是LSM-YOLO模型中的关键模块,旨在进行多尺度特征提取,同时降低计算成本。LAE通过以下方式实现更有效的特征提取:多尺度特征提取、自适应特征提取。LAE模块可以在不增加额外参数的情况下提高了模型对ROI区域的检测性能。​欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍。

Snu77的博客 4057

hdu6465 高斯消元

题目链接:水题 高斯消元学习高斯消元模板 题解:来自官方 1 #include<bits/stdc++.h> 2 #include<iostream> 3 #include<algorithm> 4 #includ...

weixin_30418341的博客 175

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

高斯消元学习

高斯消元学习 致敬yyb 我的板子 以洛古的模板题为准……戳我 #include<iostream> #include<cstdlib> #include<cstdio> #include<cmath> #include<cstring> #include<iomanip> #include<algorithm> ...

weixin_30887919的博客 103

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

poj 1753 Flip Game (高斯消元 + 枚举 自由变量)

http://poj.org/problem?id=1753题意:有4*4的正方形,每个格子要么是黑色,要么是白色,当把一个格子的颜色改变(黑->白或者白->黑)时,其周围上下左右(如果存在的话)的格子的颜色也被反转,问至少反转几个格子可以使4*4的正方形变为纯白或者纯黑? 这道题 可以 用 bfs 也可用 dfs 但在学 Gauss 就用了 Gauss,费劲 ,还有枚举 自由变量...

weixin_30399797的博客 208

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

矩阵的初等变换

矩阵的初等变换1.方程组的每一个方程进行变换:2.矩阵初等变换:计算逆矩阵,如果按照 逆矩阵等于:行列式A的倒数乘以伴随矩阵,就计算量有点大。所以可以采用定理13.矩阵的秩: 1.方程组的每一个方程进行变换: 1和2换顺序 3/2 2-3 等等最后得到:下面 就能解出未知数方程组: 2.矩阵初等变换: 可以把上面的方程组写成:增广矩阵 B=(A,b). 矩阵的初等变换:就是对换两行, 以某个数乘以矩阵的某个行 kr1。 在把某个数乘以某个行加到某个行里

qq_51813155的博客 1万+

【HDU】3915 Game 高斯消元求自由元个数

传送门:【HDU】3915 Game

poursoul 1965

《数学基础》-1.线性代数-1.3.矩阵的初等变换

1.3.矩阵的初等变换 1.3.1.矩阵的初等变换 利用初等变换来解方程组,方程组(1)的增广矩阵为: 为证明上述定理,首先引入初等矩阵 三种初等矩阵(对应三种初等变换) 同理,其他两种初等变换亦如此 1.3.2.利用初等变换求矩阵的逆 即(A,E)经过行变换变为(E,Q),PA=E,PE=Q,P=,所以Q为 1.3.3.矩阵的秩 矩阵秩的性质:

ruoqi23的博客 1695

矩阵初等行变换的技巧

一般,使用初等行变换来判定一个矩阵是否可逆,和求某矩阵的逆矩阵。 二阶矩阵使用伴随矩阵法比较方便,高阶矩阵使用初等行变换。  一般来说,将一个矩阵化为标准阵遵循下面方法:先用第一行消掉下面所有行的第一项,即用a11将a21,a31,……an1消为0再用第二行将下面所有行的第二项消为0再用第三行将下面所有行的第三项消为0依次做下去,直到不能消为止,此时矩阵就变成了左下三角元素都为0的

寒冰如火 5万+

矩阵的行简化阶梯型和标准型

矩阵的行简化阶梯型是一种很有用的与原矩阵等价的矩阵,包括有相同的秩,相同的零空间,以及可以用来求解线性方程组 1 阶梯型矩阵和行简化阶梯型矩阵 下面以上节的方程组开始做初等变换: 由方程组得到增广矩阵 : B= 下边对B进行初等变换: B1是行阶梯型矩阵,其特点是:阶梯线下方的数全为0;每个台阶只有一行,台阶数即是非零的行数,阶梯线的竖线(每段竖线的均为一行)后面的第一个元素...

hellocsz的博客 8万+

高斯消元+枚举自由变量

/* 高斯消元+枚举自由变量 */ #include #include #include using namespace std; int T , N ,M ; int num[110] ; int a[110][110] ; int row , col ; int ans[110] ; int temp[110] ; int res ; void dfs(int u){ if(u ==

lyc 2349

线性代数一(基本概念)

① https://blog.youkuaiyun.com/qq_16555103/article/details/88378009 ----------几个重要的矩阵点积 ② AB等价 、 AB相似 、 AB 合同。 ③ C’C一定是对称矩阵(C’C的转置 == C’C) 一、线性代数基本知识: 1、线性: ...

鲨鱼儿的博客 5万+
上一篇: 实验
下一篇: Codeforces Round #654 (Div. 2) - 题解
CSP_Sept
博客等级 码龄7年 4粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值