1、第三章 线性方程组的数值解法 线性方程组的数值解法有两种 (1)迭代法 (2)直接法,3.1 线性方程组的迭代法 设有线性方程组 = , , , 当=为一大规模线性方程组时,采用迭代法求解不仅可节省内存,还能减少计算量。,1、Jacobi迭代法 设= ,将矩阵分解为 =+其中= 11 , 22 , = 0 12 1 0 2 1, 0 = 0 21 0 1,1 1 1,2 2 0 于是 = + =,假定 0 =1,2, ,则对角阵非奇异故有 + = = + = + 据此,得下述Jacobi迭代公式 + = + ,记 = + = 则有 + = + 其中,矩阵称为Jacobi法迭代矩阵例3.1 求解
2、方程组 10 1 0.2 2 2 3 =7.2 1 +10 2 2 3 =8.3 1 2 +5 3 =4.2,将原方程组改为下述等价形式 1 =0.1 2 +0.2 3 +0.72 2 =0.1 1 +0.2 3 +0.83 3 =0.1 1 +0.2 2 +0.84 据此,得Jacobi迭代公式取迭代初值,表3.1准确值 1 =1.1, 2 =1.2, 3 =1.3,2、Gauss-Seidel迭代法 回看上例Jacobi迭代公式在计算 时,用到 和 进行计算,此时更新的迭代值 已经计算出来,而没有被应用。计算 时,没有利用更新的迭代值 和 。 为加快迭代收敛速度,做如下改进,仍取初值 表3
3、.2,由上例可见,一般而言,Gauss-Seidel迭代法的收敛速度高于Jacobi迭代法。但是,这两个方法的收敛范围并不完全重合,只是部分相交,在某些情形下,Jacobi迭代法可能比Gauss-Seidel迭代法收敛更快,甚至可能Jacobi迭代法收敛,而Gauss-Seidel迭代法却迭代发散。 Gauss-Seidel迭代法的矩阵表示 + = + = , = + 1 + 1 据此,得Gauss-Seidel迭代公式 +1 = + 1 + + 1 记 = + 1 = + 1 便有 +1 = + 其中,矩阵称为Gauss-Seidel法迭代矩阵,3、超松弛迭代法(SOR) 以G-S迭代法为基
4、础,构造超松弛迭代法 + = + + 其中 + = + = + 1 = + 1 称为松弛因子 1超松弛法,1低松弛法 =1为G-S迭代法,例3.2 用SOR方法解方程组 4 1 1 1 1 4 1 1 1 1 1 1 4 1 1 4 1 2 3 4 = 1 1 1 1 该问题的精确解为 = 1,1,1,1 解:取 (0) = 0,0,0,0 ,迭代公式为,如果精度要求为 () 2 10 5 取=1.3时,迭代11次的结果为 (11) = 0.9999964,1.0000031,0.9999995,0.999991 ,4、迭代法的收敛性定理3.1 设有方程组=+,对于任意初始向量 () 及任意,
5、迭代公式 + = +收敛的充要条件是 1证明:设 为方程=+的准确解,即 = +对任意初值 (0) 及任意,迭代公式为 +1 = +于是 = ,= 2 = 结合定理1.7,即可得证。例3.3 考察用迭代法解下列方程组 +1 = +的收敛性,其中 = ,解:矩阵的特征值分别为 1=0.3082 2=0.1541+0.3245 3=0.15410.3245这里 1 =0.30821 2 = 3 =0.35921此时 1于是,迭代公式 +1 = +对任意初始向量是收敛的。,定理3.2 (迭代收敛的充分条件)设有迭代公式 + = +如果 ,=,系数矩阵对角占优的线性方程组= 称作对角占优的线性方程组。
6、,显然 = max 1 0(=1,2,),由 11 21 1 21 22 2 1 2 = 11 21 22 1 2 11 21 1 22 2 比较两端 = =1 1 + = =1 1 2 1 2 , = = =1 1 , ,令 =,则有=,于是由下述两个三角线性方程组求得方程组=的解 = =计算量约为Doolittle方法的一半。,6、三对角线性方程组的追赶法设=的系数矩阵 = 1 1 2 2 2 1 称为三对角矩阵定理3.6 若三对角矩阵满足 1 1 , + (=2,3,1),则矩阵是非奇异的。假设满足定理3.4,则可做三角分解 =其中 = 1 2 1 1 ,= 1 1 2 1 1 = 1
7、= 1 ,(=2,3,) = 1 ,(=2,3,),于是 追: 1 = 1 = 1 =2,3, 赶: = = +1 =1,2,1,3.3 线性方程组的性态和误差分析例3.6 设有方程组 1 + 2 =2 1 +1.0001 2 =2.0001 准确解为 1 =1, 2 =1。假定常数项有微小变换,如 1 + 2 =2 1 +1.0001 2 =2 准确解为 1 =2, 2 =0。 常数项微小变换,导致解发生很大变化。这类线性方程组称为病态方程组。,设有线性方程组= 1)方程组常数项有扰动 + =+则有 = 1 于是 = 1 1 = 1 故有 1 ,上述表明常数项的相对误差 在解中可能被放大了 1 倍。2)方程组系数矩阵有扰动+ + + =则有 = 1 + 于是 1 + 1 1 1 1 1 ,当 1,矩阵的相对误差在解中可能被放大了 1 倍。定义3.2 称 = 1 为矩阵的条件数。当 1,则方程组时病态的;当 较小时,则方程组是良态的。,