(1) 若x*是?(x)的不动点,??(x)在x*处连续,且??(x)?1,则x*也是?(x)的不动点,反之,若x*是?(x)的不动点,则x*也是?(x)的不动点。
(2) 若x*是?(x)的不动点,??(x)在x*处连续,且??(x)?1,则Steffensen迭代公式至少是平方收敛。(证明见6p60)
2.6 代数方程求根
当f(x)是多项式时,方程f(x)=0称作代数方程。在牛顿迭代法中,要求
f(x0),f?(x0),设 f(x)?a0xn?a1xn?1???an?1x?an
?(?((a0x?a1)x?a2)x??an?1)x?an令 b0?a0,bi?ai?x0bi?1(i?1,2,?,n), 则 f(x0)?bn。
为求f?(x0),考查f(x)求导,即
f?(x)?[?((a0x?a1)x?a2)x??an?1]?x?(?((a0x?a1)x?a2)x??an?1)?([?((a0x?a1)x?a2)x??an?2]?x?(?((a0x?a1)x?a2)x??an?1))x?(?((a0x?a1)x?a2)x??an?1)?(?(a0x?a1)x??(?((a0x?a1)x?a2)x??an?2)x?(?((a0x?a1)x?a2)x??an?1))x?(?((a0x?a1)x?a2)x??an?1)则
f?(x0)?(?(a0x0?a1)x0??(?((a0x0?a1)x0?a2)x0??an?2)x0?(?((a0x0?a1)x0?a2)x0??an?1))x0?(?((a0x0?a1)x0?a2)x0??an?1) ?(?((b0x0?b1)x0?b2)x0??bn?2)x0?bn?1上述结果用于代数方程f(x)=0的牛顿迭代公式xk?1?xk?f(xk)/f?(xk) 中,f(xk),f?(xk)的计算公式如下:
?b0?a0??bi?ai?xkbi?11?i?n ?f(x)?bkn??c0?b0??ci?bi?xkci?11?i?n?1 ?f?(x)?ckn?1?2.7 求方程的m重根
设x*是方程f(x)?0的m(?2)重根,则f(x)?(x?x*)mg(x),其中
g(x*)?0。若f(x)在x*的某个邻域内有m阶连续导数,由于 f(x*)?f?(x*)???f(m?1)(x*)?0,而f(m)(x*)?0,由泰勒展式,得
11
f(m)(?1)f(x)?(x?x*)m
m!f(m)(?2)f?(x)?(x?x*)m?1
(m?1)!f(m)(?3)f??(x)?(x?x*)m?2
(m?2)!其中?1,?2,?3介于x与x*之间,由牛顿迭代函数?(x)?x?f(x)可得 ?f(x)(x?x*)f(m)(?1)* ?(x)?lim ?(x)?lim[x?]?x(m)x?x*x?x*mf(?2)*(m?1)f(m)(?1)f(m)(?3)f(x)f??(x)1? ??(x)?lim?(x)?lim?lim?1?(m)2x?x*x?x*[f?(x)]2x?x*mm[f(?2)]*由于?(x*)?x*且0???(x*)?1,由定理2-2及2-4知,此时牛顿迭代公式收敛,但只有线性收敛速度。
为提高收敛阶数,分两种情况进行修改:
(1) 当重数m已知时,构造迭代函数?1(x)?x?显然?1(x*)?x*,利用上面的结果lim*x?xmf(x),此时 ?f(x)f(x)f??(x)1,不难推出 ?1?2m[f?(x)]?(x*)?0,从而迭代公式xk?1??1(xk)至少平方收敛。 ?1f(x)(x?x*)g(x)(2) 当重数m未知时,令u(x)?=, *f?(x)mg(x)?(x?x)g?(x)显然,x*是u(x)的单零点。令迭代函数?2(x)?x??(x*)?lim??(x)?lim?2x?x*u(x),此时, u?(x)u(x)u??(x)?0,从而迭代公式
x?x*[u?(x)]2 xk?1??2(xk)?xk?u(xk)f(xk)f?(xk)至少平方收敛。 ?xk?u?(xk)[f?(xk)]2?f(xk)f??(xk) P27例9 作业:p28 3,4,9,14,15,18
12