高等数值计算方法学习笔记第6章【解线性代数方程组的迭代方法(高维稀疏矩阵)】

  • 一、引言
    • 1.例题(说明迭代法的收敛性研究的重要性)
    • 2.定义(迭代法,迭代法收敛)&解误差
  • 二、基本迭代法
    • 1.雅可比迭代法
    • 2.高斯—塞德尔迭代法( Gauss-Seidel迭代法)
    • 3.例题以及需要注意的问题
    • 4.逐次超松驰(Successive Over-Relaxation )迭代法&残差
    • 5.例题(松弛因子的选择)
  • 三、迭代法的收敛性
    • 1.一阶线性定常迭代法的基本定理(2定义,5定理,3例题)
    • 2.某些特殊方程组的迭代收敛性(1定义,3定理)
  • 四、知识结构图
  • 五、作业以及代码(附MATLAB安装方法)

本章将介绍迭代法的一般理论及雅可比迭代法、高斯—塞德尔迭代法、超松弛迭代法,研究它们的收敛性。

一、引言

即Ax=b 其中A为非奇异矩阵,当A为低维稠密矩阵时,线性方程组用直接法(如高斯消去法和三角分解法)是有效的,但对于由工程技术中产生的大型稀疏矩阵方程组(A的维数n很大,但零元素较多),利用迭代法求解是适合的。在计算机内存和运算两方面,迭代通常都可利用A中有大量零元素的特点。

1.例题(说明迭代法的收敛性研究的重要性)




2.定义(迭代法,迭代法收敛)&解误差



此处的解误差(Solution error)是有x的,但是一般情况下高维矩阵的准确解x是很难有的,注意区分后面的残差(residual error)

二、基本迭代法


推导就是将A=M-N带入就行,M为对角矩阵。

1.雅可比迭代法


2.高斯—塞德尔迭代法( Gauss-Seidel迭代法)


3.例题以及需要注意的问题


迭代了7次就结束了说明性能好!Jacobi需要迭代10次






4.逐次超松驰(Successive Over-Relaxation )迭代法&残差

逐次超松弛迭代(Successive Over-Relaxation, SOR), 简称SOR方法是G-S迭代法的一种加速方法,是解大型稀疏矩阵方程组的有效方法之一,它有着较为广泛的应用。

5.例题(松弛因子的选择)



三、迭代法的收敛性

1.一阶线性定常迭代法的基本定理(2定义,5定理,3例题)



其中对k用了洛必达法则

谱半径是绝对值最大的特征值的绝对值。

推论如下:


解误差:||x*-x(k)||
解间差:||xk-x(k-1)||
残差:||Axk-b||

||B||<1可以推出收敛,但是收敛时||B||<1不一定成立

2.某些特殊方程组的迭代收敛性(1定义,3定理)



四、知识结构图

五、作业以及代码(附MATLAB安装方法)


函数SOR_iteration;

