1第四节解线性方程组的超松弛迭代法2©2009,HenanPolytechnicUniversity2§4解线性方程组的超松弛迭代法第八章解线性方程组的迭代法SOR迭代法是Gauss—Seidel迭代法的一种修正,可由下述思想得到.设已知x(k)及已计算x(k+1)的分量xj(k+1)(j=1,2,,i-1).).~(~)1()()1()()1()()1(kikikikikikixxxxxx(1)首先用Gauss—Seidel迭代法定义辅助量,)1(~kix./)(~1)(11)1()1(iinijkjijijkjijikiaxaxabx(2)再由与加权平均定义,即)1(~kix)(kix)1(kix建立迭代格式如下:3©2009,HenanPolytechnicUniversity3§4解线性方程组的超松弛迭代法第八章解线性方程组的迭代法).,,2,1(),~(~)1(,/)(~)()1()()1()()1(1)(11)1()1(nixxxxxxaxaxabxkikikikikikiiinijkjijijkjijiki即niaxaxabxxiinijkjijijkjijikiki,,2,1./)()(11)1()()1(0为松弛因子4©2009,HenanPolytechnicUniversity4§4解线性方程组的超松弛迭代法第八章解线性方程组的迭代法也可写作:).,,2,1(/)(,,),,()(11)1()()1()0()0(1)0(niaxaxabxxxxxxxiinijkjijijkjijiiikikiTnniaxaxabxxiinijkjijijkjijikiki,,2,1./)()(11)1()()1(此即为解Ax=b的逐次超松弛迭代法(SuccessiveOverRelaxationMethod,简称SOR方法).5©2009,HenanPolytechnicUniversity5§4解线性方程组的超松弛迭代法第八章解线性方程组的迭代法,])1[()()()1(bxUDxLDkk).()()()1()()1(kkkkkDxUxLxbDxDxniaxaxabxxiinijkjijijkjijikiki,,2,1./)()(11)1()()1(矩阵表示为:.)(])1[()(1)(1)1(bLDxUDLDxkk其逐次超松弛迭代矩阵为].)1[()(1UDLDB逐次超松弛法可写为矩阵形式6©2009,HenanPolytechnicUniversity6§4解线性方程组的超松弛迭代法第八章解线性方程组的迭代法(1)显然,当=1时即为Gauss—Seidel迭代法.(2)SOR方法每迭代一次主要运算量是计算一次矩阵与向量的乘法.(3)当1时,称为超松弛法;当1时,称为低松弛法.(4)在计算机实现时可用)()1(11maxmaxkikiniinixxx控制迭代终止,或用)()(kkAxbr控制迭代终止.7©2009,HenanPolytechnicUniversity7§4解线性方程组的超松弛迭代法第八章解线性方程组的迭代法例用SOR方法解线性方程组Ax=b12344111114111.1141111141xxxx解取初始向量x(0)=0,迭代公式为它的精确解为x*=(-1,-1,-1,-1)T.(1)()()()()()111234(1)()()()()()221234(1)()()()()()331234(1)()()()()()441234(14)/4,(14)/4,(14)/4,(14)/4.kkkkkkkkkkkkkkkkkkkkkkkkxxxxxxxxxxxxxxxxxxxxxxxx8©2009,HenanPolytechnicUniversity8§4解线性方程组的超松弛迭代法第八章解线性方程组的迭代法取=1.3,第11次迭代结果为(11)(0.99999646,1.00000310,0.99999953,0.99999912),Tx(11)520.4610.满足误差迭代次数k1.01.11.21.31.41.51.61.71.81.922171211(最少迭代次数)1417233353109()5210.k对取其它值,迭代次数如表.从此例看到,松弛因子选择得好,会使SOR迭代法的收敛大大加速.本例中=1.3是最佳松弛因子.