首页/文章/ 详情

SOR迭代法解线性方程组

1月前浏览749

本文摘要(由AI生成):

本文介绍了SOR迭代方法,它是在Gauss-Seidel迭代法基础上进行改进的一种数值求解线性方程组的方法。SOR迭代通过取前后两次迭代结果的加权平均来加速收敛过程。其中,参数ω的选择对SOR迭代的收敛速度至关重要。当ω=1时,SOR迭代退化为Gauss-Seidel迭代;ω>1时称为逐次超松弛迭代,ω<1时称为逐次低松弛迭代。通过数值算例比较了Jacobi、Gauss-Seidel和SOR三种方法的收敛性能,发现合理选择ω值能使SOR迭代比Gauss-Seidel更快收敛。文章还提供了SOR方法的Fortran程序示例,并回顾了Jacobi和Gauss-Seidel迭代法解线性方程组的相关内容。

SOR迭代是在Gauss-Seidel迭代方法基础之上的进一步改进。其特征是取xk+1和xk的一个适当的加权平均来加快Gauss-Seidel收敛。对于方程组

Gauss-Seidel迭代格式为

而SOR迭代则是:

显然,参数ω=1时就是Gauss-Seidel迭代。而参数ω>1时称为逐次超松弛(Successive Over-Relaxation,SOR)迭代,ω<1时称为逐次低松弛(Successive Under-Relaxation)迭代。

·数值算例

对于下列的稀疏方程组,其精确解是X=[1,1,...,1]。

1)当n=200时,分别用Jacobi,Gauss-Seidel以及SOR

(ω=1.5和ω=1.2),比较三种方法收敛所需的迭代步数。

2)当n=1000时,分别取ω=1.2,1.3,1.6时SOR收敛所需的迭代步数

合理选择参数ω决定了SOR比Gauss-Seidel更快收敛。如果参数选择不当,SOR反而比Gauss-Seidel更慢。参数ω=1时就是Gauss-Seidel迭代。而参数ω>1时称为逐次超松弛(Successive Over-Relaxation,SOR)迭代,ω<1时称为逐次低松弛(Successive Under-Relaxation)迭代。

SOR方法Fortran程序

☆☆☆  往期相关  ☆☆☆

Jacobi迭代法解线性方程组

Gauss-Seidel迭代法解线性方程组

来源:数值分析与有限元编程
科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-04-02
最近编辑:1月前
太白金星
本科 慢慢来
获赞 2粉丝 4文章 298课程 0
点赞
收藏

作者推荐

未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