解线性方程组的几种迭代算法
- 格式:doc
- 大小:641.50 KB
- 文档页数:14
解线性方程组的几种迭代算法
内容摘要:
本文首先总结了分裂法解线性方程组的一些迭代算法,在此基础上分别通过改变系数矩阵A的分裂形式和对SSOR算法的改进提出了两种新的算法,并证明了这两种算法的收敛性.与其它方法相比,通过改变系数矩阵A的分裂形式得到的新算法具有更好的收敛性,改进的SSOR算法有了更快的收敛速度.最后通过数值实例验证了这两种算法在有些情况下确实可以更有效的解决问题.
关键词:
线性方程组迭代法算法收敛速度
Several kinds of solving linear equations
iterative algorithm
Abstract:
In this paper, we firstly summarize some Iterative algorithms of Anti-secession law solution of linear equations. Based on these, two new algorithms are put forward by changing the fission form of coefficient matrix A and improving the algorithm of SSOR, and the convergence of the two algorithms is demonstrated. Compared with other methods, the new algorithm acquired by changing the fission form of coefficient matrix A is possessed of a better convergence. And the improved SSOR algorithm has a faster convergence speed. Finally, some numerical examples verify that the two algorithms can solve problems more effectively in some cases.
Key words:
Linear equations Iteration method algorithm Convergence speed
目录
1.引言 (1)
2.迭代法原理 (1)
3.基本迭代法 (2)
3.1 Jacobi迭代 (2)
3.2 Gauss-Seidel迭代法 (3)
3.3 SOR算法 (3)
3.4 SSOR算法 (4)
3.5 收敛性分析 (4)
4.几种新的迭代算法 (5)
4.1 基于矩阵分裂形式的新迭代算法 (5)
4.2 加权-对称超松弛迭代法 (7)
5.算法的不足与改进方法 (9)
6.数值实例 (9)
6.1渐进收敛速度 (9)
6.2几种迭代方法的比较 (10)
附录 ............................................... 错误!未定义书签。参考文献 . (11)
解线性方程组的几种迭代算法
1.引言
在工程技术、自然科学和社会科学中的许多问题最终都可归结为解线性方程组, 因此线性方程组的求解对于解决实际问题是极其重要的.线性方程组的解法有很多种,主要的方法有直接法和迭代法.迭代法就是用某种极限过程去逼近线性方程组精确解的方法,该方法具有对计算机的存贮单元需求少,程序计算简单,原始系数矩阵在计算过程中不变等优点,是求解大型稀疏矩阵方程组的重要方法.
目前,人们已经得到了一些较为成熟的线性方程组的迭代解法,从某种意义上讲它们都可归结为分裂法.但在解决具体问题时我们仍面临着许多问题,如:怎样设计出满足要求的求解算法;如何分析、区别算法的好坏;可否改进现有的算法使其更有效;求解所给问题最好可能的算法会是什么,等等.针对这些问题,很多人都做过了大量的研究.文献[2]对迭代法的原理及一些常用的迭代算法进行了研究.文献[1],[3],[4],[5]给出了一些基本的迭代算法并证明了其收敛性.文献[6],[9],[10],[13],[16]研究了一些特殊方程组的迭代解法.文献[7],[8],[12],[14],[15]都是针对不同的问题对超松弛迭代算法进行了改进.文献[11]主要讨论了迭代法解线性方程组的MATLAB 实现.本人在求解线性方程组的问题时,通过对现有迭代算法的改进得到了两种新的算法.本文对这两种算法的收敛性进行了证明,并通过数值实例验证了其在解决某些问题时具有的优势.
2.迭代法原理
设线性代数方程组为
AX b = (1)
常常将系数矩阵A 分裂成两个矩阵M 和N 之差,即
A M N =- (2)
且用迭代
(1)1()1k k X M NX M b +--=+ (3)
来解线性方程组(1). 将(3)式表示为
(1)(),0,1,
k k X BX f k +=+= (4)
其中,11,B M N f M b --==,称此迭代方法为分裂法,而将B 称为迭代格式(4)的迭代矩阵.
然而迭代法需要解决的首要任务是迭代格式是否收敛的问题,任取初始向量
()(0)(0)(0)
(0)
12,,
,T
n X x x x =代入(4)中,计算可得迭代序列(1)(2)(1),,
.k X X X +若迭代
序列{}(1)k X +收敛,设{}()K X 的极限为*X ,对迭代式(4)两边取极限可得:
()(1)()lim lim k k k k X BX f +→∞
→∞
=+
即**X BX f =+,*X 是方程组(1)的解,此时称迭代法收敛,否则称迭代法发散.
我们有如下的结果:
定理2.1[1] 迭代格式(4)收敛的充分必要条件是迭代矩阵B 的谱半径
()1B ρ<,而且()B ρ越小,收敛越快.
定理2.2[1] 若p B 为矩阵B 的某范数,则总有()p
B
B ρ≥.
对于矩阵A 的分裂应该说是有很多形式,但并不是所有分裂形式产生的迭代格式都有意义.于是我们有正规分裂的概念:
定义2.1[2]对于实方阵A ,若矩阵M 和N 满足A M N =-,且10,0M N N -≥≥则称A M N =-是A 的一个正规分裂.
那么正规分裂与其他分裂形式相比到底有什么优势呢?我们有如下定理:
定理2.3[2]若A M N =-为A 的正规分裂,且10A -≥,则
()()
()
1111A N M N A N ρρρ---=
+
从而()11M N ρ-<,此时相应的迭代格式(3)必收敛.
如果针对矩阵A 给出两种正规分裂,如何来衡量它的好坏呢?
定理2.4[2] 若矩阵有两个正规分裂,设1122,A M N A M N =-=-且10A -≥,
211120,0,N N N N N ≥≥≠≠,则有()()
11
112101M N M N ρρ--≤≤<.
3.基本迭代法
下面给出常见的几种基本迭代格式.将()ij A a =分裂为
A D L U =-- (5)
其中,
11
12
121
22
21
,1
000
0,,00n n n n n nn a a a a a a D L U a a a -⎛⎫⎛⎫
⎛⎫
⎪
⎪
⎪ ⎪
⎪
⎪
==-=- ⎪ ⎪
⎪ ⎪ ⎪ ⎪ ⎪⎝⎭
⎝⎭⎝⎭ 3.1 Jacobi 迭代
取
,.M D N L U ==+ (6)