km(a,r0)=span{r0,ar0,a2r0,…,am-1r0}
選取不同的km和lm就得到不同的krylov子空間方法。主要算法包括四類:基於正交投影方法、基於正交化方法、基於雙正交化方法、基於正規方程方法。
krylov子空間疊代法的收斂速度依賴於係數矩陣特徵值的分布,對於很多問題,直接使用疊代法的收斂速度特別慢,或者根本不收斂。因此使用預條件改變其收斂性,使中斷問題可解,並加速收斂速度是需要的。目前人們研究的預條件技術可分為四類:採用基於矩陣分裂的古典疊代法作為預條件子、採用不完全lu分解作預條件子、基於係數矩陣近似逆的預條件子、結合實際問題用多重格線或區域分解作預條件子。對krylov子空間和預條件krylov子空間方法有詳細的討論。
預條件krylov子空間方法的並行計算問題一直是研究熱點,已提出了一系列好的並行算法。目前預條件krylov子空間方法的計算量主要集中在矩陣向量乘上。雖然學者們做了大量的研究工作,但是還沒找到效果好,又易於並行的預條件子。
需要特別指出的是,對於一般線性代數方程組的並行求解,其可擴展並行計算的研究已相對成熟,並已形成相應的並行軟體庫,如美國田納西亞州立大學和橡樹嶺國家實驗室研製的基於訊息傳遞計算平台的可擴展線性代數程式庫scalapack和德克薩斯大學開發的界面更加友好的並行線性代數庫plapack。我們借鑑其研究成果和研究方法,對三對角線性方程組並行算法的研究是有幫助的。
五、結語
三對角線性方程組的直接解法,算法豐富,程式較容易實現。但計算過程要增加計算量,並且大部分算法都對係數矩陣的要求比較高。疊代解法適合於非零元素較多的情況,特別是結合預條件子的krylov子空間疊代法已成為當前研究的熱點。
儘管三對角系統並行算法的研究取得了很多成果。但是還存在一些問題:直接法中,分治策略帶來計算量和通信量的增加,如何減少計算量和通信量有待於進一步的研究;目前直接算法均基於分治策略,如何把其它並行算法設計技術,如平衡樹和流水線等技術套用到三對角系統的並行求解中也是需要引起重視的方向;對於非對稱系統還沒找到一種通用的krylov子空間方法;krylov子空間方法的並行實現時僅考慮係數矩陣與向量乘,對其它問題考慮不夠;以往設計的並行算法缺乏對算法可擴展性的考慮和分析。