華玉春 唐躍龍
?
高斯列主元消去法解線性方程組的改進
華玉春唐躍龍
(湖南科技學院 理學院,湖南 永州 425199)
分析了高斯列主元消去法解線性方程組的誤差來源,在不考慮計算量的情況下,利用加減法和乘法替代除法進行徹底消元,避免了舍入誤差,提高了高斯列主元消去法解線性方程組的精度。
高斯列主元消去法;線性方程組;誤差
眾所周知,應(yīng)用科學與工程中的許多計算問題最后都是轉(zhuǎn)化為求線性代數(shù)方程組的解。求解線性代數(shù)方程的方法有很多的,其中高斯消去法是常用方法之一。由于傳統(tǒng)的高斯順序消去法在消元過程中可能出現(xiàn)主對角線元素為零和主對角線元素的絕對值比同列對角線以下元素的絕對值還小的情形,它們分別會導致消元過程無法繼續(xù)進行和用絕對值極小的數(shù)做分母的極端現(xiàn)象,以至求解過程中的誤差不斷積累并擴大,人們?yōu)榱丝朔@一缺陷,提出了兩種高斯主元消去法。
高斯主元消去法分別為高斯列主元消去法和高斯全主元消去法,它們之間的主要差別在于主元選取范圍的不同。由于高斯全主元消去法在選擇主元時,經(jīng)常需要進行行交換甚至列列交換,這樣就嚴重打亂了已有的未知量順序,消耗大量的時間,故高斯列主元消去法的使用更加廣泛。盡管高斯列主元消去法很巧妙地克服了高斯順序消去法和高斯全主元消去法所存在的嚴重問題,但是其在消元過程中仍然隱含著一些不足之處。當系數(shù)相除所產(chǎn)生的舍入誤差累積代入了未知量的直接求解時,會導致線性方程組解的誤差,即求解線性方程組的誤差——誤差來源于除法[1]。
文章對高斯列主元消去法進行進一步的改進,力求在完全不使用除法的情況下進行徹底消元,將原線性方程組化為等價的對角形方程組。這樣在消元過程中,就可以完全避免除法帶來的誤差累積,使得在整個的求解過程中除法使用次數(shù)降到最少,若最后系數(shù)能整除,則可完全消除誤差,得到精確解,即使最后系數(shù)不能整除,也能使誤差達到最小。
參考文獻[2]中介紹高斯列主元消去法解線性方程組的一般步驟如下:
設(shè)有元線性方程組如下
傳統(tǒng)的高斯列主元消去法,在消元與回代過程中除法所產(chǎn)生的舍入誤差符號不盡相同。從而使誤差在積累時發(fā)生相互抵消現(xiàn)象,但積累所產(chǎn)生的誤差是相當大的[3]。下面舉例進行說明:
解:用高斯列主元消去法求解,消元可得:
用加減法和乘法取代消元過程中的除法,可消除因系數(shù)不能整除而帶來的誤差。改進高斯列主元消去法求解線性方程組的具體計算步驟如下:
Step7 從式(7)可解得方程組的解為:
用改進的高斯列主元消去法求解例1. 過程如下:
解:一、利用高斯列主元消去法求解,消元過程如下:
回代可得方程組的解為
利用改進的高斯列主元消去法求解過程如下:
顯而易見,與傳統(tǒng)的高斯列主元消去法相比較,改進的高斯列主元消去法求解的精度更高。
跟傳統(tǒng)的高斯列主元消去相比較,改進的高斯列主元消去法,雖然增加了一定的計算量,但是它成功地消除了消元過程中的誤差,若最后的系數(shù)能整除,則可使得誤差為0,即使最后系數(shù)不能整除,也可以避免誤差的積累與擴大,使誤差達到最小。
[1]胡堯,羅文俊.改進Gauss消去法求解線性方程組[J].貴州大學學報(自然科學版), 2004,(2):127-131.
[2]燕必成,姜曉強,王哲祿.高斯列主元消去法在Matlab中的實現(xiàn)[J].桂林航天工業(yè)學院學報,2014,(2):165-167.
[3]韋渤.Gauss消去法求解線性方程組的改進[J].科協(xié)論壇(下半月),2007,(8):23-24.
(責任編校:宮彥軍)
2016-07-12
國家自然科學基金(項目編號11401201);湖南科技學院校級科研項目。
華玉春(1982-),女,湖南武岡人,助教,碩士研究生,研究方向為常微分方程。
O241
A
1673-2219(2016)10-0008-04