《线性代数方程组的迭代解法.ppt》由会员分享,可在线阅读,更多相关《线性代数方程组的迭代解法.ppt(55页珍藏版)》请在三一办公上搜索。
1、Tel:86613747E-mail:授课:68学分:4,在第二章中我们知道,凡是迭代法都有一个收敛问题,有时某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。一个收敛的迭代法不仅具有程序设计简单,适于自动计算,而且较直接法更少的计算量就可获得满意的解。因此,迭代法亦是求解线性方程组,尤其是求解具有大型稀疏矩阵的线性方程组的重要方法之一。,第四章 解线性方程组的迭代法,4.2 迭代法的基本思想 迭代法的基本思想是将线性方程组转化为便于迭代的等价方程组,对任选一组初始值,按某种计算规则,不断地对所得到的值进行修正,最终获得满足精度要求的方程组的近似解。,设 非奇异,则线性方程组
2、有惟一解,经过变换构造出一个等价同解方程组将上式改写成迭代式,选定初始向量,反复不断地使用迭代式逐步逼近方程组的精确解,直到满足精度要求为止。这种方法称为迭代法,如果 存在极限则称迭代法是收敛的,否则就是发散的。收敛时,在迭代公式中当 时,,则,故 是方程组 的解。对于给定的方程组可以构造各种迭代公式。并非全部收敛,例4.1 用迭代法求解线性方程组,解 构造方程组的等价方程组,据此建立迭代公式,取 计算得,迭代解离精确解 越来越远迭代不收敛,4.3 雅可比(Jacobi)迭代法4.3.1雅可比迭代法算法构造,例4.2 用雅可比迭代法求解方程组,解:从方程组的三个方程中分离出 和,建立迭代公式,
3、取初始向量进行迭代,可以逐步得出一个近似解的序列:(k=1,2,)直到求得的近似解能达到预先要求的精度,则迭代过程终止,以最后得到的近似解作为线性方程组的解。当迭代到第10次有计算结果表明,此迭代过程收敛于方程组的精确解x*=(3,2,1)T。,考察一般的方程组,将n元线性方程组,写成,若,分离出变量,据此建立迭代公式,上式称为解方程组的Jacobi迭代公式。,4.3.2 雅可比迭代法的矩阵表示 设方程组 的系数矩阵A非奇异,且主对角元素,则可将A分裂成,记作 A=L+D+U,则 等价于,即,因为,则,这样便得到一个迭代公式,令,则有,(k=0,1,2),称为雅可比迭代公式,B称为雅可比迭代矩
4、阵,其中,在例4.2中,由迭代公式写出雅可比迭代矩阵为,雅可比迭代矩阵表示法,主要是用来讨论其收敛性,实际计算中,要用雅可比迭代法公式的分量形式。即,(k=0,1,2,),雅可比迭代法的算法实现,4.4 高斯-塞德尔(Gauss-Seidel)迭代法4.4.1 高斯-塞德尔迭代法的基本思想 在Jacobi迭代法中,每次迭代只用到前一次的迭代值,若每次迭代充分利用当前最新的迭代值,即在求 时用新分量代替旧分量,就得到高斯-赛德尔迭代法。其迭代法格式为:,(i=1,2,n k=0,1,2,),例4.3 用GaussSeidel 迭代格式解方程组,精确要求为=0.005,解 GaussSeidel
5、迭代格式为,取初始迭代向量,迭代结果为:,x*,4.4.2 GaussSeidel 迭代法的矩阵表示 将A分裂成A=L+D+U,则 等价于(L+D+U)x=b 于是,则高斯塞德尔迭代过程,因为,所以,则高斯-塞德尔迭代形式为:,故,令,4.4.3 高斯塞德尔迭代算法实现 高斯-塞德尔迭代算法的计算步骤与流程图与雅可比迭代法大致相同,只是一旦求出变元的某个新值 后,就改用新值 替代老值 进行这一步剩下的计算。高斯-塞德尔迭代算法的程序实现(见附录A A-7 用高斯塞德尔迭代法求解线 性方程组),4.5 超松弛迭代法(SOR方法)使用迭代法的困难在于难以估计其计算量。有时迭代过程虽然收敛,但由于收
6、敛速度缓慢,使计算量变得很大而失去使用价值。因此,迭代过程的加速具有重要意义。逐次超松弛迭代(Successive Over relaxatic Method,简称SOR方法)法,可以看作是带参数的高斯塞德尔迭代法,实质上是高斯-塞德尔迭代的一种加速方法。,4.5.1超松弛迭代法的基本思想 超松弛迭代法目的是为了提高迭代法的收敛速度,在高斯塞德尔迭代公式的基础上作一些修改。这种方法是将前一步的结果 与高斯-塞德尔迭代方法的迭代值 适当加权平均,期望获得更好的近似值。是解大型稀疏矩阵方程组的有效方法之一,有着广泛的应用。其具体计算公式如下:,用高斯塞德尔迭代法定义辅助量。,把 取为 与 的加权平
7、均,即,合并表示为:,式中系数称为松弛因子,当=1时,便为高斯-塞德尔迭代法。为了保证迭代过程收敛,要求0 2。当0 1时,低松弛法;当1 2时称为超松弛法。但通常统称为超松弛法(SOR)。,4.5.2 超松弛迭代法的矩阵表示设线性方程组 的系数矩阵A非奇异,且主对角元素,则将A分裂成A=L+D+U,则超松弛迭代公式用矩阵表示为,或,故,显然对任何一个值,(D+L)非奇异,(因为假设)于是超松弛迭代公式为,令,则超松弛迭代公式可写成,例4.4 用SOR法求解线性方程组,取=1.46,要求,解:SOR迭代公式,k=0,1,2,,,初值,该方程组的精确解只需迭代20次便可达到精度要求,如果取=1(
8、即高斯塞德尔迭代法)和同一初值,要达到同样精度,需要迭代110次,4.6 迭代法的收敛性 我们知道,对于给定的方程组可以构造成简单迭代公式、雅可比迭代公式、高斯-塞德尔迭代公式和超松弛迭代公式,但并非一定收敛。现在分析它们的收敛性。对于方程组 经过等价变换构造出的等价方程组,在什么条件下迭代序列 收敛?先引入如下定理,定理4.1 对给定方阵G,若,则 为非奇异矩阵,且,证:用反证法,若 为奇异矩阵,则存在非零向 量x,使,即有 由相容性条件得,由于,两端消去,有,与已知条件矛盾,假设不成立,命题得证。又由于 有,即,将G分别取成G和-G,再取范数,又已知,有,定理4.2 迭代公式 收敛的充分必
9、要条件是迭代矩阵G的谱半径证:必要性 设迭代公式收敛,当k时,则在迭代公式两端同时取极限得记,则 收敛于0(零向量),且有,于是,由于 可以是任意向量,故 收敛于0当且仅当 收敛于零矩阵,即当 时,于是,所以必有,充分性:设,则必存在正数,使则存在某种范数,使,则,所以,即。故 收敛于 0,收敛于 由此定理可知,不论是雅可比迭代法、高斯塞德尔迭代法还是超松弛迭代法,它们收敛的充要条件是其迭代矩阵的谱半径。,事实上,在例4.1中,迭代矩阵G=,其特征多项式为,特征值为-2,-3,,所以迭代发散,定理4.3(迭代法收敛的充分条件)若迭代矩阵G的一种范数,则迭代公式收敛,且有误差估计式,且有误差估计
10、式,及,证:矩阵的谱半径不超过矩阵的任一种范数,已知,因此,根据定理4.2可知迭代公式收敛,又因为,则det(I-G)0,I-G为非奇异矩阵,故xGxd有惟一解,即与迭代过程 相比较,有两边取范数,由迭代格式,有,两边取范数,代入上式,得,证毕,由定理知,当 时,其值越小,迭代收敛越快,在程序设计中通常用相邻两次迭代(为给定的精度要求)作为控制迭代结束的条件,例4.5 已知线性方程组,考察用Jacobi迭代和G-S迭代求解时的收敛性解:雅可比迭代矩阵,故Jacobi迭代收敛,将系数矩阵分解,则高斯-塞德尔迭代矩阵,故高斯塞德尔迭代收敛。,定理4.4 设n阶方阵 为对角占优阵,则 非奇异证:因A
11、为对角占优阵,其主对角元素的绝对值大 于同行其它元素绝对值之和,且主对角元素 全不为0,故对角阵 为非奇异。作矩阵,利用对角占优知,由定理4.1知 非奇异,从而A非奇异,证毕 系数矩阵为对角占优阵的线性方程组称作对角占优方程组。,定理4.5 对角占优线性方程组 的雅可比 迭代公式和高斯-赛德尔迭代公式均收敛。证:雅可比迭代公式的迭代矩阵为,由定理4.4知,这时,再由定理4.3知迭代收敛 再考察高斯-赛德尔迭代公式的迭代矩阵,令,则有,即,写出分量形式有,设,而,由上式得,由此整理得,利用对角占优条件知上式右端小于1,(如果右端大于1,则得出与对角占优条件矛盾的结果)故有,据定理4.3知G-S收
12、敛,例4.6 设求解线性方程组 的雅可比迭代,求证当 1时,相应的高斯-塞德尔迭代收敛,证:由于B是雅可比迭代的迭代矩阵,故有,又 1,故有,则,系数矩阵 为对角占优阵,故G-S迭代收敛,例4.7 设,证明,求解方程组,的Jacobi迭代与G-S迭代同时收敛或发散,证:雅可比迭代矩阵,其谱半径,例4.7 设,证明,求解方程组,的Jacobi迭代与G-S迭代同时收敛或发散,证:G-S迭代矩阵,其谱半径,显然,和 同时小于、等于或大于1,因而Jacobi迭代法与G-S迭代法具有相同的收敛性,例4.8 设求解线性方程组的雅可比迭代 x(k+1)=B x(k)+f k=0,1,求证当B 1时,相应的G
13、-S迭代收敛证 这里以B 为例,B1类似 由于B是雅可比迭代的迭代矩阵,故有,Ax=b 的系数矩阵按行严格对角占优,故高斯-塞德尔迭代收敛,例 4.9 考察用雅可比迭代法和高斯-塞德尔迭代 法解线性方程组Ax=b的收敛性,其中,解:先计算迭代矩阵,求特征值,雅可比矩阵,(B)=0 1 用雅可比迭代法求解时,迭代过程收敛,1=0,2=2,3=2(G1)=21 用高斯-塞德尔迭代法求解时,迭代过程发散,高斯-塞德尔迭代矩阵,求特征值,Ax=b的系数矩阵按行严格对角占优,故高斯-塞德尔迭代收敛,例4.10 设有迭代格式 X(k+1)=B X(k)+g(k=0,1,2)其中B=I-A,如果A和B的特征
14、值全为正数,试证:该迭代格式收敛。分析:根据A,B和单位矩阵I之间的特征值的关系导出()1,从而说明迭代格式收敛。证:因为B=I-A,故(B)=(I)-(A)=1-(A)(A)+(B)=1 由于已知(A)和(B)全为正数,故 0(B)1,从而(B)1 所以该迭代格式收敛。,当时a1时,Jacobi矩阵GJ1,对初值x(0)均收敛,例4.11 设 方程组 写出解方程组的Jacobi迭代公式和迭代矩阵 并讨论迭代收敛的条件。写出解方程组的Gauss-Seidel迭代矩阵,并讨 论迭代收敛的条件。解 Jacobi迭代公式和Jacobi矩阵分别为,例4.11设 方程组 写出解方程组的Gauss-Sei
15、del迭代矩阵,并讨论 迭代收敛的条件。解 Gauss-Seidel矩阵为,当时a1时,Gauss-Seidel矩阵 Gs1,所以对任意初值x(0)均收敛。,也可用矩阵的谱半径p(GS)1来讨论,解:先计算迭代矩阵,例4.12 讨论用雅可比迭代法和高斯-塞德尔迭代 法解线性方程组Ax=b的收敛性。,求特征值,雅可比矩阵,(B)=1 用雅可比迭代法求解时,迭代过程不收敛,1=-1,2,3=1/2,求特征值,高斯-塞德尔迭代矩阵,(G1)=0.3536 1 用高斯-塞德尔迭代法求解时,迭代过程收敛,1=0,求解AX=b,当取何值时迭代收敛?解:所给迭代公式的迭代矩阵为,例4.13 给定线性方程组
16、AX=b 用迭代公式 X(K+1)=X(K)+(b-AX(K)(k=0,1,),即 2-(2-5)+1-5+4 2=0 2-(2-5)+(1-)(1-4)=0-(1-)-(1-4)=0 1=1-2=1-4,(B)=max|1-|,|1-4|1,取0 1/2迭代收敛,例4.14 设求解线性方程组Ax=b的简单迭代法 x(k+1)=Bx(k)+g(k=0,1,2,)收敛,求证:对01,迭代法 x(k+1)=(1-)I+Bx(k)+g(k=0,1,2,)收敛。证:设C=(1-)I+B,(C)和(B)分别为C和B 的特征值,则显然(C)=(1-)+(B)因为01,(C)是1和(B)的加权平均,且由迭代
17、法 x(k+1)=Bx(k)+g(k=0,1,2,)收敛知|(B)|1,故|(C)|1,从而(C)1,即x(k+1)=(1-)I+Bx(k)+g(k=0,1,2,)收敛,k=0,1,本章小结,本章介绍了解线性方程组 迭代法的一些基本理论和具体方法。迭代法是一种逐次逼近的方法,即对任意给定的初始近似解向量,按照某种方法逐步生成近似解序列,使解序列的极限为方程组的解。注意到在使用迭代法解方程组时,其迭代矩阵B和迭代向量f在计算过程中始终不变,迭代法具有循环的计算公式,方法简单,程序实现方便,它的优点是能充分利用系数的稀疏性,适宜解大型稀疏系数矩阵的方程组。,迭代法不存在误差累积问题。使用迭代法的关键问题是其收敛性与收敛速度,收敛性与迭代初值的选取无关,这是比一般非线性方程求根的优越之处。在实际计算中,判断一种迭代格式收敛性较麻烦,由于求迭代的谱半径时需要求特征值,当矩阵的阶数较大时,特征值不易求出,通常采用矩阵的任一种范数都小于1或对角占优来判断收敛性。有时也可边计算边观察其收敛性。如何加快迭代过程的收敛速度是一个很重要的问题,实用中更多的采用SOR法,选择适当的松驰因子有赖于实际经验。我们应针对不同的实际问题,采用适当的数值算法。,本章作业4.1 4.12,
链接地址:https://www.31ppt.com/p-6014040.html