薛正林,夏林林,吳開騰(.四川師范大學(xué) 數(shù)學(xué)與軟件科學(xué)學(xué)院,四川 成都 60066;.重慶巴川中學(xué),重慶 40569;.內(nèi)江師范學(xué)院 四川省高等學(xué)校數(shù)值仿真重點實驗室,四川 內(nèi)江 64)
?
解病態(tài)線性方程組的一種數(shù)值方法
薛正林1,夏林林2,吳開騰3
(1.四川師范大學(xué) 數(shù)學(xué)與軟件科學(xué)學(xué)院,四川 成都 610066;2.重慶巴川中學(xué),重慶 402569;3.內(nèi)江師范學(xué)院 四川省高等學(xué)校數(shù)值仿真重點實驗室,四川 內(nèi)江 641112)
摘 要:對于病態(tài)的線性方程組的數(shù)值方法,一般使用迭代法,而迭代法的收斂速度慢且數(shù)值解的精度低,甚至發(fā)散.針對此問題,本文推出一個新的數(shù)值方法——主元加權(quán)松弛迭代法,通過對系數(shù)矩陣主元疊加一個權(quán)值,并引入松弛參數(shù)再對矩陣進(jìn)行求解,從而能夠有效的提高病態(tài)線性方程組的收斂速度和數(shù)值解精度,并討論了算法的收斂條件.最后,通過數(shù)值實例展示了算法的有效性.
關(guān)鍵詞:病態(tài)線性方程組;主元加權(quán);松弛迭代;數(shù)值解
對于線性方程組Ax=b,A為非奇異矩陣.x=[x1,x2,…,xn]T,b=[b1,b2,…,bn]T,現(xiàn)在已經(jīng)有很多高效的算法求解方程組,但是對于一些特殊的方程組,比如系數(shù)矩陣條件數(shù)很大的時候,由于迭代過程中的舍入誤差,方程組的病態(tài)性影響了計算結(jié)果的準(zhǔn)確性,從而使得數(shù)值解與精確解存在巨大的誤差.而目前比較主流的解法,例如迭代改善法,投影法,條件預(yù)優(yōu)法,共軛梯度法,智能算法等等.但是有的算法收斂性好但是穩(wěn)定性差,有的算法有效性好但是算法復(fù)雜,有的甚至只能處理不太病態(tài)的方程組.本文根據(jù)病態(tài)方程組的特征,利用主元加權(quán)的預(yù)處理,再加入松弛參數(shù),從而提高了病態(tài)線性方程組的收斂速度和數(shù)值解精度.
2.1 對于線性矩陣為對稱正定的線性方程Ax=b(1)通過直接對線性方程組做恒等變形來構(gòu)造迭代格式,首先,給系數(shù)矩陣的主元加權(quán)φ,從而得到方程(A+φE)x=b+φx,其中φ為一常數(shù).E為單位矩陣.繼而兩邊同時乘以μ,得到μ(A+φE)x=μb+μφx,繼而兩邊移項,推出-μφx=-μ(A+φE)x+μb,最后兩邊同時加上x得到(1-μφ)x=(E-μ(A+φE)x+μb,即得到迭代格式
令xn+1=xn+zn,得(1-μφ)(xn+zn)=(E-μ(A+φE)xn+μb,化簡得:(1-μφ)zn=-μAxn+μb,即
定義2 設(shè)A∈Rn×n,則對于任意n維列向量x(0)的迭代格式(4)收斂的充分必要條件是p(B)<1,其中p(B)為迭代矩陣B的譜半徑.
定理1 對于A是n×n對稱正定矩陣,當(dāng)0<φ<λmax,μ=,(k>0),則線性方程組Ax=b的迭代格式(1-μφ) xn+1=(E-μ(A+φE)xn+μb是收斂的.
證明 設(shè)A的特征值為λ1,λ2,…,λn,因為A為對稱正定矩陣,所以λi>0(i=1,2,…,n),且λ1+λ2+…+λn=a11+a22+…+ann,即A+φE的特征值為λ1+φ,λ2+φ,…,λn+φ,且λ1+φ+λ2+φ…+λn+ φ=a11+φ+a22+φ…+ann+φ.設(shè)Tn=a11+a22+…+ann,A+φE的最大特征值λi+φ,則
很明顯,當(dāng)k取合適的值時,總可以使得p
即隨著k值的增大,迭代矩陣譜半徑為:
表一 經(jīng)典算法與新算法的比較
由表一可以發(fā)現(xiàn),高斯賽德爾迭代法對于病態(tài)線性方程組能夠求解,但是精度與迭代次數(shù)都不理想,無論在精度上,還是在迭代次數(shù)上,本文算法更具有優(yōu)勢,特別是本文算法是建立在簡單迭代的基礎(chǔ)上,具有編程簡單和內(nèi)存需求少的特點.實際上,當(dāng)系數(shù)為1000階時,本文算法仍然有5-6位有效數(shù)值,所以還是具有較強的抗病態(tài)性.
對于線性方程組Ax=b,通過引入雙參數(shù)構(gòu)造了一種求解線性方程組的迭代解法,并證明了迭代格式的收斂性,對于最后通過數(shù)值實驗的結(jié)果也表明本文算法比傳統(tǒng)迭代法精度更高,也可以發(fā)現(xiàn),φ的實際取值范圍都在0.0001附近,而k的值也在2左右波動時,有比較好的數(shù)值解,至于最優(yōu)參數(shù)有待進(jìn)一步研究.綜上所述,主元加權(quán)松弛迭代法在保持原有的簡單迭代格式的基礎(chǔ)上,能夠更好的求解病態(tài)線性方程組.
參考文獻(xiàn):
〔1〕顏慶津.數(shù)值分析[M].北京:北京航空航天大學(xué)出版社,2010.
〔2〕胡圣榮,羅錫文.病態(tài)線性方程組的新解法:誤差轉(zhuǎn)移法[J].華南農(nóng)業(yè)大學(xué)學(xué)報,2011,22(4):92-94.
〔3〕常雙領(lǐng),張傳林.若干特殊方程組的數(shù)值解法及其應(yīng)用[J].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2015.6-13.
〔4〕張春梅,姚晟.用加權(quán)迭代改善法解病態(tài)方程組的研究[J].安慶師范學(xué)院學(xué)報(自然科學(xué)報),2004,10(1):78-79.
中圖分類號:O241
文獻(xiàn)標(biāo)識碼:A
文章編號:1673-260X(2016)06-0003-02
收稿日期:2016-02-27
基金項目:四川省教育廳創(chuàng)新團(tuán)隊計劃項目(13TD00001)
赤峰學(xué)院學(xué)報·自然科學(xué)版2016年12期