王 霞,張啟虎
(鄭州輕工業(yè)學(xué)院 數(shù)學(xué)與信息科學(xué)系,河南 鄭州 450002)
數(shù)值分析中牛頓迭代法的引入方法探討
王 霞,張啟虎
(鄭州輕工業(yè)學(xué)院 數(shù)學(xué)與信息科學(xué)系,河南 鄭州 450002)
數(shù)值分析中牛頓迭代法是求解非線性方程的基本方法.與一般教材上牛頓迭代法的引入方法相比,用積分方程引入牛頓迭代法更能體現(xiàn)數(shù)值計(jì)算中的“近似”和“構(gòu)造”思想,便于進(jìn)一步介紹牛頓法的各種改進(jìn)形式,有利于學(xué)生“創(chuàng)新”算法能力的培養(yǎng)和創(chuàng)新意識的形成.
非線性方程;牛頓迭代法;數(shù)值分析;效率指數(shù);方程求根
數(shù)值分析是理工科學(xué)生必學(xué)的一門重要課程.?dāng)?shù)值分析課程要求學(xué)生掌握具體數(shù)值計(jì)算的方法與理論,強(qiáng)調(diào)算法的實(shí)際應(yīng)用.?dāng)?shù)值分析課程的學(xué)生群體可分為兩類:一類是信息與計(jì)算科學(xué)等專業(yè)的理科學(xué)生,其學(xué)習(xí)目標(biāo)是“研究”和“創(chuàng)新”算法;另一類是工科學(xué)生,其主要學(xué)習(xí)目標(biāo)是掌握算法的使用.這兩個(gè)群體的學(xué)習(xí)目標(biāo)不同,教學(xué)內(nèi)容及側(cè)重點(diǎn)也應(yīng)有所區(qū)別.
科學(xué)研究和工程計(jì)算中常常遇到求解非線性方程(組)的問題.?dāng)?shù)值分析教材中,牛頓迭代法(CN法)[1―11]是求解非線性方程
的一種基本方法,其迭代格式為
(2)式二次收斂于方程(1)的單根,因其收斂速度快,所以牛頓迭代法被廣泛應(yīng)用于非線性方程的求解.牛頓迭代法的引入方法直接關(guān)系到學(xué)生對此內(nèi)容的理解和應(yīng)用,因此,本文主要探討牛頓迭代法的引入方法.
牛頓迭代法是“非線性方程”這一章的重要一節(jié),由于與其他章節(jié)的聯(lián)系很小,所以在不同數(shù)值分析教材中該章所處位置也不同.文[1―4]將該內(nèi)容放在“數(shù)值積分與數(shù)值微分”之后,文[5―11]將其放在“數(shù)值積分與數(shù)值微分”之前.
牛頓迭代法的常見引入方法可概括為以下4種:
方法1 直接給出迭代函數(shù)的具體形式[1―2].文[1]中,直接選取迭代函數(shù),其對應(yīng)的迭代格式為(2)式;文[2]直接給出了(2)式.
方法2 利用泰勒公式導(dǎo)入牛頓迭代法[3―8],其基本思路是:設(shè)方程(1)的近似根為 xn,將函數(shù) f(x)在xn處作泰勒展開,有
用前面兩項(xiàng)近似表示f(x),得近似線性方程
設(shè) f′(xn)≠ 0,令其解 x=xn+1,則得(2)式.
方法3 利用校正技術(shù)引入牛頓迭代法[9],基本思路是:設(shè)方程(1)的近似根為xn,其校正值 xn+1=xn+Δx能更好地滿足方程(1),即 f(xn+1)≈ 0.將方程(1)的左端用 f(x)在 xn處的微分 f(xn)+ f′(xn)Δx來代替,則有 f(xn)+ f′(xn)Δ x=0,于是
整理可得(2)式.
方法 4 引入一般的帶待定函數(shù)的迭代函數(shù),通過提高迭代法的收斂階確定待定函數(shù)[10―11],其基本思路是:由方程(1)總可以構(gòu)造迭代函數(shù)
其中k(x)為待定函數(shù),因?yàn)?/p>
且|φ′(x)|在根α附近越小其局部收斂速度越快,故令φ′(α)=0,從而k (α)=1/f′(α),f ′(α)≠0,于是得到迭代函數(shù)x=φ(x)=x ? f(x)/f′(x),從而得到(2)式.
對于以上的4種方法,方法1直接給出迭代函數(shù),適用于使用“算法”的學(xué)生,而對于“研究”和“創(chuàng)新”算法的學(xué)生來說是不適用的;方法2利用泰勒公式引入牛頓迭代法,利于激發(fā)學(xué)生“創(chuàng)新”算法的興趣;方法3一步步逼近問題的解,能夠使學(xué)生深刻體會(huì)逐步逼近的數(shù)學(xué)思想;方法4能使學(xué)生更清楚地理解收斂階的概念.
2.1 牛頓迭代法的積分引入法
下面給出一種新的引入牛頓迭代法的方法[12],此方法的引入需要以數(shù)值積分的知識作為基礎(chǔ),也就是說要把“數(shù)值積分與數(shù)值微分”這一章放在“非線性方程的數(shù)值解法”之前講授.
令α是光滑函數(shù) f(x)的零點(diǎn),考慮方程 f(x)=0的數(shù)值解.由牛頓定理,顯然有
將(4)式右端的積分值用數(shù)值積分中的左矩形公式近似代替,并令x=α,可得0 ≈ f(xn)+(α ? xn)f′(xn),從而解出α≈ xn? f(xn)f′(xn).令 α=xn+1,即可得到
這樣,由積分方程和牛頓定理,利用數(shù)值積分中的左矩形公式就引入了牛頓法.這樣的引入方法會(huì)帶給學(xué)生這樣一個(gè)思考:左矩形公式(或右矩形公式)是數(shù)值積分的一個(gè)簡單的代替,其精度較低,因此得到的牛頓迭代法的收斂階也較低,如果用精度較高的梯形公式近似代替(4)右端的積分項(xiàng),能否得到更高階的迭代公式呢?
2.2 牛頓迭代法的改進(jìn)
其中 n=0,1,2,… .(5)式的迭代需要隱式計(jì)算,這會(huì)給求解帶來很大麻煩,為避免隱式計(jì)算,下面給出預(yù)估–校正的方法,即
其中 n=0,1,2,… .可以證明(6)式為三階收斂,它是對牛頓迭代法的改進(jìn),其效率指數(shù)為,大于牛頓法的效率指數(shù)與(6)式對應(yīng)的方法稱為梯形牛頓法或代數(shù)平均牛頓法(AN法)[12].
沿著此思路,學(xué)生自然能想到兩個(gè)數(shù)的平均不只代數(shù)平均.這時(shí),教師可介紹調(diào)和平均牛頓法、幾何平均牛頓法等.
用 f′(xn)和 f′(zn)的調(diào)和平均值代替 f′(xn),可得到調(diào)和平均牛頓法(HN法)[13],即
用 f′(xn)和 f′(zn)的幾何平均值代替 f′(xn),可得到幾何平均牛頓法(GN法)[14],即
與一般教材上牛頓迭代法的引入方法相比,用積分方程引入牛頓迭代法更能體現(xiàn)數(shù)值計(jì)算中的“近似”和“構(gòu)造”思想,便于進(jìn)一步介紹牛頓法的各種改進(jìn)形式,有利于學(xué)生“創(chuàng)新”算法能力的培養(yǎng)和創(chuàng)新意識的形成.
[1] 陳公寧,沈嘉驥.計(jì)算方法引論[M].北京:北京師范大學(xué)出版社,2000:130―142.
[2] 林成森.?dāng)?shù)值計(jì)算方法[M].北京:科學(xué)出版社,2005,33―41.
[3] 孫志忠,袁慰平,聞?wù)癯酰當(dāng)?shù)值分析[M].南京:東南大學(xué)出版社,2002,34―43.
[4] 馬東升.?dāng)?shù)值計(jì)算方法[M].北京:機(jī)械工業(yè)出版社,2004,32―39.
[5] 李慶揚(yáng),易達(dá)義,王能超.現(xiàn)代數(shù)值分析[M].北京:高等教育出版社,1995,26―268.
[6] 鄧建中,葛仁杰,程正興.計(jì)算方法[M].西安:西安交通大學(xué)出版社,1985,191―197.
[7] 石東洋.?dāng)?shù)值計(jì)算方法[M].鄭州:鄭州大學(xué)出版社,2007,158―164.
[8] 張韻華,奚梅成,陳效群.?dāng)?shù)值計(jì)算方法與算法[M].北京:科學(xué)出版社,2006,90―93.
[9] 王能超.計(jì)算方法簡明教程[M].北京:高等教育出版社,2004,123―126.
[10] 施吉林,劉淑珍,陳桂芝.計(jì)算機(jī)數(shù)值方法[M].北京:高等教育出版社,1999,238―247.
[11] 白峰杉.?dāng)?shù)值計(jì)算引論[M].北京:高等教育出版社,2004,136―139.
[12] Weerakoon S,F(xiàn)ernando T G L.A variant of Newton’s method with accelerated third-order convergence[J].Appl. Math.lett.,2000,13(8):87―93.
[13] ?ZBAN A Y.Some variants of Newton’s methods[J].Appl. Math.lett.,2004,17:677―682.
[14] 王霞,趙玲玲,李飛敏.牛頓方法的兩個(gè)新格式[J].?dāng)?shù)學(xué)的實(shí)踐與認(rèn)識,2007,37(1):72―76.
〔責(zé)任編輯 張繼金〕
G642,O241.7
A
1006-5261(2010)05-0073-02
2010-01-14
河南省教育廳自然科學(xué)基金項(xiàng)目(2008-755-65);鄭州輕工業(yè)學(xué)院教改項(xiàng)目
王霞(1970―),女,河南開封人,副教授.