高斯消元法(二):高斯消元法原理
来源:互联网 发布:企业站源码 编辑:程序博客网 时间:2024/06/05 02:45
高斯消去法是一种常用的求解线性方程组的方法,通过逐次消元后,在回代求解,实际计算中常用的一种方法。
顺序消去法
将Ax=b按照从上至下、从左至右的顺序化为上三角方程组,中间过程不对矩阵进行交换,主要步骤如下。
STEP1:
将第2行至第n行,每行分别与第一行做运算,消掉每行第一个参数。公式如:
形成如下图所示新矩阵:
STEP2:
从新矩阵的a22开始(a22不能为0),以第二行为基准,将第三行至第n行分别与第二行做运算,消掉每行第二个参数。
公式如:,形成如下图所示新矩阵:
STEP K:
按照上述方法,当第k步运算时,公式为:
运算前后的矩阵为:
STEP (n-1):
经过 n-1 步,方程组也就转化为了我们希望得到的上三角方程组,如下:
再通过回代过程即可求解 X1至 Xn 的值。
顺序消去法计算量
消去过程:
回代过程:
总运算量:
顺序消去法虽然编程操作简单,但是存在以下两方面限制:
(1)每次运算时,必须保证对角线上的元素不为0(即运算中的分母不为0),否则算法无法继续进行。
(2)即使a(kk)的值不为零,但如果绝对值很小,由于第k次运算中a(kk)在分母位置,因此作除数会引起很大的误差,从而影响算法的稳定性。
正是由于顺序消去法会因为 a(kk) 的值过小而引入计算误差,为了减少计算过程中舍入误差对方程组求解的影星,因此是否可以选择绝对值尽可能大的 a(kk) 主元作为除数,基于这种思想就有了高斯消去法的改进型:列主元消去法 和 全主元消去法。
列(全)主元消去法
基本思想:
在第k步消元钱,找出k行下所有第k列元素最大的非零元素 a(pk), 将第 p 行与第 k行进行整行交换,这样既不影响原方程的解,也可以将绝对值最大的a(pk)作为主元,放在处暑的位置上,尽可能减小引入误差。
全主元消除法与列主元消除法类似,只不过列主元消除法是从第k列中选取一个最大的元素,与第k行进行交换。 而全主元消除法释从第k行第k列开始的右下角矩阵中所有元素中选取一个最大的元素作为主元,同时交换p行与q列,从而保证稳定性。
如下面这个列主元消去法的例子:
- 高斯消元法(二):高斯消元法原理
- sniffer原理(二)
- 网络原理(二)
- 数据库原理(二)
- 编译原理(二)
- JSP原理(二)
- memcached(二)--原理
- HashMap原理(二)
- HashMap原理(二)
- 计算机原理(二)
- 计算机原理(二)
- Spark原理(二)
- 计算机网络原理(二)
- React(二)原理
- JavaScript原理(二)
- .NET混淆原理 (二)
- 程序设计语言编译原理(二)
- J2EE集群原理(二)
- 带你测试对比深度学习框架!TensorFlow,Keras,PyTorch...哪家强?(附数据集)
- mysql 递归查询
- 图片的切换
- android note
- 大数据可视化--全球分布散点图
- 高斯消元法(二):高斯消元法原理
- 关于linux的export命令和shell变量的生命周期,环境变
- H盘显示由于IO设备错误,无法运行此项请求要如何办啊
- 自执行函数
- gstreamer插件简介
- 常用日志框架
- 全国淘宝村数量已超2100个 阿里巴巴打造乡村振兴新样本
- 深度学习 21天实战caffe
- 请求链接参数Base64加解密