1解线性方程组的迭代法Haha送给需要的学弟学妹摘要:因为理论的分析表明,求解病态的线性方程组是困难的,但是实际情况是否如此,需要我们来具体检验。系数矩阵H为Hilbert矩阵,是著名的病态问题。因而决定求解Hxb此线性方程组来验证上述问题。详细过程是通过用Gauss消去法、J迭代法、GS迭代法和SOR迭代法四种方法求解Hxb线性方程组。关键词:病态方程组、Gauss消去法、J迭代法、GS迭代法、SOR迭代法目录:一、问题背景介绍二、建立正确额数学模型三、求解模型的数学原理1、Gauss消去法求解原理2、Jacobi迭代法求解原理3、G-S迭代法求解原理4、SOR迭代法求解原理5、Jacobi和G-S两种迭代法收敛的充要条件四、计算过程(一)Hilbert矩阵维数n=6时1、Gauss消去法求解2、Jacobi迭代法求解3、G-S迭代法求解4、SOR迭代法求解(二)Hilbert矩阵维数n=20、50和100时1、G-S迭代法求解图形2、SOR迭代法求解图形五、编写计算程序六、解释计算结果1、Gauss消去法误差分析2、G-S迭代法误差分析3、SOR迭代法误差分析G-S迭代法与SOR迭代法的误差比较七、心得体会正文:一、问题背景介绍。理论的分析表明,求解病态的线性方程组是困难的。实际情况是否如此,会出现怎样的现象呢?二、建立正确的数学模型。考虑方程组Hxb的求解,其中系数矩阵H为Hilbert矩阵,,,1(),,,1,2,,1ijnnijHhhijnij这是一个著名的病态问题。通过首先给定解(为方便计算,笔者取x的各个分量等于1),再计算出右端,bHx这样Hxb的解就明确了,再用Gauss消去法、J迭代法、GS迭代法和SOR迭代法四种方法分别求解,Hxb将求解结果与给定解比较,而后求出上述四种方法的误差,得出哪种方法比较好。三、求解模型的数学原理。1、Gauss消去法求解原理对于Axb(A非奇异)求解时,可以先将A分解成一个下三角矩阵L和一个上三角矩阵U的乘积,即ALU,就可以通过2,,LybUxy(1.1)求解出x的值。接下来就具体讲讲如何将A分解成L和U,也就是Gauss消去法。欲把一个给定的矩阵A分解为一个下三角阵L与一个上三角阵U的乘积,最自然的做法便是通过一系列的初等变换,逐步将A约化为一个上三角阵,而又能保证这些变换的乘积是一个下三角阵。这可归结为:对于一个任意给定的向量,nxR找一个尽可能简单的下三角阵,使x经这一矩阵作用之后的第1k至第n个分量均为零。能够完成这一任务的最简单的下三角阵便是如下形式的初等下三角阵:,TkkkLIle其中1,0,,0,,,,Tkkknklll即1,,1111kkknkLll这种类型的初等下三角阵称作Gauss变换,而称向量kl为Gauss向量。对于一个给定的向量1,,,TnnxxxR我们有111,,,,,,.TkkkkkknknkLxxxxxlxxl由此立即可知,只要取,1,,,iikkxliknx便有1,,,0,,0.TkkLxxx当然,这里我们要求0.kx而后经过多次变换可以得到11,nnLLLAU(1.2)从而求出上三角阵U,而后通过11,nnLAULLLL求得下三角阵1.LUA(1.3)将(1.2)和(1.3)带入到(1.1)式中求出x的值即可。2、J迭代法求解原理考虑非奇异线性代数方程组.Axb令,ADLU(1.4)其中1122,,,,,ijnnAaDdiagaaa321313212,1000,0nnnnaaaLaaa121312321,00,00nnnnaaaaaUa那么(1.4)式和Axb合并后可以写成,xBxg其中11,.BDLUgDb(1.5)若给定初始向量000012,,,,Tnxxxx并代入(1.4)式右边,又可得到一个向量2x;一次类推,有1,1,2,.kkxBxgk(1.6)这就是所谓的Jacobi迭代法,其中B叫做Jacobi迭代法的迭代矩阵,g叫做Jacobi迭代法的常数项。3、GS迭代法求解原理注意到Jacobi迭代法中各分量的计算顺序是没有关系的,先算那个分量都一样。现在,假设不按Jacobi迭代格式,而是在计算kx的第一个分量用1kx的各个分量计算,但当计算kx的第二个分量2kx时,因1kx已经算出,用它代替11kx,其他分量仍用1kix。类似地,计算klx时,因11,,kklxx都已算出,用它们代替1111,,,kklxx其他分量仍用1kx的分量,于是有111,1,2,.kkkxDLxDUxgk(1.7)我们称这种迭代格式为Gauss-Seidel迭代法,简称为G-S迭代法。它的一个明显的好处是在编写程序是存储量减少了。如果1DL存在,G-S迭代法可以改写成111.kkxDLUxDLb(1.8)我们把11LDLU叫做G-S迭代法的迭代矩阵,而把1DLb叫做G-S迭代法的常数项。4、SOR迭代法求解原理我们知道,G-S迭代法的迭代格式为11111.kkkxDLxDUxDb现...