吳呈良 李星 董魁 張恩培


【摘要】科學計算和工程設計中經常遇到病態線性方程組求解,而病態線性方程組的求解過程對數據擾動非常敏感.本文先通過讓每次迭代產生近似解的余量的平方和最小的原則自動生成超松弛迭代法中的松弛因子,再結合超松弛迭代法收斂速度快和針對病態方程組的余量修正法簡單有效易實現的特點,提出了一種求解病態線性方程組的新方法,并通過實例進行驗證.數值計算結果表明,該算法在一定范圍內適合求解病態線性方程組,且具有快速收斂,精度較高的特性.
【關鍵詞】ω自動生成;超松弛迭代法;余量修正法;病態線性方程組
【中圖分類號】O241.6
一、引 言
科學計算和工程設計中,經常會遇到求解線性代數方程組的問題,而且計算方法的其他分支的研究也往往歸結為此類問題.比如,在地球物理的反演計算中經常需要解線性方程組來獲取重要結論.然而通過實際勘探和理論分析建立起來的線性方程組絕大多數都是病態的.如何利用計算機求解線性方程組,尤其是病態線性方程組,是我們共同關心的課題.
目前較為成熟的利用計算機進行線性方程組求解的方法主要分為兩類:一類是通過有限步運算求得方程組解的直接法,此方法適用于中、小型系數矩陣稠密的線性方程組求解,如高斯消去法、三角分解法等; 另一類是迭代法,此方法適用于大型的系數矩陣稀疏的線性方程組求解,如雅可比迭代法、賽德爾迭代法、超松弛迭代法(SOR)等.其中超松弛迭代法因其可以通過合理選擇松弛因子ω實現加速收斂而被廣泛使用.然而,針對類似地球物理反演計算等實際問題中經常遇到的病態方程組,因計算機系統舍入誤差和實際測量誤差的存在,采用上述直接法和迭代法已不適用.較為常用的求解病態線性方程組有迭代校正法、投影法、遞推法等,但是這些算法存在有效性差、過于復雜等問題而不夠理想.
為了能較為有效地采用迭代法求解線性方程組,尤其是病態線性方程組,使算法能夠快速收斂、簡單有效地實現求解,本文通過把超松弛迭代法融合到余量修正法當中,根據最小二乘法思想對超松弛迭代法中的松弛因子進行自動生成,得到一種全新簡單而又高效的求解線性方程組算法,并對此方法求解病態線性方程組進行了深入研究.