当前位置:文档之家› 线性方程组的迭代法应用及牛顿迭代法的改进

线性方程组的迭代法应用及牛顿迭代法的改进

线性方程组的迭代法应用及牛顿迭代法的改进摘要: 迭代解法就是通过逐次迭代逼近来得到近似解的方法。

由于从不同的问题而导出的线性代数方程组的系数矩阵不同,因此对于大型稀疏矩阵所对应线性代数方程组,用迭代法求解。

本文论述了Jacobi 法,Gauss-Seidel 法,逐次超松弛法这三种迭代法,并在此基础上对牛顿型的方法进行了改进,从而使算法更为精确方便。

关键词:线性方程组,牛顿迭代法,Jacobi 法,Gauss-Seidel 法,逐次超松弛法1.线性方程组迭代法1.1线性方程组的迭代解法的基本思想迭代法求解基本思想:从某一初始向量X (0)=[x 1(0) ,x 2(0) ,……………x n (0) ]出发,按某种迭代规则,不断地对前一次近似值进行修改,形成近似解的向量{X (k)}。

当近似解X (k) =[x 1(k) ,x 2(k) ,……………x n (k) ]收敛于方程组的精确解向量X* =[x 1*,x 2*,……………x n *]时,满足给定精度要求的近似解向量X (k)可作为X*的数值解。

1.2 线性方程组的迭代法主要研究的三个问题(1) 如何构造迭代公式 (2) 向量数列{X (k)}的收敛条件 (3) 迭代的结束和误差估计解线性方程组的迭代解法主要有简单迭代法、 Gauss-Seidel 法和SOR 法。

简单迭代法又称同时代换法或Jacobi 法,是最简单的解线性方程组的迭代解法也是其他解法的基础。

1.3Jacobi 迭代法设方程组点系数矩阵n n j A ai R ⨯⎡⎤=∈⎣⎦满足条件0ii a ≠,i=0,1,2, …n 。

把A 分解为A=D+L+U1112,nn a a D a ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ 121,100,0n n n a l a a -⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦1211,000n n n a a U a -⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦在迭代法一般形式中,取N=D, P=-(L+U)形成以下迭代公式(1)1()1(),k k x D l U x D b +--=-++ k=0,1,… (2-1)其中(0)n x R ∈任取。

