1、第第3 3章章 解线性方程组迭代法解线性方程组迭代法 迭代法基本思想是,把n元线性方程组(3.1)或 Ax=b改写成等价方程组 ,或x=Mx+g 迭代法是从某一取定初始向量x x(0)出发,按照一个适当迭代公式,逐次计算出向量x x(1),x x(2),使得向量序列x x(k)收敛于方程组准确解.迭代法是一类逐次近似办法.其长处是,算法简便,程序易于实现.第1页第1页由此建立方程组迭代公式 x(k+1)=Mx(k)+g,k=0,1,2,(3.2)其中M称为迭代矩阵迭代矩阵。对任意取定初始向量x x(0),由(3.2)式可逐次算出迭代向量x x(k),k=1,2,假如向量序列x(k)收敛于x*,
2、由(3.2)式可得 x*=Mx*+g 从而x x*是方程组x=Mx+g解,也就是方程组Ax=b解.这种求解线性方程组办法称为迭代法迭代法 ,若迭代序列x(k)收敛,则称迭代法收敛,不然称迭代法发散.1 Jacobi迭代法和迭代法和Gauss-Seidel迭代法迭代法 Jacobi办法是由方程组(3.1)中第k个方程解出x x(k),得到等价方程组:第2页第2页从而得迭代公式第3页第3页式(3.3)称为JacobiJacobi迭代法迭代法,简称为J J迭代法迭代法.,则J迭代法可写成 x x(k+1)=BxBx(k)+g g k=0,1,2,可见,J J迭代法迭代矩阵为若记 J J法也记为第4页
3、第4页G-SG-S迭代法也可记为式(3.4)称为Gauss-SeidelGauss-Seidel迭代法迭代法,简称为G-SG-S迭代法迭代法.若在J J迭代法中,充足利用新值,则能够得到下列迭代公式第5页第5页方程组准确解为x x*=(1,1,1)T.解解 J J迭代法计算公式为例例1 用J法和G-S法求解线性方程组取初始向量x x(0)=(0,0,0)T,迭代可得计算结果列表下列:第6页第6页可见,迭代序列逐次收敛于方程组解,而切迭代7次得到准确到小数点后两位近似解.kx1(k)x2(k)x3(k)x(k)-x*0123456701.41.110.9290.99061.011591.0002
4、510.998236400.51.201.0550.96450.99531.0057951.000125501.41.110.9290.99061.011591.0002510.998236410.50.20.0710.03550.011590.0057950.0017636 G-S G-S迭代法计算公式为:第7页第7页 同样取初始向量x x(0)=(0,0,0)T,计算结果为 由计算结果可见,G-S迭代法收敛较快.取准确到小数点后两位近似解,G-S迭代法只需迭代3次,而J迭代法需要迭代7次.kx1(k)x2(k)x3(k)x(k)-x*012301.41.06340.995104400.78
5、1.020480.9952756801.0260.9875161.0019068610.40.06340.0048956 第8页第8页 为了进一步研究,从矩阵角度来讨论上述迭代法.对线性方程组AxAx=b b,记 D D=diag(a11,a22,ann)则有 A A=D D-L L-U U于是线性方程组 AxAx=b b 可写成 (D D-L L-U U)x x=b b等价于 DxDx=(L L+U U)x x+b b 或或 x x=D D-1(L L+U U)x x+D D-1b b 第9页第9页由此建立J J迭代法迭代公式 x x(k+1)=D D-1(L L+U U)x x(k)+D
6、D-1b b k=0,1,2,或写成 x x(k+1)=BxBx(k)+g g k=0,1,2,其中G-SG-S迭代法迭代公式可写成 x x(k+1)=D D-1LxLx(k+1)+D D-1UxUx(k)+D D-1b b 第10页第10页 讨论迭代法 x(k+1)=Mx(k)+g k=0,1,2,Dx Dx(k+1)=LxLx(k+1)+UxUx(k)+b b (D D-L L)x x(k+1)=UxUx(k)+b b x x(k+1)=(D D-L L)-1UxUx(k)+(D D-L L)-1b b 因此G-SG-S迭代法能够写成 x x(k+1)=GxGx(k)+g g k=0,1,
7、2,其中 G G=(D D-L L)-1U U,g g=(D D-L L)-1b b 2 2 迭代法收敛性迭代法收敛性收敛性.第11页第11页 记误差向量e e(k)=x x(k)-x x*,则迭代法收敛就是e e(k)0 0.由于 x(k+1)=Mx(k)+g k=0,1,2,x*=Mx*+g k=0,1,2,因此 e(k+1)=Me(k),k=0,1,2,递推可得 e(k)=Mke(0),k=0,1,2,可见,当k时,e e(k)0 0 Mk O O.对任意初始向量x x(0),迭代法收敛(M)1.定理定理3.1 证证 若Mk0,则k(M)=(Mk)Mk0,因此(M)1.若(M)0,使得(
8、M)+1.则MkMk(M)+)k 0.第12页第12页 若若M1,则对任意x x(0),迭代法收敛,并且 定理定理3.2 证证 由于 x(k+1)=Mx(k)+g x(k)=Mx(k-1)+g x*=Mx*+g因此 x(k+1)-x(k)=M(x(k)-x(k-1),x(k+1)x*=M(x(k)x*)于是有 x(k+1)-x(k)Mx(k)-x(k-1)x(k+1)x*Mx(k)x*x(k)x*=(x(k)x(k+1)+(x(k+1)x*)x(k)x(k+1)+x(k+1)x*第13页第13页 x(k)x*Mx(k)x(k-1)+Mx(k)x*因此 定理3.2只是收敛充足条件,并不必要,如则
9、M1=1.2,M=1.3,M2=1.09,MF=1.17但(M)=0.81,因此相应迭代法是收敛.由(3.5)式可见,x(k)-x(k-1)很小时,x(k)x*就很小,事实上用x(k)-x(k-1)作为迭代终止条件。第14页第14页比如,例1中J-法计算结果下列:kx1(k)x2(k)x3(k)x(k)-x*0123456701.41.110.9290.99061.011591.0002510.998236400.51.201.0550.96450.99531.0057951.000125501.41.110.9290.99061.011591.0002510.998236410.50.20.
10、0710.03550.011590.0057950.0017636x(6)-x(5)=0.011339,x(7)x(6)=0.0056695 由(3.6)式可得:第15页第15页若使x(k)x*,只需能够事先预计达到某一精度需要迭代多少步。,即 用J J迭代法求例1中方程组解,取x(0)=(0,0,0)T,若使误差x(k)-x*10-5,问需要迭代多少次?解解 由例1知,x x(1)=(1.4,0.5,1.4)T,于是有,x x(1)-x x(0)=1.4,B B=0.5.例例2 k应满足故取k=19,即需要迭代19次.第16页第16页3 J3 J迭代法和迭代法和G-SG-S迭代法收敛性迭代法
11、收敛性 定理定理3.33.3 J J迭代法收敛(B)1;若B1J J迭代法收敛;G-SG-S迭代法收敛(G)1;若G1 G-SG-S迭代法收敛;定义定义3.13.1 若n阶矩阵A=(aij)满足:则称矩阵A是严格对角占优矩阵严格对角占优矩阵.引理引理 若A是严格对角占优矩阵,则det(A)0.证证 A=D-L-U=D(E-D-1(L+U)=D(E-B)第17页第17页因此,(B)B1,故=1不是B B特性值,det(E E-B B)0。定理定理3.43.4 设A是严格对角占优矩阵,则解线性方程组Ax=bJ J迭代法和G-SG-S迭代法均收敛。由于A是严格对角占优矩阵,因此det(D)0,并且因
12、此,det(A)0.证证 由于B1,因此J J迭代法收敛。设是G G任一特性值,则满足特性方程第18页第18页 det(E-G)=det(E-(D-L)-1U)因此有 det(D-L)-U)=0 若|1,则矩阵(D-L)-U 是严格对角占优矩阵,这与 det(D-L)-U)=0矛盾,因此|1,于是(G)1时称为超松弛迭代超松弛迭代,当当1时称为欠松弛迭代欠松弛迭代.其矩阵形式 x(k+1)=x(k)+D-1(b+Lx(k+1)+(U-D)x(k),k=0,1,2,于是有 Dx(k+1)=Dx(k)+(b+Lx(k+1)+(U-D)x(k)因此 x(k+1)=(D-L)-1(1-)D+Ux(k)
13、+(D-L)-1b ,k=0,1,2,因此,SOR办法迭代矩阵为 =(D-L)-1(1-)D+U第22页第22页 SORSOR办法收敛()1;若 1,则SORSOR办法收敛.定理定理3.73.7 若SORSOR办法收敛,则02.定理定理3.6 证证 设SORSOR办法收敛,则()1,因此|det()|=|12 n|1而 det()=det(D-L)-1(1-)D+U)=det(E-D-1L)-1 det(1-)E+D-1U)=(1-)n于是|1-|1,或 02第23页第23页定理定理3.8 设A是严格对角占优矩阵,则解方程组Ax=bSORSOR办法,当01时收敛.定理定理3.93.9 设A是对
14、称正定矩阵,则解方程组Ax=bSORSOR办法,当00 (Uy,y)=(y,Ly)=(Ly,y)=-i 0(Ay,y)=(Dy,y)-(Ly,y)-(Uy,y)=-2因此当02时,有 (-+)2-(-)2=(2-)(2-)=(2-)(2-)0因此|21,因此()1,即S0R办法收敛.第25页第25页可得 =2/设是B任一特性值,y是相应特性向量,则 (L+U)y=Dy于是 (Ly,y)+(Uy,y)=(Dy,y)当A对称正定期,即2-0时,|0而 (2D-A)y,y)=(Dy,y)+(Ly,y)+(Uy,y)=+2即,当A对称正定期,JacobiJacobi迭代法收敛2D-A正定.SORSOR
15、办法收敛快慢与松弛因子选择有密切关系.但是如何选取最佳松弛因子,即选取=*,使()达到最小,是一个尚未较好处理问题.事实上可采用试算办法来拟定较好松弛因子.经验上可取1.41.6.第26页第26页 用SORSOR办法解线性方程组 解解 SOR SOR办法迭代公式为方程组准确解是x x*=(2,1,-1)T.例例4取x x(0)=(0,0,0)T,=1.46,计算结果下列:第27页第27页kx1(k)x2(k)x3(k)01232003.652.321669102.56613991.999998700.88458820.42309390.69482611.00000130-0.098-0.222
16、43214-0.4952594-1.0000034 从结果可见,迭代20次时已取得准确到小数点后五位近似解.假如取=1.25,则需要迭代56次才干得到含有同样精度近似解;假如取=1,则需迭代110次以上.第28页第28页练习题练习题第第75页页 习题习题33-2,3-3,3-4,3-7,3-8,3-9第29页第29页设线性方程组 (1)写出Jacobi法和SOR法迭代格式(分量形式);(2)讨论这两种迭代法收敛性.(3)取初值x(0)=(0,0,0)T,若用Jacobi迭代法计算时,预估误差x*-x(10)(取三位有效数字).课堂练习课堂练习第30页第30页 (2)由于A是严格对角占优矩阵,但不是正定矩阵,故Jacobi法收敛,SOR法当01时收敛.解解 (1)(1)Jacobi法和SOR法迭代格式分别为 (3)由(1)可见B=3/4,且取x(0)=(0,0,0)T,经计算可得x(1)=(1/4,-2/5,1/2)T,于是x(1)-x(0)=1/2,因此有第31页第31页用SOR法求解方程组:分别取=0.65、1、1.2、1.45计算.要求精度为10-6;并指出迭代次数。上机试验题目上机试验题目(参考P66解线性方程组SOR迭代算法)第32页第32页课间休息课间休息第33页第33页