语言雅克比迭代法求线性方程组的解_【解线性方程组】定常迭代:Jacobi法、Gauss-Seidel(多图附算法)...

本文介绍了迭代法在处理大型矩阵和稀疏矩阵时的重要性,特别是雅克比迭代法和Gauss-Seidel法。这两种定常迭代法在解线性方程组时,通过不断逼近真实解来节省存储空间和计算成本,虽然收敛速度较慢,但适合大规模问题。内容包括迭代法的概念、分类、优缺点以及具体方法和收敛条件的讨论。
摘要由CSDN通过智能技术生成

1b2af72262dbe121e2e6e48069fe798e.png

【先提一嘴】

解线性方程组直接法:高斯消元、LU分解(其实就是行变换)

优点:稳定,适用广泛

缺点:与迭代法相比,需要的存储空间

、计算量
更大,耗盘耗时

为什么有迭代法?就是因为高斯消元在处理大型矩阵时太不给力了,有时候也不需要那么精确的解。尤其是“解三重对角矩阵”这种稀疏矩阵时,需用迭代法。迭代法的思想一句话就能说完:

“假装已经知道一个解了!”

话粗理不粗,很多方法其实都是这种思想……

基础知识在下面的笔记里都写了 ,基础不牢的打包带走:

https://zhuanlan.zhihu.com/p/156441923​zhuanlan.zhihu.com

一、一句话形容迭代法是什么?

在解线性方程组时,选择适当的初期解

,通过不断迭代,每次得到的
迭代解
收敛到
真实解

5023bda7e53ab52922dee1134e1c5f72.png
x0是初期解

二、迭代法(Iterative Method)的大致分类和优缺点?

1. 定常(stationary)法

  • 在迭代中,只有迭代解
    在不断收敛,
    其它量都不变
  • 比如:SOR、Gauss-Seidel、Jacobi法
  • 缺点:大概都慢!

b107460eb8385004c80b2fe79a7b8190.png
定常(stationary)法

2. 非定常(nonstationary)法

  • 有约束、优化条件
  • 要用到映射到Krylov subspace(部分空间)的像,因此也叫Krylov部分空间法
  • CG(Conjugate Gradient:共轭梯度法)
  • BiCGSTAB(Bi-Conjugate Gradient Stabilized:稳定双共轭梯度法)
  • GMRES(Generalized Minimal Residual:广义最小残差法)

优点:

  • 比直接法省存储空间、计算量小
  • 适用于并行计算

缺点:

  • 收敛性容易受到应用、边界条件的影响(可能不收敛,就算不出结果了)
  • 预处理很重要

三、具体方法

(我觉得我还是废话少说Pia!(o ‵-′)ノ”(ノ﹏<。))
来看
的表达式:

在每个方程中,
的系数正好是

这个式子就是关键!

Jacobi法就是用上面

的表达式,第一次代入一个初始值,然后不断迭代上一轮算出的
,直到得到要求的精度。

Gauss-Seidel机灵一点,每轮

,到
轮时,它把这轮计算的
前面的
直接代进去,而不再傻傻地代入上一轮的结果,于是收敛速度提高一半不止。

086d30856cc35053f6375c16111b9d71.png
Jacobi 和 Gauss-Seidel

03526b0035f0e7183666cf480fd0d7fd.png
Jacobi几何意义

四、收敛条件和收敛矩阵

Jacobi和Gauss-Seidel的收敛条件都是

,因为
它们显然就是同一个方法。证明Jacobi法较简单,因为它们的 收敛矩阵是:

a432b987a43fbe779e1839629b01502e.png
Jacobi 的收敛矩阵 M

ec8fc0c2ef5ee81532f6a2dfe6c238d0.png
Gauss-Seidel 的收敛矩阵 M

上面的

的表达式在Jacobi中都是由上一轮的
表示的,
的公式写一下就可以合并同类项了,再用矩阵的 行和范数和“ 谱半径一定不大于任何一个矩阵范数”这个推论(谱半径定义的推论),即可证明收敛。

b070bb5596496c62771f631e49e3f7f9.png
Jacobi 收敛证明

五、看例子感受一下收敛速度

77bdfb5ae6a7e2981b7664bf93028022.png

fc4bf041b7f2788a7652842ed663c42c.png

六、算法

f7a48bd26e4bbfdc672e5dffafc791d3.png

ff32d7e03c4d56a2c75dd4952da4bf3b.png

a6305593769c6717d85f72bf88fcd7b2.png

ddb5800647708628e29526f9bc05d1fb.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值