崔艷星,郭偉
(長治學(xué)院數(shù)學(xué)系,山西長治046011)
?
超松弛迭代法中最優(yōu)松弛因子的MATLAB數(shù)值選取
崔艷星,郭偉
(長治學(xué)院數(shù)學(xué)系,山西長治046011)
超松弛迭代法是數(shù)值計(jì)算中解大型線性方程組的一種快速有效的方法,而應(yīng)用超松弛迭代法的關(guān)鍵是要找到合適的松弛因子。文章提出了直接利用黃金分割法計(jì)算最優(yōu)松弛因子,給出了相應(yīng)的算法程序,最后,通過數(shù)值算例驗(yàn)證了該方法是可行且有效的。
線性方程組;超松弛迭代;MATLAB程序;最優(yōu)松弛因子
在科學(xué)計(jì)算中,經(jīng)常會(huì)遇到求解大型稀疏線性代數(shù)方程組的問題,而準(zhǔn)確快速的求解是其關(guān)鍵。迭代法是大型稀疏線性方程組的首選解法。在高斯塞德爾迭代法基礎(chǔ)上通過某個(gè)合適的松弛因子ω進(jìn)一步進(jìn)行松弛迭代,能減少計(jì)算步驟,極大縮短計(jì)算時(shí)間,這就是超松弛迭代法[1]。超松弛迭代法中松弛因子ω的取值選擇得當(dāng),可以極大地加快收斂速度并得到精確度較高的計(jì)算解,另外ω的選取直接影響到算法的收斂性及收斂速度[2-9]??茖W(xué)計(jì)算技術(shù)的發(fā)展及MATLAB軟件的成熟,使得我們可以借助SOR迭代法收斂必要條件[2,3],利用松弛因子和譜半徑的關(guān)系計(jì)算最優(yōu)松弛因子。
松弛因子ω的數(shù)值計(jì)算思想[5]
(1)給出ω的范圍,當(dāng)取不同的ω值時(shí),進(jìn)行迭代,在符合同一個(gè)精度要求下依次求出譜半徑的值,比較出最小的譜半徑,那么這個(gè)最小的譜半徑所對應(yīng)的ω即為所求最佳松弛因子。
(2)給出ω的范圍,當(dāng)取不同的ω值時(shí),進(jìn)行迭代,看它們在相同精度范圍內(nèi)的迭代次數(shù),找到迭代次數(shù)最少的那一個(gè),其所對應(yīng)的ω即為最佳松弛因子。
可見,最優(yōu)松弛因子對應(yīng)的最小譜半徑,而黃金分割法對于數(shù)值求解單調(diào)函數(shù)的極值是方便的[5]。因此,可以把黃金分割法應(yīng)用在求最優(yōu)松弛因子上,其算法如下:
Step1:利用運(yùn)籌學(xué)思想,在(1,2)之間選取四個(gè)點(diǎn):
Step2:分別取w1與w2作為松弛因子代入迭代程序,比較出最少的迭代次數(shù),如果對w1對應(yīng)的迭代次數(shù)少,則選?。╟,w2)作為收斂區(qū)間,如果是w2對應(yīng)的迭代次數(shù)少,則選取(w1,d)作為收斂區(qū)間。
Step3:在所選取的收斂區(qū)間里循環(huán)進(jìn)行上述的兩個(gè)步驟,直到選取出滿足精度要求且對應(yīng)的兩個(gè)黃金分割點(diǎn)w1與w2的距離值不超過某個(gè)數(shù)h時(shí)選w2為最優(yōu)松弛因子。
根據(jù)上述算法,我們給出了如下形式的MATLAB程序,把它編寫成一個(gè)函數(shù)儲(chǔ)存在MATLAB的work文件夾下:
通過上面的程序我們給出一個(gè)數(shù)值算例來驗(yàn)證這兩種方法及程序的有效性。方程組Ax=b
程序運(yùn)行結(jié)果如下:
最后輸出的w2是得到的滿足條件的最優(yōu)松弛因子,從上可以直接求得最優(yōu)松弛因子為1.1762。
[1]李慶揚(yáng),王能超,易大義.數(shù)值分析[M],清華大學(xué)出版社,2008.
[2]施吉林.計(jì)算機(jī)數(shù)值方法[M].北京:高等教育出版社,2000.
[3]王詩然.稀疏線性方程組求解的逐次超松弛迭代法[J],沈陽師范大學(xué)學(xué)報(bào),2006,4,407-409.
[4]蔣家羚,王勇.最有超松弛因子的一種確定方法及其在裂紋計(jì)算中的應(yīng)用[J].研究簡報(bào)2002,24 (2):133-135.
[5]田野,李春光,江巧永.基于差分進(jìn)化算法確定SOR超松弛因子[J].甘肅聯(lián)合大學(xué)學(xué)報(bào),2011,25 (3):126-129.
[6]李建宇,黎燕.牛頓一SOR迭代方法中最佳松弛因子的算法[J],四川大學(xué)學(xué)報(bào),1995,4,381-382.
[7]汪仲文.解線性方程組的迭代方法之比較[J],喀什師范學(xué)院學(xué)報(bào).2008,29(6):286-291.
[8]李春光,徐成賢.確定SOR最優(yōu)松弛因子的一個(gè)實(shí)用算法[J].計(jì)算力學(xué)學(xué)報(bào),2002,19(3):299-302.
[9]謝竹誠,周永權(quán).基于自適應(yīng)遺傳算法的逐次超松弛迭代法[J].數(shù)學(xué)的實(shí)踐與認(rèn)識,2009,39(3): 154-160.
(責(zé)任編輯趙巨濤)
O241
A
1673-2014(2016)02-0067-02
2014年長治學(xué)院教學(xué)研究項(xiàng)目;2013年長治學(xué)院科學(xué)研究項(xiàng)目(2013202)。
2016—02—23
崔艷星(1981—),男,山西長治人,講師,主要從事數(shù)值代數(shù)方面的研究。