《11.线性方程组的迭代法-雅可比、高斯塞德尔和超松弛迭代.ppt》由会员分享,可在线阅读,更多相关《11.线性方程组的迭代法-雅可比、高斯塞德尔和超松弛迭代.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 我们知道,凡是迭代法都有一个收敛问题,有时某种方法对一类方程组迭代收敛,而对另一类方程组进行迭代时就会发散。一个收敛的迭代法不仅具有程序设计简单,适于自动计算,而且较直接法更少的计算量就可获得满意的解。因此,迭代法亦是求解线性方程组,尤其是求解具有大型稀疏矩阵的线性方程组的重要方法之一。第六章 解线性方程组的迭代法6.1 迭代法的基本思想 迭代法的基本思想是将线性方程组转化为便于迭代的等价方程组,对任选一组初始值 ,按某种计算规则,不断地对所得到的值进行修正,最终获得满足精度要求的方程组的近似解。设 非奇异,则线性方程组 有惟一解 ,经过变换构造出一个等价同解方程组将上式改写成迭代式选定初始
2、向量 ,反复不断地使用迭代式逐步逼近方程组的精确解,直到满足精度要求为止。这种方法称为迭代法 如果 存在极限则称迭代法是收敛的,否则就是发散的。收敛时,在迭代公式中当 时,,则,故 是方程组 的解。对于给定的方程组可以构造各种迭代公式。并非全部收敛 例1 用迭代法求解线性方程组 解 构造方程组的等价方程组据此建立迭代公式 取 计算得 迭代解离精确解 越来越远 迭代不收敛 6.2 雅可比与高斯-塞德尔迭代法 6.2.16.2.1 雅可比迭代法算法 例2 用雅可比迭代法求解方程组 解:从方程组的三个方程中分离出 和 建立迭代公式 取初始向量进行迭代,可以逐步得出一个近似解的序列:(k=1,2,)直
3、到求得的近似解能达到预先要求的精度,则迭代过程终止,以最后得到的近似解作为线性方程组的解。当迭代到第10次有计算结果表明,此迭代过程收敛于方程组的精确解x*=(3,2,1)T。考察一般的方程组,将n元线性方程组 写成 若 ,分离出变量 据此建立迭代公式 上式称为解方程组的Jacobi迭代公式。6.2.2 雅可比迭代法的矩阵表示 设方程组 的系数矩阵A非奇异,且主对角元素 ,则可将A分裂成 记作 A=D-L-U 则 等价于即因为 ,则这样便得到一个迭代公式令则有(k=0,1,2)称为雅可比迭代公式,B称为雅可比迭代矩阵雅可比迭代矩阵表示法,主要是用来讨论其收敛性,实际计算中,要用雅可比迭代法公式
4、的分量形式。即(k=0,1,2,)6.2.1 雅可比迭代法的算法实现 6.2.2 高斯-塞德尔(Gauss-Seidel)迭代法高斯-塞德尔迭代法的基本思想 在Jacobi迭代法中,每次迭代只用到前一次的迭代值,若每次迭代充分利用当前最新的迭代值,即在求 时用新分量代替旧分量 ,就得到高斯-赛德尔迭代法。其迭代法格式为:(i=1,2,n k=0,1,2,)例例3 用用GaussSeidel 迭代格式解方程组迭代格式解方程组 精确要求为精确要求为=0.005=0.005 解解 Gauss GaussSeidel Seidel 迭代格式为迭代格式为取初始迭代向量取初始迭代向量 ,迭代结果为:迭代结
5、果为:x*GaussSeidel 迭代法的矩阵表示 将A分裂成A=D-L-U,则 等价于 (D-L-U)x=b 于是,则高斯塞德尔迭代过程 因为 ,所以 则高斯-塞德尔迭代形式为:故 令 定义:设 1.如果A的元素满足称A为严格对角占优阵严格对角占优阵。2.如果A的元素满足且至少一个不等式严格成立,称A为弱对角占优阵弱对角占优阵。6.2.3 雅可比和高斯-塞德尔迭代收敛性定义:设 如果存在置换矩阵P,使得其中,A11为r阶方阵,A22为n-r阶方阵(),则称A为可约矩阵可约矩阵,否则称A为不可约矩阵不可约矩阵。定理9:设 如果1)A为为严严格格对对角角占占优优阵阵,则则雅雅可可比比和和高高斯斯
6、-塞塞德德尔迭代法均收敛;尔迭代法均收敛;2)A为为弱弱对对角角占占优优阵阵,且且A为为不不可可约约矩矩阵阵,则则雅雅可比和高斯可比和高斯-塞德尔迭代法均收敛。塞德尔迭代法均收敛。定理10:设矩阵A对称,且1)雅雅可可比比迭迭代代法法收收敛敛的的充充要要条条件件:A和和2D-A均均为为正定矩阵,其中正定矩阵,其中D=diag(A););2)高斯)高斯-塞德尔迭代法收敛的充分条件:塞德尔迭代法收敛的充分条件:A正定。正定。6.3 超松弛迭代法(SOR方法)使用迭代法的困难在于难以估计其计算量。有时迭代过程虽然收敛,但由于收敛速度缓慢,使计算量变得很大而失去使用价值。因此,迭代过程的加速具有重要意
7、义。逐次超松弛迭代(Successive Over relaxatic Method,简称SOR方法)法,可以看作是带参数的高斯塞德尔迭代法,实质上是高斯-塞德尔迭代的一种加速方法。6.3.1超松弛迭代法的基本思想 超松弛迭代法目的是为了提高迭代法的收敛速度,在高斯塞德尔迭代公式的基础上作一些修改。这种方法是将前一步的结果 与高斯-塞德尔迭代方法的迭代值 适当加权平均,期望获得更好的近似值 。是解大型稀疏矩阵方程组的有效方法之一,有着广泛的应用。其具体计算公式如下:用高斯塞德尔迭代法定义辅助量。把 取为 与 的加权平均,即 合并表示为:式中系数称为松弛因子,当=1时,便为高斯-塞德尔迭代法。为
8、了保证迭代过程收敛,要求0 2。当0 1时,低松弛法;当1 2时称为超松弛法。但通常统称为超松弛法(SOR)。6.3.2 超松弛迭代法的矩阵表示设线性方程组 Ax=b 的系数矩阵A非奇异,且主对角元素 ,则将A分裂成A=d-L-U,则超松弛迭代公式用矩阵表示为或 故 显然对任何一个值,(D+L)非奇异,(因为假设 )于是超松弛迭代公式为 令则超松弛迭代公式可写成 例例4 用用SOR法求解线性方程组法求解线性方程组 取取=1.46,要求,要求 解:SOR迭代公式 k=0,1,2,,初值 该方程组的精确解只需迭代20次便可达到精度要求 如果取=1(即高斯塞德尔迭代法)和同一初值 ,要达到同样精度,
9、需要迭代110次 6.3.2 迭代法的收敛性迭代法的收敛性 我们知道我们知道,对于给定的方程组可以构造成对于给定的方程组可以构造成简单迭代公式、雅可比迭代公式、高斯简单迭代公式、雅可比迭代公式、高斯-塞德塞德尔迭代公式和超松弛迭代公式,但并非一定尔迭代公式和超松弛迭代公式,但并非一定收敛。现在分析它们的收敛性。收敛。现在分析它们的收敛性。对于方程组对于方程组 经过等价变换构造出的等价方程组经过等价变换构造出的等价方程组 在什么条件下迭代序列在什么条件下迭代序列 收敛?收敛?基本定理基本定理5 5 迭代公式迭代公式 收敛收敛的的充分必要条件充分必要条件是迭代矩阵是迭代矩阵G的谱半径的谱半径证:必
10、要性 设迭代公式收敛,当k时,则在迭代公式两端同时取极限得记 ,则 收敛于0(零向量),且有 于是 由于 可以是任意向量,故 收敛于0当且仅当 收敛于零矩阵,即当 时 于是 所以必有 充分性充分性:设设 ,则必存在正数则必存在正数,使使则存在某种范数则存在某种范数 ,使使 ,则则 ,所以所以 ,即即 。故。故 收敛于收敛于 0,收敛于收敛于 由此定理可知,不论是雅可比迭代法、高斯由此定理可知,不论是雅可比迭代法、高斯塞德尔迭代法还是超松弛迭代法,它们收敛的塞德尔迭代法还是超松弛迭代法,它们收敛的充要条件是其迭代矩阵的谱半径充要条件是其迭代矩阵的谱半径 。事实上事实上,在例在例1中中,迭代矩阵迭
11、代矩阵G=,其特征多项式为其特征多项式为,特征值为特征值为-2,-3,,所以迭代发散所以迭代发散 定理定理6(6(迭代法收敛的充分条件迭代法收敛的充分条件)若迭代矩阵若迭代矩阵G G的一种范数的一种范数 ,则迭代公式则迭代公式收敛收敛,且有误差估计式且有误差估计式及及 证证:矩阵的谱半径不超过矩阵的任一种范数矩阵的谱半径不超过矩阵的任一种范数,已知已知 ,因此因此 ,根据定理根据定理4.94.9可知可知迭代公式收敛迭代公式收敛又因为又因为 ,则则det(I-G)0,I-G为非奇异矩阵为非奇异矩阵,故故xGxd有惟一解有惟一解 ,即即与迭代过程与迭代过程 相比较相比较,有有两边取范数两边取范数
12、由迭代格式,有由迭代格式,有 两边取范数,代入上式,得两边取范数,代入上式,得 证毕证毕 由定理知,当由定理知,当 时,其值越小,迭代时,其值越小,迭代收敛越快,在程序设计中通常用相邻两次迭代收敛越快,在程序设计中通常用相邻两次迭代 (为给定的精度要求)作为为给定的精度要求)作为控制迭代结束的条件控制迭代结束的条件 例例5 5 已知线性方程组已知线性方程组 考察用考察用JacobiJacobi迭代和迭代和G-SG-S迭代求解时的收敛性迭代求解时的收敛性解解:雅可比迭代矩阵雅可比迭代矩阵 故故JacobiJacobi迭代收敛迭代收敛 将系数矩阵分解将系数矩阵分解 则高斯则高斯-塞德尔迭代矩阵塞德
13、尔迭代矩阵 故高斯故高斯塞德尔迭代收敛。塞德尔迭代收敛。33例例:给出方程组:给出方程组 其中其中问问:分别利用分别利用Jacobi迭代法和迭代法和Gauss-Seidel迭代法是否收敛迭代法是否收敛.解:解:对对而而即即所以,对所以,对Jacobi方法收敛,方法收敛,G-S方法发散方法发散 同理,对于同理,对于其中其中即得而则所以,对Jacobi方法发散,G-S方法收敛.说明,说明,Jacobi方法和方法和G-S方法的收敛条件方法的收敛条件大多数是互不包含的大多数是互不包含的.定理定理1212 对于线性方程组AxAx=b b,若A A为对称正定矩阵,则当02时,SOR迭代收敛.证明证明 只需
14、证明1(其中为L的任一特征值).定理定理1313 对于线性代数方程组Ax=b,若A按行(或列)严格对角占优,或按行(或列)弱对角占优不可约;则当0w1时,SOR迭代收敛。例例6 设设 ,证明证明,求解方程组求解方程组 的的JacobiJacobi迭代与迭代与G-SG-S迭代同时收敛或发散迭代同时收敛或发散 证证:雅可比迭代矩阵雅可比迭代矩阵 其谱半径其谱半径 例例6设设 ,证明证明,求解方程组求解方程组 的的JacobiJacobi迭代与迭代与G-SG-S迭代同时收敛或发散迭代同时收敛或发散 证证:G-S:G-S迭代矩阵迭代矩阵 其谱半径其谱半径 显然显然,和和 同时小于、等于或大于同时小于、
15、等于或大于1,1,因而因而JacobiJacobi迭代法与迭代法与G-SG-S迭代法具有相同的收敛性迭代法具有相同的收敛性 例例 7 考察用考察用雅可比迭代法和雅可比迭代法和高斯高斯-塞德尔迭代塞德尔迭代 法解线性方程组法解线性方程组Ax=bAx=b的收敛性,其中的收敛性,其中解:解:先计算迭代矩阵先计算迭代矩阵求特征值求特征值雅可比矩阵雅可比矩阵 (B)=0 1)=21 用高斯用高斯-塞德尔迭代塞德尔迭代法求解时,迭代过程发散法求解时,迭代过程发散高斯高斯-塞德尔迭代矩阵塞德尔迭代矩阵求特征值求特征值 Ax=b的系数矩阵按行严格对角占优的系数矩阵按行严格对角占优,故故高斯高斯-塞德尔迭代收敛
16、塞德尔迭代收敛例例9 设有迭代格式设有迭代格式 X(k+1)=B X(k)+g (k=0,1,2)其中其中B=I-A,如果如果A和和B的特征值全为正数,的特征值全为正数,试证:该迭代格式收敛。试证:该迭代格式收敛。分析:根据A,B和单位矩阵I之间的特征值的关系导出()1,从而说明迭代格式收敛。证:因为B=I-A,故(B)=(I)-(A)=1-(A)(A)+(B)=1 由于已知(A)和(B)全为正数,故 0(B)1,从而(B)1 所以该迭代格式收敛。当当a a11时时,Jacobi矩阵矩阵 G GJ J 1,1,对初值对初值x x(0)(0)均收敛均收敛例例10 设设 方程组方程组 写出解方程组
17、的写出解方程组的Jacobi迭代公式和迭代矩阵迭代公式和迭代矩阵 并讨论迭代收敛的条件。并讨论迭代收敛的条件。写出解方程组的写出解方程组的Gauss-Seidel迭代矩阵迭代矩阵,并讨并讨 论迭代收敛的条件。论迭代收敛的条件。解解 Jacobi迭代公式和迭代公式和Jacobi矩阵分别为矩阵分别为 例例 10设设 方程组方程组 写出解方程组的写出解方程组的Gauss-Seidel迭代矩阵,并讨论迭代矩阵,并讨论 迭代收敛的条件。迭代收敛的条件。解解 Gauss-Seidel矩阵为矩阵为 当时当时a a11时时,Gauss-Seidel,Gauss-Seidel矩阵矩阵 G Gs s 1,1,所以
18、对任意初值所以对任意初值x x(0)(0)均收敛。均收敛。也可用矩阵的谱半径也可用矩阵的谱半径p(GS)1来讨论来讨论解:解:先计算迭代矩阵先计算迭代矩阵例例11 讨论用讨论用雅可比迭代法和雅可比迭代法和高斯高斯-塞德尔迭代塞德尔迭代 法解线性方程组法解线性方程组Ax=bAx=b的收敛性。的收敛性。求特征值求特征值雅可比矩阵雅可比矩阵 (B)=1 用用雅可比迭代法求解时,迭代过程不收敛雅可比迭代法求解时,迭代过程不收敛 1=-1,2,3=1/2求特征值求特征值高斯高斯-塞德尔迭代矩阵塞德尔迭代矩阵 (G1)=0.3536 1 用用高斯高斯-塞德尔迭代塞德尔迭代法求解时,迭代过程收敛法求解时,迭
19、代过程收敛 1=0,求解求解AX=b,AX=b,当当 取何取何值时迭代收敛?值时迭代收敛?解解:所给迭代公式的迭代矩阵为所给迭代公式的迭代矩阵为 例例12 12 给定线性方程组给定线性方程组 AX=b AX=b 用迭代公式用迭代公式 X X(K+1)(K+1)=X=X(K)(K)+(b-A(b-AX X(K)(K)(k=0,1,)(k=0,1,)即即 2-(2-5 )+1-5 +4+4 2 2=0=0 2-(2-5 )+(1-)(1-4)=0)=0 -(1-)-(1-4)=0=0 1=1-2=1-4 (B)=max|1-|,|1-4|1取取0 1/21/2迭代收敛迭代收敛 本章小结本章小结本章
20、介绍了解线性方程组本章介绍了解线性方程组 迭代法的迭代法的一些基本理论和具体方法。迭代法是一种逐次逼一些基本理论和具体方法。迭代法是一种逐次逼近的方法,即对任意给定的初始近似解向量,按近的方法,即对任意给定的初始近似解向量,按照某种方法逐步生成近似解序列,使解序列的极照某种方法逐步生成近似解序列,使解序列的极限为方程组的解。注意到在使用迭代法限为方程组的解。注意到在使用迭代法解方程组时,其迭代矩阵解方程组时,其迭代矩阵B B和迭代向量和迭代向量f f在计算过在计算过程中始终不变程中始终不变,迭代法具有循环的计算公式迭代法具有循环的计算公式,方法方法简单,程序实现方便,它的优点是能充分利用系简单
21、,程序实现方便,它的优点是能充分利用系数的稀疏性数的稀疏性,适宜解大型稀疏系数矩阵的方程组。适宜解大型稀疏系数矩阵的方程组。迭代法不存在误差累积问题。使用迭代法的迭代法不存在误差累积问题。使用迭代法的关键问题是其收敛性与收敛速度,收敛性与迭代关键问题是其收敛性与收敛速度,收敛性与迭代初值的选取无关,这是比一般非线性方程求根的初值的选取无关,这是比一般非线性方程求根的优越之处。在实际计算中,判断一种迭代格式收优越之处。在实际计算中,判断一种迭代格式收敛性较麻烦,由于求迭代的谱半径时需要求特征敛性较麻烦,由于求迭代的谱半径时需要求特征值,当矩阵的阶数较大时,特征值不易求出,通值,当矩阵的阶数较大时,特征值不易求出,通常采用矩阵的任一种范数都小于常采用矩阵的任一种范数都小于1 1或对角占优来判或对角占优来判断收敛性。有时也可边计算边观察其收敛性。如断收敛性。有时也可边计算边观察其收敛性。如何加快迭代过程的收敛速度是一个很重要的问题何加快迭代过程的收敛速度是一个很重要的问题,实用中更多的采用,实用中更多的采用SORSOR法,选择适当的松驰因子法,选择适当的松驰因子有赖于实际经验。我们应针对不同的实际问题有赖于实际经验。我们应针对不同的实际问题,采用适当的数值算法。,采用适当的数值算法。