Gauss-Seidel迭代矩阵求法的思考.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Gauss-Seidel迭代矩阵求法的思考Gauss-Seidel迭代矩阵求法的思考

Gauss-Seidel迭代矩阵求法的思考 在迭代法收敛性的判别中,我们有充分条件:若迭代矩阵的某种范数,则迭代法 对任意的初始向量都收敛于方程组的精确解。从这个条件中我们可以看出,想要知道迭代法是否收敛,就要知道迭代矩阵(当然如果系数矩阵是正定的或严格对角占优的,那就不用知道其迭代矩阵,因为这时它的Jacobi迭代和Gauss-Seidel迭代一定收敛),Jacobi迭代矩阵为,Gauss-Seidel迭代矩阵这两个矩阵中都涉及到了矩阵的逆。 从上高等代数时学到矩阵的逆开始,就一直惧怕有关矩阵逆的题目,因为求矩阵A的逆,这就必须求出A的行列式与A的伴随矩阵,对于求矩阵A的行列式,就是一个繁琐的过程,计算量大且易出错,而这儿还不仅如此,这儿还要求出矩阵A的伴随矩阵。如果矩阵,则,而其中的,因此求的计算量比求A的行列式的计算量还要大的多,所以很难求。因此数学家便开始寻找求的相对容易的方法,其中有一种初等变换的方法,即对进行初等行变换,当把A变成E时,E便变成了,此方法要简单的多,但在变换过程中要消耗大量空间。 在用迭代法解线性方程组的方法中,都涉及到了一个矩阵的逆,而且其涉及到的还不仅仅是一个矩阵的逆那么简单,其涉及到的是用一个矩阵的逆去乘另一个矩阵,如果一步一步算,想要算出矩阵的逆,再算两个矩阵相乘,没有一步是简单的,两步计算过程都很繁琐,极易出错。仔细观察后,我发现正是因为矩阵的逆与另一矩阵相乘,从而在整体上出现了相对简单的计算,其过程是略去矩阵逆的计算,从而简化计算。 对于n介线性方程组,即,其系数矩阵非奇异且,对,则可建立 ①Jacobi迭代格式: 我们知道Jacobi迭代矩阵为,其中 , , 。 由式⑵可看出,计算,首先需求出,然后再作矩阵乘法。当然这儿由于的特殊性,很好求,=, 如果我们抛开式⑵,直接看⑴,就会发现,其实可以直接写出来,无需计算,由⑴可得,其直接从线 性方程组中得来,显然快于一步步的计算,而且第二中算法不仅简单还不容易出错,提高了求迭代矩阵的效率。当然,第一种算法的可以直接写出很好求,从而效率也没提高多少,但对于Gauss-Seidel迭代,就不然了。 ②Gauss-Seidel迭代格式: 我们知道Gauss-Seidel迭代矩阵,其中矩阵D,L,U与上述⑶中一样。但此处就不是太好求了,即使它是个下三角矩阵。然而求出后,还要进行矩阵的乘法,因为即: 计算有点繁琐,然而,我产生一种想法,其是否也可与Jacobi迭代矩阵那样,直接写出来了?通过一番计算,再加上实例的体会,我找出了一种相对简洁的关系。 把⑷式写成 把1)代入2)并整理得(由于我们的目的是得到矩阵,所以在此就不考虑了) 2’)令,则1)变为① 。此时 2’)式变为 2^)。令,则2^)式变为 ②。把①、②式代入3)式整理得 3’) 令 则3’)式变为 ③ …… 如此一直在前一步的基础上求后一步矩阵中的元素的值,一直进行下去,则n-1)式变为则第n个式子变为 即 从而得到Gauss-Seidel迭代矩阵 (*) 接下来我用书上一个例子来展现上述方法求迭代矩阵的优越性: 例 设方程组为试分别写出Jacobi迭代和Gauss-Seidel迭代格式以及相应的迭代矩阵。 解:原方程的Jacobi迭代格式和Gauss-Seidel迭代格式分别为 ⑴ 和 ⑵ 由⑴可直接得Jacobi迭代矩阵为 而相应的Gauss-Seidel迭代矩阵可由(*)式得: 与书上用公式算所得结果相同,但这种计算显然很简洁。对于3阶以上的迭代矩阵的计算,我的方法将会节约大量时间,而且还不容易出错。 以上我们讨论的是方阵,但从(*)式可以看出,我们也可以求出不是方阵的,这便给人一种想法,是否不是方阵时也可用迭代法求其解,但有一点是肯定的,当方程个数少于未知数个数时,线性方程组有无穷多解,因此这个问题有可能是否定的,即无法用迭代法求系数矩阵不是方阵的解,此问题还有待研究。 以下是我写的有关我的新方法的matlab代码,其中也包含书上的方法求迭代矩阵的代码,我输入一个四阶的系数矩阵,由两种方法所得出的Gauss-Seidel迭代矩阵完全相同。 Matlab代码: %求Gauss-Seidel矩阵 function G_SB(A) [m,n]=size(A); if m~=n disp(系数矩阵不是方阵) return end %% 用矩阵运算求Gauss-Seidel迭代矩阵 D=diag(diag(A)); U=-triu(A,1); L=tril(A,-1); disp(矩阵运算求出的迭代矩阵) B1=inv(D+L)*U, %%

文档评论(0)

cxiongxchunj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档