故上述迭代公式(2-1)称为Jacobi 迭代法,又称简单迭代法,它的迭代矩阵是1()J G D L U -=-+因11()ii D diag a --=,故Jacobi 迭代法(2-1)的分量形式是(1()1)/nk k ii j j i ii j j ix a x b a +=≠=-+∑)(,i=0,1,2, …n k=0,1,…1.4 Gauss-Seidel 法解线性方程组的Gauss-Seidel 法简称Seidel 法,是对简单迭代法(Jacobi 迭代法)点改进 迭代公式在Jacobi 迭代法点基础上可提出如下迭代公式X (k+1)(k+1)(k)12=C X +C X +F, k=0,1,2(3-1)其中2111200000,0n n c C c c ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ 111212222000n n nn c c c c c C c ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦第i 个式子为1(1)()1(1),i nk k iij j ij j i j j ix c x k c x f -+===+++∑∑ i=1,2, …n称为(3-1)Gauss-Seidel 迭代公式由Seidel 迭代公式(3-1)可以看出,在第k+1次迭代进行点过程中,因X 点各个分量x i ,i=1,2, ,…,n 是逐个由迭代公式算出的,在计算分量x i (k+1) 时,序号在i 之前点新分量x 1(k+1), x 2(k+1) , …x i-1(k+1) 也已求出。

Jacobi 迭代公式等号的右边未采用这些新分量点值,而是全部使用老分量x j (k)的值计算x i (k+1) 。

当迭代过程收敛时,这些新分量一般较老分量更接近于真值x 1* ,x 2*,…x i-1*,若使用新分量代替老分量进行迭代,则可能使迭代过程加速,Seidel 迭代法正是这样做的。

由等价方程组构造迭代公式1(1)(1)()111(),i nk k k ii ij j ij j j j i ii x b a x a x a -++==+=-+∑∑ i=1,2,…n 1.5逐次超松弛法逐次超松弛法(successive over relaxation method )简称SOR 法,是对Gauss-Seidel 迭代法点进一步改进而得到点一种加速迭代法。

对于判定可收敛点迭代过程,使用SOR 法可进一步加速收敛过程。

设方程组点系数矩阵A 满足a ii ≠0,i=1,2,…n 。

把A 分解为11A=D+L+(1)D+U ωω-其中ω>0称为松弛因子。

在迭代法一般形式中,取1,N D L ω=+ 1((1)D +U )P ω=--形成以下的迭代公式 (1)1()1111()((1))(),k k x D L D U x D L b ωωω+--=-+-+++ k=0,1…其中(0)n x R ∈任选经化简得SOR 方法实际计算公式为1(1)(1)()()111(1)i n ij ijk k k k i ij i j j j i iiii ii a a b x x x x a a a ωω-++==+⎡⎤=----+⎢⎥⎣⎦∑∑i=1,2,…,n ;k=0,1,…2.牛顿方法的改进对于函数f(x),假定已给出极小点*x 的一个较好的近似点0x ,则在0x 处将f(x)泰勒展开到二次项,得二次函数()x φ。

按极值条件'()0x φ=得()x φ的极小点,用它作为*x 的第一个近似点。

然后再在1x 处进行泰勒展开,并求得第二个近似点2x 。

如此迭代下去,得到一维情况下的牛顿迭代公式'k 1''k ()()k k f x x x f x +=-(k=0,1,2,…)对多元函数f(x),设k x 为f(x)极小点*x 的一个近似值,在k x 处将f(x)进行泰勒展开,保留到二次项得21()()()()()()()()2T T k k k k k k f x x f x f x x x x x f x x x ϕ≈=+∇-+-∇-,式中 2()k f x ∇—f(x)在k x 处的海赛矩阵。

设1k x +为()x ϕ的极小点,它作为f(x)极小点*x 的下一个近似点,根据极值必要条件1()0k x ϕ+∇=即21()()()k k k k f x f x x x +∇+∇-得121()()k k k k x x f x f x -+⎡⎤=-∇∇⎣⎦(k=0,1,2,…)上式为多元函数求极值的牛顿法迭代公式。

对于二次函数,f(x)的上述泰勒展开式不是近似的,而是精确地。

海赛矩阵是一个常矩阵,其中各元素均为常数。

因此,无论从任何点出发,只需一步就可以找到极小点。

因为若某一迭代法能使二次型函数在有限次迭代内达到极小点,则称此迭代方法是二次收敛的,因此牛顿方法是二次收敛的。

从牛顿法迭代公式的推演中可以看到,迭代点的位置是按照极值条件确定的,其中并未含有沿下降方向搜寻的概念。

因此对于非二次函数,如果采用上述牛顿法公式,有时会使函数值上升,即出现1>k k f f +(x )(x )现象。

为此对上述牛顿方法进行改进,引入数学规划法的概念。

如果把12()()k k k d f x f x -⎡⎤=-∇∇⎣⎦看作是一个搜索方向,则采取如下的迭代公式121()()k k k k k k k k x x a d x a f x f x -+⎡⎤=-=-∇∇⎣⎦ (k=0,1,2,…)式中 k a —沿牛顿方向进行以为搜索的最佳步长k a 可通过如下极小化过程求得1()()()min k k k k k k k af x f x a d f x a d +=+=+。

由于此种方法每次迭代都在牛顿方向上进行一维搜索,这就避免了迭代后函数值上升的现象,从而保持了牛顿法二次收敛的特性,而对初始点的选取并没有苛刻的要求。

其计算步骤如下: (1) 给定初始点0x ,收敛精度ε,置0k ←。

(2)计算11222()()()()()k k k k k k f x f x f x d f x f x --⎡⎤⎡⎤∇∇∇=-∇∇⎣⎦⎣⎦,,和。

(3) 求1a d k k k k x x +=+,其中k a 为沿k d 进行一维搜索的最佳步长。

(4) 检查收敛精度。

若1k k x x ε+-<则*1k x x +=,停机;否则,置1k k ←+,返回到2进行搜索。

3 总结通过上述的分析,推导,论证,我们更好的掌握了迭代发的应用,对牛顿方法的改进开拓了我们的思路。

4 参考文献:1.《数值分析学习指导》 吴勃英 高广宏等编(高等教育出版社) 2.《数值分析全析》 杨刚 武燕等编(高等教育出版社) 3.《计算方法引论》 徐翠薇 孙绳武等编(高等教育出版社)。

相关主题