高斯消元法用于求解線性方程組,采用選主元的方法,算法復(fù)雜度O(N ^ 3)。相應(yīng)的題型一種是在實(shí)數(shù)域進(jìn)行求解,一種是在整數(shù)域求解,一般涉及到取模。實(shí)數(shù)域的求解比較簡單,整數(shù)域需要注意幾個問題。模p一定是素?cái)?shù),因?yàn)椴皇撬財(cái)?shù)的話求解的時候可能會出現(xiàn)多個解,處理起來比較麻煩。一個特殊的情況是模2域下的求解,可以采用位運(yùn)算優(yōu)化。還有一點(diǎn)要注意的是在最開始構(gòu)造系數(shù)矩陣和增廣矩陣的時候,一定要先模p,否則選主元的時候一些模p為0的系數(shù)會被誤選。
高斯消元法另一個需要討論的地方就是解的情況。分為無解、唯一解和無窮解。這三種情況根據(jù)線性代數(shù)的知識很容易判斷,主要就是看系數(shù)陣的秩和增廣陣的秩。如果某一次選主元發(fā)現(xiàn)當(dāng)前列的系數(shù)都為0,那么對應(yīng)的變量是一個自由變元,解不確定。這個時候要跳過這一列,保持行不變,繼續(xù)進(jìn)行消元。在消元之后查看增廣陣的秩確定是否無解,若有解再根據(jù)自由變元是否存在來判斷是否是唯一解。
如果解是無窮多個的時候,需要枚舉變元的取值。一般用于處理解空間很小的情況,比如在模2域上的求解。枚舉變元后無需重新列方程,只需進(jìn)行一次回帶找解即可。
posted on 2009-05-26 17:13
sdfond 閱讀(528)
評論(0) 編輯 收藏 引用 所屬分類:
Algorithm - Ad Hoc