Gauss-Seidel迭代矩阵求法的思考_第1页
Gauss-Seidel迭代矩阵求法的思考_第2页
Gauss-Seidel迭代矩阵求法的思考_第3页
Gauss-Seidel迭代矩阵求法的思考_第4页
Gauss-Seidel迭代矩阵求法的思考_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Gauss-Seide迭代矩阵求法的思考在迭代法收敛性的判别中,我们有充分条件:若迭代矩阵B的某种范数怛1=q<1,贝U迭代法x(k*)=Bx的+d,k=0,1,对任意的初始向量x(0)都收敛于方程组Ax=b的精确解x*。从这个条件中我们可以看出,想要知道迭代法是否收敛,就要知道迭代矩阵(当然如果系数矩阵是正定的或严格对角占优的,那就不用知道其迭代矩阵,因为这时它的Jacobi迭代和Gauss-Seidel迭代一定收敛),Jacobi迭代矩阵为Bj=D,(L+U)=I-D/A,Gauss-Seidel迭代矩阵Bg=-(D+L),U,这两个矩阵中都涉及到了矩阵的逆从上高等代数时学到矩阵的逆

2、开始,就一直惧怕有关矩阵逆的题目,因为求矩阵A的逆Aa1=A*=.一.*A,这就必须求出A的行列式A与A的伴随矩阵A,对于求矩阵A的行列式,就是一个繁琐的过程,计算量大且易出错,而这儿还不仅如此,这儿还要求出矩阵A的伴随矩阵Ao如果矩阵a11a2a1na21a22a2naaa,则t3n1an2annA=A11A21.*A12A22A=AinA2na11An1aAn2,而具中的Aj=ai,1ai书,1Annan1&,j1ma1,j1man9a1ai,j1-ai,nai1,j1-ai1,j1-ai1,naan,j1an,j1-ann因此求A*的计算量比求A的行列式的计算量还要大的多,所以A

3、,很难求。因此数学家便开始寻找求A,的相对容易的方法,其中有一种初等变换的方法,即对(AE世行初等行变换,当把A变成E时,E便变成了A,,此方法要简单的多,但在变换过程中要消耗大量空间。在用迭代法解线性方程组的方法中,都涉及到了一个矩阵的逆,而且其涉及到的还不仅仅是一个矩阵的逆那么简单,其涉及到的是用一个矩阵的逆去乘另一个矩阵,如果一步一步算,想要算出矩阵的逆,再算两个矩阵相乘,没有一步是简单的,两步计算过程都很繁琐,极易出错。仔细观察后,我发现正是因为矩阵的逆与另一矩阵相乘,从而在整体上出现了相对简单的计算,其过程是略去矩阵逆的计算,从而简化计算。aiiXi,812X2'"

4、-amXn=b1对于n介线性方程组:,即Ax=b,其系数矩阵RniXi+an2X2+8nnXn=。A=3ijK非奇异且a.#0(i=i,2,3,,n),对k=0,i,2,则可建立Jacobi迭代格式:Xi(ki)ki)(ki)Xni/(k)(k)(k)(-ai2X2ai3X3-ainXnbl),aiii/(k)(k)(k)(-a2iXia23X3-a2nXnb2),a22(-aniXi-an2X2-_an,nJXn1bn)-ann我们知道Jacobi迭代矩阵为Bj=-D/(L+U)=I-D/A(2),其中aiia220ai2a13ain0a23a2nU0工:*an,nI00a2i0L=a3ia

5、320aa+,+.anian2an,n,0(3)。由式可看出,计算Bj,首先需求出D。然后再作矩阵乘法。当然这儿由"an于D的特殊性,Da很好求,D-*=a22ia22ann10a12-a11ai3aiiain1a11a2ia23a2n0iaiia22a22Bj=I-DA=a3ia320_S3n_a33a33a33-sama*,Banian2an301annannann就会发现,其实Bj可以直接写出来,无需0ai2-a11a2i0aii计算,由可得Bj=a31a32a33aa33aanian2如果我们抛开式,直接看,_ain_1aiia11a23a2na22a220一.a3n,其直接

6、从线a33a+.a_an30ann_annann性方程组中得来,显然快于一步步的计算,而且第二中算法不仅简单还不容易出错,提高了求迭代矩阵的效率。当然,第一种算法的D可以直接写出很好求,从而效率也没提高多少,但对于Gauss-Seidel迭代,就不然了。Xi(k1)(-ai2x2k)-ai3x3k)k1)an1-a1nxnk)-bi),a22(-a2ixi(k1)-a23x3k)-a2nxnk)-b2),(k1)xn1z(ki)(ki)一(-anixi-an2x2ann(k1)-an,n4Xn/bn).我们知道Gauss-Seidel迭代矩阵Bg=(D+L),U(5),其中矩阵D,L,U与上述

7、中一样。但此处(D+L),就不是太好求了,即使它是个下三角矩阵。然而求出(D+L)”后,还要进行矩阵的乘法,因为区=-(D+L)“U即:Gauss-Seidel迭代格式:a2ia22Bg=(D+L)U=a3ia32a33janian2an3I0&2ai30a23I0annaina2naan,n0计算有点繁琐,然而,我产生一种想法,其是否也可与Jacobi迭代矩阵那样,直接写出来了?通过一番计算,再加上实例的体会,我找出了一种相对简洁的关系。把式写成xi(ki)=(-ai2x2k)-ai3x3k)-sinxnk)-h)iaii(ki)(ki)(k)(k)a22x2-a2ixia23x3-

