高斯赛德尔迭代c语言_逐次超松弛SOR迭代概述

本文使用 Zhihu On VSCode 创作并发布

逐次超松弛(SOR)迭代法概述

一、方法背景

​ 逐次超松弛迭代法是高斯-塞德尔迭代法的一种变种,是为了解决线性方程组的一种迭代方法。由David M. Young, Jr. 和Stanley P. Frankel于1950年提出,主要为了实现在计算机上求解线性方程组。逐次超松弛迭代法从高斯-塞德尔迭代出发,加入了

equation?tex=%7B%5Comega%7D作为松弛因子,加快了迭代的收敛速度。

​ 高斯-塞德尔迭代:

equation?tex=x_%7Bi%7D%5E%7B%28k%2B1%29%7D%3Dx_%7Bi%7D%5E%7B%28k%29%7D%2B%5Cfrac%7B1%7D%7Ba_%7Bi+i%7D%7D%5Cleft%28b_%7Bi%7D-%5Csum_%7Bj%3D1%7D%5E%7Bi-1%7D+a_%7Bi+j%7D+x_%7Bj%7D%5E%7B%28k%2B1%29%7D-%5Csum_%7Bj%3Di%7D%5E%7Bn%7D+a_%7Bi+j%7D+x_%7Bj%7D%5E%7B%28k%29%7D%5Cright%29

​ 逐次超松弛迭代:

equation?tex=x_%7Bi%7D%5E%7B%28k%2B1%29%7D%3Dx_%7Bi%7D%5E%7B%28k%29%7D%2B%5Cfrac%7B%5Comega%7D%7Ba_%7Bi+i%7D%7D%5Cleft%28b_%7Bi%7D-%5Csum_%7Bj%3D1%7D%5E%7Bi-1%7D+a_%7Bi+j%7D+x_%7Bj%7D%5E%7B%28k%2B1%29%7D-%5Csum_%7Bj%3Di%7D%5E%7Bn%7D+a_%7Bi+j%7D+x_%7Bj%7D%5E%7B%28k%29%7D%5Cright%29

二、数学推导

1. 基础迭代法

​ 对于

equation?tex=Ax%3Db

​ ​假定A有如下分解

equation?tex=A%3DM-N,其中M是非奇异方阵。

​ 有

equation?tex=Mx%3DNx%2Bb
equation?tex=x%3DBx%2Bg,其中
equation?tex=B%3DM%5E%7B-1%7D+N
equation?tex=g%3DM%5E%7B-1%7D+b

​ 建立迭代公式:

equation?tex=x%5E%7B%28k%2B1%29%7D%3DB+x%5E%7B%28k%29%7D%2Bg

​ 若

equation?tex=x%5E%7B%28k%29%7D收敛于确定的向量
equation?tex=x%5E%7B%2A%7D,则
equation?tex=x%5E%7B%2A%7D%3DB+x%5E%7B%2A%7D%2Bg,即
equation?tex=A+x%5E%7B%2A%7D%3Db
equation?tex=x%5E%7B%2A%7D即为方程组
equation?tex=Ax%3Db的解。

​​ 令

equation?tex=A%3DD-L-U,其中
equation?tex=D%3Ddiag%28%5Ba_%7B11%7D%2C+a_%7B22%7D%2C+%5Ccdots%2C+a_%7Bn+n%7D%5D%29

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值