趙秋霞
【摘要】自然科學的諸多領域的許多問題最終都轉化為大型線性方程組的求解,而這些方程組的求解一般采用迭代法。 對迭代法而言,當迭代矩陣的譜半徑小于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附近時效果更好,但隨著 越來越大,迭代法的收斂性降低, 甚至計算過程中發(fā)生溢出。
參考文獻
[1]A. Hadjimos. Accelerated overelaxation method. Math. Comput. 32 (1978) 149 – 157.
[2] 金一慶, 陳越, 王冬梅. 數值方法(第2版). 北京:機械工業(yè)出版社. 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.