%超松弛(SOR)迭代法,计算线性方程组的解
function [x,k] = SOR_iteration(A,b,x0,w,tol)
% tol为输入误差容限,x0为迭代初始值% 默认最多迭代300次,超出300次会给出警示
max = 300;if(w<=0||w>=2)% MATLAB中error语句用于报错跳出,并可以给出相应提示error('错啦!w的值不符合要求');return;
end%  取出X矩阵的对角元,然后构建一个以X对角元为对角的对角矩阵
D = diag(diag(A));% 求A的下三角矩阵,对角线元素为0,再每个矩阵元素取负号
L = -tril(A,-1);% 求A的上三角矩阵,对角线元素为0,再每个矩阵元素取负号
U = -triu(A,1);% 在MATLAB中inv是求矩阵的逆矩阵的意思,同\具有一样的功能
B = inv(D-L*w)*((1-w)*D+w*U);
f = w*inv((D-L*w))*b;
x = B*x0+f;
k = 1;%迭代次数
xx = [0.5,1,-0.5]';
% norm表示无穷范数
while norm(xx-x)>=tolx = B*x+f;k = k+1;if(k>=max)disp('迭代次数超过',max1,'次,方程组可能不收敛');return;endif(norm(xx-x)<tol)[k,x']end
end

在命令行中输入如下命令:

A = [4,-1,0;-1,4,-1;0,-1,4];
% 注意必须加'表示转置
b = [1,4,-3]';
x0 = [0,0,0]';
[x,k] = SOR_iteration(A,b,x0,1.03,5*1e-6)A = [4,-1,0;-1,4,-1;0,-1,4];
% 注意必须加'表示转置
b = [1,4,-3]';
x0 = [0,0,0]';
[x,k] = SOR_iteration(A,b,x0,1,5*1e-6)A = [4,-1,0;-1,4,-1;0,-1,4];
% 注意必须加'表示转置
b = [1,4,-3]';
x0 = [0,0,0]';
[x,k] = SOR_iteration(A,b,x0,1.1,5*1e-6)

MATLAB的安装方法点击链接:MATLAB的安装方法

高等数值计算方法学习笔记第6章【解线性代数方程组的迭代方法(高维稀疏矩阵)】相关推荐

  1. 高等数值计算方法学习笔记第4章第一部分【数值积分(数值微分)】

    高等数值计算方法学习笔记第4章第一部分[数值积分(数值微分)] 一.数值积分概论 1.数值求积的基本思想(牛-莱公式找不到原函数,用矩形近似) 2.代数精度的概念 1.上述四个公式的代数精度(梯形,左 ...

  2. 高等数值计算方法学习笔记第4章第二部分【数值积分(数值微分)】

    高等数值计算方法学习笔记第4章第二部分[数值积分(数值微分)] 四.龙贝格求积公式(第三次课) 1.梯形法的递推化 (变步长求积法) 2.龙贝格算法 五.高斯求积公式 1.一般理论(1定义1例题) 2 ...

  3. Kotlin学习笔记 第四章 解构声明 集合集合的扩展方法 Range 异常 Throw关键字

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  4. 《计算方法》笔记之(二)线性代数方程组之Gauss消去法

    目录 Gauss 消去法 消去法的基本思想 消去法的消去过程 列主元 Gauss 消去法 本章的重点在于求解下列线性方程组: {α11x1+α12x2+⋯+α1nxn=β1α21x1+α22x2+⋯+ ...

  5. 《C Primer Plus》学习笔记—第9章

    目录 <C Primer Plus>学习笔记 第9章 函数 1.复习函数 1.引入 2.创建并使用简单的函数:程序lethead1.c 3.分析程序 4.函数参数 1.程序lethead2 ...

  6. 《Go语言圣经》学习笔记 第六章 方法

    <Go语言圣经>学习笔记 第六章 方法 目录 方法声明 基于指针对象的方法 通过嵌入结构体来扩展类型 方法值和方法表达式 示例:Bit数组 封装 注:学习<Go语言圣经>笔记, ...

  7. 《Go语言圣经》学习笔记 第三章 基础数据类型

    <Go语言圣经>学习笔记 第三章 基础数据类型 目录 整型 浮点数 复数 布尔型 字符串 常量 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. Go语言小白学习笔记, ...

  8. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  9. 《Python编程:从入门到实战》(第2版)学习笔记 第5章 if语句

    [写在前面]为进一步提高自己的python代码能力,打算把几本经典书籍重新过一遍,形成系统的知识体系,同时适当记录一些学习笔记,我尽量及时更新!先从经典的<Python编程:从入门到实战> ...

最新文章

  1. redisson的锁的类型_绝对干货:利用redisson完成分布式锁功能
  2. 移动通信网络协议 — GTP 协议
  3. linux下载文件的常用命令wget
  4. 双击word,excel等office文档很慢
  5. OpenCASCADE:Modeling Data之几何实用程序
  6. jQuery浏览器类型判断和分辨率判断
  7. Vigenère密码(洛谷P1079题题解,Java语言描述)
  8. ADB常用命令--不间断更新
  9. windows下python 自动截图功能
  10. sap系统webservice接口开发
  11. excel表格显示无法连接服务器,excel中表格无法连接数据库-EXCEL 连接SQL SERVER数据库显示无法连接...
  12. 7步走!做出高质量的数据分析项目
  13. pip 生成 requirement.txt 文件
  14. 房子千万不要这样装修啊 别说我没告诉你
  15. windows7到底是多用户多任务操作系统还是单用户多任务操作系统
  16. Docker的安装及加速器配置
  17. logrotate - rotates, compresses, and mails system logs
  18. 软件测试之微软学术搜索(Microsoft Academic Search)
  19. java位运算符和位运算表达式
  20. Jmeter验证码图片识别注册接口压力测试实战

热门文章

  1. 短路与()和短路或(||)的区别
  2. Officiis est labore laborum eum natus.Aliquam voluptatem necessitatibus quam.
  3. c语言碾转相除法,从高中碾转相除法、更相减损术算法谈起
  4. 群体力量和胡萝卜政策如何重新定义区块链治理
  5. Java构造方法 重载与重写
  6. 四川计算机专业三本大学排名,2021四川三本大学排名 三本院校有哪些
  7. KDDCUP99数据集处理(Keras)
  8. 中国有钱人抢购iPhone,推动苹果销量猛增重夺全球手机市场第二名
  9. 高并发系统设计三(提升性能)
  10. 留着以后要做给我喜欢的人吃