8、a2nxnb22(k+)(k*(k书).(Ui),、fnnxn=-anixi-an2x2-an,n,Xn*bnn)把i)代入2)并整理得(由于我们的目的是得到矩阵,所以在此就不考虑以心,,bn了)a22x2ki)=(毋*3)x2k)aii'("a2i,-阻拓。,aii(-a2i*R-a2n)xnk)aii2')令bi2=一呢.=一加,,bin=一'1n,则i)变为Xi(k+)=bi2x2k)+h3x3k)+b1n姆aiiaiiaii(-a2i*hn-a2n)/a22xnk)。此时2')式变为x2k"=(-a2i*bi2)/a22x2k)(fi

9、3-a23)/a22x3k)2A)。令b22=-a21bl2,b23=-a21bi3-a23,,b2n=-a21b1n-a2n,则2A)式变为a22a22a22(k+)u(k)x,(k).(k)。把、式代入3)式整理得x2=>2乂2飞23乂3飞2/门(k1).(k)(k)a33x3-(a31bi2-a32b22)x2(-a31bi3-a32b23)x33')a31b12-a32b22.,b33-a31b13a32b23,b34a31b14-a32b24-a34a33a33a33-a31bin-a32b2n-a3na33则3')式变为必的=b32x2k)+b33x3&quo

10、t;+b34x4k)+b3nXnk)如此一直在前一步的基础上求后一步矩阵中的元素的值,一直进行下去,则n-1)式变为xnk=0,2$2+4/21+a-nxnk)则第n个式子变为annxn)=(-an,1b12-an,2b22-_an,nJbnd,2)x2),(-an,1b13-an,2b23-an,nJbnJ,3)x3)(-an,1b1,n-an,2b2,n-an,n二bi,n)xn=bn,2x2k)bn,3x3k)bn,4x4k)bn,nx(k)n从而得到Gauss-Seidel迭代矩阵b12b22bl3b23bb2一0b12b1nl10-a12-a1nBg03b22b2n9=01a11b2

11、2sa11asb2nm0bn2bnn_10bn2bnn.0b12b13-bina21b12-a21b13一a23a21bln-a2n00Ia22a22a220bn2bn3.bnn一a31bl2-a32b22一a31b1n一a32b2n-a3na33a33,%+b,naaa-a,1b1,iJL_ai,iJ,bJJ-a,1b,T"一小力山书一小斗-ai,1b,n=,'一2,ijb_|,n-"na,iai,iai,iiaabn,ibnJ+bn,n1b12b13b1nb22b23b2nb32b33b3naaa-an,1b12an,nbn2-an,1b13an,n'b

12、n,3-an,1b1nan,nbnnan,nan,nan,n0-0010-000接下来我用书上一个例子来展现上述方法求迭代矩阵的优越性:8x1x2-2x3=9,例设方程组为43x1-10x2+x3=19,试分别写出Jacobi迭代和5x1-2x2+20x3=72,Gauss-Seidel迭代格式以及相应的迭代矩阵。解:原方程的Jacobi迭代格式和Gauss-Seidel迭代格式分别为(k1)Xi(k1)X2(k1)X3(-x2k)2x3k)9),8(-3x1(k)-x3k)+19),和10(-5x1(k)-2x2k),72),20x2k1)=k1)x1(k1)(-x2k)2x3k)8-(-3

13、x1(k1)-x3k1)19),101(-5娟2x2k1)72),20由可直接得Jacobi迭代矩阵为Bj=0.3140.140.1而相应的Gauss-Seidel迭代矩阵可由(*)式得:-3Bg二1811)I<8J10b321143-1410b33-0.125-0.0375-5(-0.125)2(-0.0375)0.250.175-50.2520.1752020-00-0-0.125-0.03750.02750.250.175-0.045与书上用公式算所得结果相同,但这种计算显然很简洁。对于3阶以上的迭代矩阵的计算,我的方法将会节约大量时间,而且还不容易出错。以上我们讨论的是方阵,但从

14、(*)式可以看出,我们也可以求出不是方阵的Bg,这便给人一种想法,是否不是方阵时也可用迭代法求其解,但有一点是肯定的,当方程个数少于未知数个数时,线性方程组有无穷多解,因此这个问题有可能是否定的,即无法用迭代法求系数矩阵不是方阵的解,此问题还有待研究。以下是我写的有关我的新方法的matlab代码,其中也包含书上的方法求迭代矩阵的代码,我输入一个四阶的系数矩阵,由两种方法所得出的Gauss-Seidel迭代矩阵完全相同。Matlab代码:%<Gauss-Seidel矩阵functionG_SB(A)m,n=size(A);ifm=ndisp('系数矩阵不是方阵)returnend%

15、用矩阵运算求Gauss-Seidel迭代矩阵D=diag(diag(A);U=-triu(A,1);L=tril(A,-1);disp('矩阵运算求出的迭代矩阵')B1=inv(D+L)*U,%B=zeros(m,n);forj=2:nB(1,j)=-A(1,j)/A(1,1);endfori=2:mforj=2:nk=1:i-1;ifi>=jB(i,j)=sum(-A(i,k)*B(k,j)/A(i,i);continueendB(i,j)=(sum(-A(i,k)*B(k,j)-A(i,j)/A(i,i);endenddisp(直接法求出的迭代矩阵)B,end给定系数矩阵,并得结果:>>A=51-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论