解线性方程组的预条件AOR迭代法分析
2017-01-03赵秋霞
赵秋霞
【摘要】自然科学的诸多领域的许多问题最终都转化为大型线性方程组的求解,而这些方程组的求解一般采用迭代法。 对迭代法而言,当迭代矩阵的谱半径小于1时,谱半径越小其收敛速度越快,有效降低迭代矩阵谱半径的方法就是对线性方程组本身进行预处理。因此预条件方法成为一个热点问题。本文对几个预条件AOR迭代法进行程序实现, 并对结果进行分析。
【关键词】线性方程组 迭代解法 预条件方法 AOR方法 谱半径
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2016)11-0194-01
Analysis of Preconditioned AOR Iterative Methods in Solving Linear Systems
ZHAO Qiu-Xia.
(Department of Applied Mathematics, Yuncheng University, Yuncheng, 044000)
【Abstrct】The solutions of many problems in the field of natural science are eventually turned into the solutions of large linear systems. Generally, the linear systems are solved by iterative methods. The smaller it is, the faster the method converges for iterative method when the spectral radius of the iterative matrix is smaller than 1. The effective method to decrease the spectral radius of iterative matrices is to precondition linear systems. Therefore, the study of the preconditioned methods is a hot topic. In this thesis, some preconditioned AOR iterative methods are implemented by computer programs and the results are compared with basic iterative methods.
【Keywords】 Linear systems; Iterative solution; Preconditioned methods; AOR method; Spectral radius.
1.引言
数学、物理、流体力学和工程技术等领域中许多问题的解决, 最终都转化为大型线性方程组
(1.1)
的求解[1,2,3], 其中非奇异, 是已知的, 是未知的. 对大型线性方程组的求解通常采用迭代解法,常用的包括AOR迭代法,SOR迭代法等[2]. 用迭代法求解线性方程组时要考虑迭代法的收敛性, 通常用迭代矩阵的谱半径来判断[2,3,4,5]. 当迭代法收敛时, 还要考察其收敛速度, 其收敛速度越快越好,为了减小迭代矩阵的谱半径, 常对原方程组进行预条件处理, 此类方法称为预条件方法.
预条件方法的主要思想是在方程组(1.1)两端同时左乘一个非奇异矩阵 (称为预条件因子), 将方程组(1.1)转化为同解方程组
, (1.2)
使得将上述迭代法应用于方程组(1.2)时迭代矩阵有较小的谱半径.
文[3]的作者提出了下面两种预条件因子,并在理论上证明了预条件的有效性,本文对在这两种预条件因子作用下的预条件AOR迭代法进行程序实现和算例分析.
1),相应的预条件AOR迭代法的迭代矩阵记为.
2), 其中为正实数, 相应的预条件AOR迭代法的迭代矩阵记为.
2. 预条件AOR迭代法的程序实现与算例分析
对算例2.1[2]进行MATLAB编程实现. 取初值, 用AOR迭代法和预条件AOR迭代法均得到方程组(2.1)的精确解
记分别为用基本AOR迭代法, 预条件因子为的预条件AOR迭代法所用的迭代次数, 见表2.1及2.2.
算例2.1[2]
考虑线性方程组:
(2.1)
其中系数矩阵A是非奇异且不可约M-矩阵[3].
表2.1:预条件因子为的情形
加速因子 松弛因子
0.3 0.5 0.3 0.6819 54 0.6727 50
0.7 0.9 1 0.3575 24 0.3037 17
0.8 1 1 0.2578 19 0.2054 14
1 1 1 0.1636 16 0.1378 10
1.2 1.2 1 0.2000 11 0.3115 12
1.7 1.7 1 0.7000 43 0.8848 116
1.9 1.9 1 0.9000 145 1.1120 溢出
表2.2:预条件因子为 的情形
加速因子 松弛因子
0.3 0.5 0.4 0.6819 54 0.6549 46
0.7 0.9 0.9 0.3575 24 0.2104 15
0.8 1 0.9 0.2578 19 0.1064 12
1 1 0.9 0.1636 16 0.0483 9
1.2 1.2 0.9 0.2000 11 0.2208 12
1.7 1.7 0.9 0.7000 43 0.7075 127
1.8 1.8 0.9 0.8000 69 0.8053 溢出
分析表中数据,当 在 取值时,AOR迭代法和两种预条件AOR迭代法在 时效果最好;当 取值大于1时,且在1附近时效果更好,但随着 越来越大,迭代法的收敛性降低, 甚至计算过程中发生溢出。
参考文献
[1]A. Hadjimos. Accelerated overelaxation method. Math. Comput. 32 (1978) 149 – 157.
[2] 金一庆, 陈越, 王冬梅. 数值方法(第2版). 北京:机械工业出版社. 2000年2月.
[3] M.J. Wu, L. Wang, Y.Z. Song. Preconditioned AOR iterative methods for linear systems. Appl. Numer. Math. 57 (2007) 672–685.
[4]L. Wang, Y.Z. Song. Preconditioned AOR iterative methods for M-matrices. J. Comput. Appl. Math. 226 (2008) 114–124.
[5] 程光辉,黄廷祝,成孝予. 解线性方程组的预条件Guass-Seidel型迭代法. 应用数学和力学,第27卷,第9期,2006年9月15日出版. 1000-0887 (2006) 09-1117-05.