高斯 - 约当消元法
1|0定义
1|1高斯消元方法
给定
请求出方程组的解的情况:
-
无解;
-
无穷多解;
-
唯一解。
对于这样的问题,我们可以使用 高斯消元法 进行求解,当然高斯消元法有一个回代的过程,代码略长,而且精度较低。
所以我们隆重推出 高斯-约旦消元法 !!!
回顾一下我们是怎么手算的,一般用的都是 加减消元法,普通高斯和高斯-约旦用的都是加减消元。
在此之前,我们需要了解一下矩阵初等变换。
在线性代数中,矩阵初等行变换 是指以下三种变换类型 :
-
交换矩阵的两行;
-
用一个非零数
乘矩阵的某一行所有元素; -
把矩阵的某一行所有元素乘以一个数
后加到另一行对应的同一列的元素上;
类似地,把以上的 行
改为 列
便得到 矩阵初等列变换 的定义。
矩阵初等行变换与初等列变换合称为 矩阵初等变换。
若矩阵
当然列的用不着
首先有一个由系数构成的
然后是一个由常数构成的
把它们放在一起构成一个
我们遍历每一列,对于第
选最大的作为主元的原因是避免精度误差。
然后就是加减消元了。
举个例子
增广矩阵就是
先是第
对于第
化简得
对第
现在到了第
将第
消元得
第
这样就把原来的矩阵通过初等变换,使得系数矩阵只有主对角线位置的元素非零,即一个对角矩阵。
上面那个矩阵的意思是
所以再把系数除过去就得到
请自行检验。
时间复杂度为
当然方程还可能是无解或无穷多解。
考虑一个一元一次方程
- 无解:
; - 无穷多解:
; - 唯一解:
。 - 所以当发现某一列的主元为
时,因为主元是最大的,所以意味着这一列全都是 ,那么要么无解,要么有无穷多解。
1|2关于判断无解和无穷多解
关于判断无解和无穷多解
这下要具体到到底是无解还是无穷多解了。
这就是高斯-约旦的一个缺点:相比于普通高斯,它更难判断无解和无穷多解。
但是也是可以处理的。
具体地,我们用
遍历完所有列后:
- 若
,说明有唯一解; - 若
,说明第 行系数矩阵全都是 ,若列向量全是 ,说明有无穷多解,否则无解。 - 在消除当前行的其余元时, 应逆序在这一行上异或上主元乘当前元, 这样可以使当前行的元变为
- 异或方程式无法像一般线性方程式那样可以化简成行最简形式, 经过高斯消元之后会变成上三角的样式
- 在求解时, 应从最后一行一步一步向上求解, 由于不是行最简, 所以要把所有的非零元代入方程求解
1|3关于多项异或线性方程式求解
XOR Neighbors
观察每个点的性质, 发现对于任何一个点
2|0例题
本题乍一看很难想到使用高斯消元,下面通过建模转化成线性方程组问题。
共有
定义
对于方砖
故有如下方程组。
那么
开关问题
与上述的异或方程式同理, 不再赘述, 每个灯都能影响其他的灯, 所以可以列出对所有对该灯有影响的异或方程式:
__EOF__

本文链接:https://www.cnblogs.com/o-Sakurajimamai-o/p/18324342.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!