线性联立方程的高斯赛德尔迭代(Gauss-Seidel iteration)(python,数值积分)

第九课 线性联立方程的高斯赛德尔迭代在雅可比迭代中,{x}k+1(在上一课中被称为xnew)的所有分量都是使用{x}k(在上一课中为x)的分量推出的。因此,新的向量值完全是根据旧的向量值获得的。然而,在对等式第一行进行评估后,有一个新的(x1)k+1可用,它可能比(x1)k更接近真实解。在高斯-塞德尔技术中,新值(x1)k+1立即由“旧”解x中的(x1)k值来替换。在对第二行进行计算后,(x2)k+1由(x2)k进行替换,以此类推。下表显示了上式运行过程的收敛性。很明显,比上一课的迭代速度更快
摘要由CSDN通过智能技术生成

第九课 线性联立方程的高斯赛德尔迭代

在雅可比迭代中,{x}k+1(在上一课中被称为xnew)的所有分量都是使用{x}k(在上一课中为x)的分量推出的。因此,新的向量值完全是根据旧的向量值获得的。
然而,在对等式在这里插入图片描述
在这里插入图片描述

第一行进行评估后,有一个新的(x1)k+1可用,它可能比(x1)k更接近真实解。在高斯-塞德尔技术中,新值(x1)k+1立即由“旧”解x中的(x1)k值来替换。在对第二行进行计算后,(x2)k+1由(x2)k进行替换,以此类推。下表显示了上式运行过程的收敛性。
在这里插入图片描述
很明显,比上一课的迭代速度更快
高斯-塞德尔迭代过程和上一课的因数是完全一样的,但具有一个不同的排列方式
在这里插入图片描述
因为在运算[U]{x}k中,行i的评估不依赖于Xi、Xi-1等,因此可以在需要时采取更新变量,看了下面的展开式能更好的理解。
在这里插入图片描述
右手边的值需要通过一个矩阵向量乘法和一个向量加法完成,得到下面这个方程:
在这里插入图片描述
这个方程为下面这个形式在这里插入图片描述
这个方程和我们之前提到的‘从前迭代法’完全相同,所以可以使用subfor子程序。
计算实例:通过高斯赛德尔解方程
在这里插入图片描述
每个向量除以主对角线值然后重新排列得到:
在这里插入图片描述
因此
在这里插入图片描述
假设开始值为在这里插入图片描述

得到
在这里插入图片描述
经过‘从前迭代法’,得到在这里插入图片描述
第二次迭代方程为
在这里插入图片描述
再使用‘从前迭代法’,得到
在这里插入图片描述
收敛过程仍然有些慢,但会比雅可比迭代快一些。
代码如下:其中有一个主程序和两个子程序,分别为‘从前迭代法’子程序subfor,检查是否收敛的子程序checkit。

#线性联立方程的高斯赛德尔迭代
import numpy as np
import math
import B
n=3
converged=np.array([False])
u=np.zeros((n,n))
xnew=np.zeros((n,1))
a=np.array([[16,4,8
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深渊潜航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值