吳 江,韓丹夫
(杭州師范大學理學院,浙江 杭州 311121)
近幾十年來,數(shù)值分析的研究工作因為計算機的快速發(fā)展而得到了大幅度推進.非線性方程求解是數(shù)值分析中極其重要的研究內(nèi)容.許多應用技術問題,如物理、工程技術等,都涉及到非線性方程問題,所以求解非線性方程是工程計算中非常重要的內(nèi)容.迭代法是求解非線性方程最常用的方法,其中牛頓迭代法最為常用.
在牛頓迭代法和其他經(jīng)典的迭代法被廣泛地應用后, 多位學者以牛頓迭代法為基礎,構(gòu)造了許多改進的迭代法[1-9],以此來提高迭代法的收斂階和收斂效率.筆者以牛頓迭代法和算術平均牛頓法為基礎,構(gòu)造收斂階更高的迭代法,以進一步提高迭代法的計算效率.
牛頓迭代法的迭代格式為
算術平均牛頓法是在牛頓迭代法基礎上改進的迭代法,迭代格式為:
在這一章中,以牛頓迭代法和算術平均牛頓法為基礎,構(gòu)造了兩種六階收斂的迭代格式,在提高收斂速度的同時,盡可能減少每步迭代所需計算的函數(shù)值和導數(shù)值個數(shù),以此來保證迭代法的效率指數(shù).
(1)
(2)
定理1設方程f(x)=0的一個單根為a,函數(shù)f(x)在包含a的一個開區(qū)間I中充分光滑,當x0充分靠近a時,則式(1)所定義的迭代法在開區(qū)間I中以六階收斂速度收斂于a,且其誤差方程為
證明將f(xn)和f′(xn)在a處使用泰勒公式展開:
(3)
(4)
由式(3)、(4)得到
(5)
由式(5)得
(6)
利用式(6),將f(yn),f′(yn)以及f″(yn)在a處使用泰勒公式展開:
(7)
(8)
(9)
由式(6)、(7)、(8)得到
(10)
由式(7)、(8)以及式(9)得到
(11)
由式(10)、(11)得
進而有
(12)
所以由式(12)知道迭代法(1)是具有六階收斂速度的迭代格式.
定理2設方程f(x)=0的一個單根為a,函數(shù)f(x)在包含a的一個開區(qū)間I中充分光滑,當x0充分靠近a時,則式(2)所定義的迭代法在開區(qū)間I中以六階收斂速度收斂于a,且其誤差方程為
證明將f(xn)和f′(xn)在a處使用泰勒公式展開:
(13)
(14)
由式(13)、(14)得到
(15)
由式(15)得
(16)
利用式(16),將f(yn)以及f′(yn)在a處使用泰勒公式展開:
(17)
(18)
由式(13)、(14)以及式(18)得到
(19)
由式(14)、(18)得
(20)
將f(zn)在a處使用泰勒公式展開,得到
f(zn)=f′(a)[(zn-a)+c2(zn-a)2+o((zn-a)3)].
(21)
由式(20)、(21)有
(22)
由式(19)得到
(23)
由式(22)、(23)得到
(24)
由式(24)知道迭代法(2)是具有六階收斂速度的迭代格式.
為驗證新構(gòu)造迭代法的有效性,將上述構(gòu)造的兩個六階迭代法與牛頓迭代法和算術平均牛頓法進行比較.數(shù)值實驗使用MATLAB2016b進行,精度設置為1 024位(digits =1 024).使用的測試函數(shù)如下:
f1(x)=x5-2x-8,a=1.622 528 493 002 836.
f2(x)=ex-10,a=2.302 585 092 994 046.
f3(x)=cos(x)-x,a=0.739 085 133 215 161.
f4(x)=x3+ex-x+sin(x),a=-0.809 586 035 891 489.
各個測試函數(shù)的數(shù)值實驗結(jié)果列于表1至表4.表中以NM表示牛頓迭代法,AN表示算術平均牛頓法,MH1表示迭代法(1),MH2表示迭代法(2),x0表示迭代初值.每一個測試函數(shù)選取兩個迭代初值,迭代停止條件為|xn-xn-1|<10-15,并輸出誤差值,n表示迭代次數(shù),xn表示迭代結(jié)束后得到的近似零點.
表1 測試函數(shù)為f1(x)的數(shù)值實驗Tab.1 Numerical experimental results of test function f1(x)
表2 測試函數(shù)為f2(x)的數(shù)值實驗Tab.2 Numerical experimental results of test function f2(x)
表3 測試函數(shù)為f3(x)的數(shù)值實驗Tab.3 Numerical experimental results of test function f3(x)
表4 測試函數(shù)為f4(x)的數(shù)值實驗Tab.4 Numerical experimental results of test function f4(x)
由表中數(shù)據(jù)可以看出,迭代法(1)和(2)的迭代次數(shù)均少于牛頓迭代法和算術平均牛頓法,這也印證了迭代法(1)和(2)的收斂階要高于牛頓迭代法和算術平均牛頓法.此外,表2顯示,當?shù)踔禐?時,迭代法(1)的迭代次數(shù)比迭代法(2)少1次.而表4結(jié)果也顯示,當?shù)踔禐?時,出現(xiàn)了同樣的結(jié)果.可見在有些情況下,迭代法(1)的收斂速度比迭代法(2)更快.
數(shù)值實驗結(jié)果表明,兩種六階收斂的迭代法具有更快的收斂速度,并且在提高收斂速度的同時,僅增加了很小的計算成本,具有一定的優(yōu)越性.迭代法(1)是在牛頓迭代法的基礎上,每一步迭代增加了一個函數(shù)值、一個導數(shù)值和一個二階導數(shù)值的計算,效率指數(shù)從之前的1.414增加到了1.431.迭代法(2)是在算術平均牛頓法的基礎上,每一步迭代增加了一個函數(shù)值的計算,效率指數(shù)從之前的1.442增加到了1.565.可見新的迭代法對于理論和實際應用都具有一定的意義.