Movatterモバイル変換


[0]ホーム

URL:


Wikipedia

Householder's method

This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Householder's method" – news ·newspapers ·books ·scholar ·JSTOR
(November 2013) (Learn how and when to remove this message)
This article includes alist of references,related reading, orexternal links,but its sources remain unclear because it lacksinline citations. Please helpimprove this article byintroducing more precise citations.(May 2024) (Learn how and when to remove this message)

Inmathematics, and more specifically innumerical analysis,Householder's methods are a class ofroot-finding algorithms that are used for functions of one real variable with continuous derivatives up to some orderd + 1. Each of these methods is characterized by the numberd, which is known as theorder of the method. The algorithm is iterative and has anorder of convergence ofd + 1.

These methods are named after the American mathematicianAlston Scott Householder. The case ofd = 1 corresponds toNewton's method; the case ofd = 2 corresponds toHalley's method.

Method

edit

Householder's method is a numerical algorithm for solving the equationf(x) = 0. In this case, the functionf has to be a function of one real variable. The method consists of a sequence of iterations

xn+1=xn+d(1/f)(d1)(xn)(1/f)(d)(xn){\displaystyle x_{n+1}=x_{n}+d\;{\frac {\left(1/f\right)^{(d-1)}(x_{n})}{\left(1/f\right)^{(d)}(x_{n})}}} 

beginning with an initial guessx0.[1]

Iff is ad + 1 times continuously differentiable function anda is a zero off but not of its derivative, then, in a neighborhood ofa, the iteratesxn satisfy:[citation needed]

|xn+1a|K|xna|d+1{\displaystyle |x_{n+1}-a|\leq K\cdot {|x_{n}-a|}^{d+1}} , for someK>0.{\displaystyle K>0.\!} 

This means that the iterates converge to the zero if the initial guess is sufficiently close, and that the convergence has orderd + 1 or better. Furthermore, when close enough toa, it commonly is the case thatxn+1aC(xna)d+1{\displaystyle x_{n+1}-a\approx C(x_{n}-a)^{d+1}}  for someC0{\displaystyle C\neq 0} . In particular,

  • ifd + 1 is even andC > 0 then convergence toa will be from values greater thana;
  • ifd + 1 is even andC < 0 then convergence toa will be from values less thana;
  • ifd + 1 is odd andC > 0 then convergence toa will be from the side where it starts; and
  • ifd + 1 is odd andC < 0 then convergence toa will alternate sides.

Despite their order of convergence, these methods are not widely used because the gain in precision is not commensurate with the rise in effort for larged. TheOstrowski index expresses the error reduction in the number of function evaluations instead of the iteration count.[2]

Motivation

edit

First approach

edit

Supposef is analytic in a neighborhood ofa andf(a) = 0. Thenf has aTaylor series ata and its constant term is zero. Because this constant term is zero, the functionf(x) / (xa) will have a Taylor series ata and, whenf ′ (a) ≠ 0, its constant term will not be zero. Because that constant term is not zero, it follows that the reciprocal(xa) /f(x) has a Taylor series ata, which we will write ask=0ck(xa)kk!{\displaystyle \sum _{k=0}^{\infty }{\frac {c_{k}(x-a)^{k}}{k!}}}  and its constant termc0 will not be zero. Using that Taylor series we can write1f=c0xa+k=1ck(xa)k1k (k1)!.{\displaystyle {\frac {1}{f}}={\frac {c_{0}}{x-a}}+\sum _{k=1}^{\infty }{\frac {c_{k}(x-a)^{k-1}}{k~(k-1)!}}\,.} When we compute itsd-th derivative, we note that the terms fork = 1, ...,d conveniently vanish:(1f)(d)=(1)dd! c0(xa)d+1+k=d+1ck(xa)kd1k (kd1)!{\displaystyle \left({\frac {1}{f}}\right)^{(d)}={\frac {(-1)^{d}d!~c_{0}}{(x-a)^{d+1}}}+\sum _{k=d+1}^{\infty }{\frac {c_{k}(x-a)^{k-d-1}}{k~(k-d-1)!}}} =(1)dd! c0(xa)d+1(1+1(1)dd! c0k=d+1ck(xa)kk (kd1)!){\displaystyle ={\frac {(-1)^{d}d!~c_{0}}{(x-a)^{d+1}}}\left(1+{\frac {1}{(-1)^{d}d!~c_{0}}}\sum _{k=d+1}^{\infty }{\frac {c_{k}(x-a)^{k}}{k~(k-d-1)!}}\right)} =(1)dd! c0(xa)d+1(1+O((xa)d+1)),{\displaystyle ={\frac {(-1)^{d}d!~c_{0}}{(x-a)^{d+1}}}\left(1+{\mathcal {O}}\left((x-a)^{d+1}\right)\right)\,,} usingbig O notation. We thus get that the correction term that we add tox =xn to get a value ofxn+1 that is closer toa is:d (1/f)(d1)(1/f)(d)=d (1)d1(d1)! c0(1)dd! c0(xa)(1+O((xa)d)1+O((xa)d+1)){\displaystyle d~{\frac {(1/f)^{(d-1)}}{(1/f)^{(d)}}}=d~{\frac {(-1)^{d-1}(d-1)!~c_{0}}{(-1)^{d}d!~c_{0}}}(x-a)\left({\frac {1+{\mathcal {O}}\left((x-a)^{d}\right)}{1+{\mathcal {O}}\left((x-a)^{d+1}\right)}}\right)} =((xa)+O((xa)d+1)).{\displaystyle =-\left((x-a)+{\mathcal {O}}\left((x-a)^{d+1}\right)\right)\,.} Thus,x+d (1/f)(d1)(1/f)(d){\displaystyle x+d~{\frac {(1/f)^{(d-1)}}{(1/f)^{(d)}}}}  goes toa+O((xa)d){\displaystyle a+{\mathcal {O}}\left((x-a)^{d}\right)} .

Second approach

edit

Supposex =a is a simple root. Then nearx =a,(1/f)(x) is ameromorphic function. Suppose we have theTaylor expansion:(1/f)(x)=d=0(1/f)(d)(b)d!(xb)d{\displaystyle (1/f)(x)=\sum _{d=0}^{\infty }{\frac {(1/f)^{(d)}(b)}{d!}}(x-b)^{d}} around a pointb that is closer toa than it is to any other zero off. ByKönig's theorem, we have:ab=limd(1/f)(d1)(b)(d1)!(1/f)(d)(b)d!=d(1/f)(d1)(b)(1/f)(d)(b).{\displaystyle a-b=\lim _{d\rightarrow \infty }{\frac {\frac {(1/f)^{(d-1)}(b)}{(d-1)!}}{\frac {(1/f)^{(d)}(b)}{d!}}}=d{\frac {(1/f)^{(d-1)}(b)}{(1/f)^{(d)}(b)}}.} 

These suggest that Householder's iteration might be a good convergent iteration. The actual proof of the convergence is also based on these ideas.

The methods of lower order

edit

Householder's method of order 1 is justNewton's method, since:xn+1=xn+1(1/f)(xn)(1/f)(1)(xn)=xn+1f(xn)(f(xn)f(xn)2)1=xnf(xn)f(xn).{\displaystyle {\begin{array}{rl}x_{n+1}=&x_{n}+1\,{\frac {\left(1/f\right)(x_{n})}{\left(1/f\right)^{(1)}(x_{n})}}\\[.7em]=&x_{n}+{\frac {1}{f(x_{n})}}\cdot \left({\frac {-f'(x_{n})}{f(x_{n})^{2}}}\right)^{-1}\\[.7em]=&x_{n}-{\frac {f(x_{n})}{f'(x_{n})}}.\end{array}}} 

For Householder's method of order 2 one getsHalley's method, since the identities(1/f)(x)=f(x)f(x)2 {\displaystyle \textstyle (1/f)'(x)=-{\frac {f'(x)}{f(x)^{2}}}\ } and (1/f)(x)=f(x)f(x)2+2f(x)2f(x)3{\displaystyle \textstyle \ (1/f)''(x)=-{\frac {f''(x)}{f(x)^{2}}}+2{\frac {f'(x)^{2}}{f(x)^{3}}}} result inxn+1=xn+2(1/f)(xn)(1/f)(xn)=xn+2f(xn)f(xn)f(xn)f(xn)+2f(xn)2=xnf(xn)f(xn)f(xn)212f(xn)f(xn)=xn+hn11+12(f/f)(xn)hn.{\displaystyle {\begin{array}{rl}x_{n+1}=&x_{n}+2\,{\frac {\left(1/f\right)'(x_{n})}{\left(1/f\right)''(x_{n})}}\\[1em]=&x_{n}+{\frac {-2f(x_{n})\,f'(x_{n})}{-f(x_{n})f''(x_{n})+2f'(x_{n})^{2}}}\\[1em]=&x_{n}-{\frac {f(x_{n})f'(x_{n})}{f'(x_{n})^{2}-{\tfrac {1}{2}}f(x_{n})f''(x_{n})}}\\[1em]=&x_{n}+h_{n}\;{\frac {1}{1+{\frac {1}{2}}(f''/f')(x_{n})\,h_{n}}}.\end{array}}} In the last line,hn=f(xn)f(xn){\displaystyle h_{n}=-{\tfrac {f(x_{n})}{f'(x_{n})}}}  is the update of the Newton iteration at the pointxn{\displaystyle x_{n}} . This line was added to demonstrate where the difference to the simple Newton's method lies.

The third order method is obtained from the identity of the third order derivative of1/f(1/f)(x)=f(x)f(x)2+6f(x)f(x)f(x)36f(x)3f(x)4{\displaystyle \textstyle (1/f)'''(x)=-{\frac {f'''(x)}{f(x)^{2}}}+6{\frac {f'(x)\,f''(x)}{f(x)^{3}}}-6{\frac {f'(x)^{3}}{f(x)^{4}}}} and has the formulaxn+1=xn+3(1/f)(xn)(1/f)(xn)=xn6f(xn)f(xn)23f(xn)2f(xn)6f(xn)36f(xn)f(xn)f(xn)+f(xn)2f(xn)=xn+hn1+12(f/f)(xn)hn1+(f/f)(xn)hn+16(f/f)(xn)hn2{\displaystyle {\begin{array}{rl}x_{n+1}=&x_{n}+3\,{\frac {\left(1/f\right)''(x_{n})}{\left(1/f\right)'''(x_{n})}}\\[1em]=&x_{n}-{\frac {6f(x_{n})\,f'(x_{n})^{2}-3f(x_{n})^{2}f''(x_{n})}{6f'(x_{n})^{3}-6f(x_{n})f'(x_{n})\,f''(x_{n})+f(x_{n})^{2}\,f'''(x_{n})}}\\[1em]=&x_{n}+h_{n}{\frac {1+{\frac {1}{2}}(f''/f')(x_{n})\,h_{n}}{1+(f''/f')(x_{n})\,h_{n}+{\frac {1}{6}}(f'''/f')(x_{n})\,h_{n}^{2}}}\end{array}}} and so on.

Example

edit

The first problem solved by Newton with the Newton-Raphson-Simpson method was the polynomial equationy32y5=0{\displaystyle y^{3}-2y-5=0} . He observed that there should be a solution close to 2. Replacingy =x + 2 transforms the equation into0=f(x)=1+10x+6x2+x3{\displaystyle 0=f(x)=-1+10x+6x^{2}+x^{3}} .The Taylor series of the reciprocal function starts with1/f(x)=110x106x21121x311856x4125392x51326177x614025978x7148342234x81568904385x916593123232x10+O(x11){\displaystyle {\begin{array}{rl}1/f(x)=&-1-10\,x-106\,x^{2}-1121\,x^{3}-11856\,x^{4}-125392\,x^{5}\\&-1326177\,x^{6}-14025978\,x^{7}-148342234\,x^{8}-1568904385\,x^{9}\\&-16593123232\,x^{10}+O(x^{11})\end{array}}} The result of applying Householder's methods of various orders atx = 0 is also obtained by dividing neighboring coefficients of the latterpower series. For the first orders one gets the following values after just one iteration step: For an example, in the case of the 3rd order,x1=0.0+106/1121=0.09455842997324{\displaystyle x_{1}=0.0+106/1121=0.09455842997324} .

dx1
10.100000000000000000000000000000000
20.094339622641509433962264150943396
30.094558429973238180196253345227475
40.094551282051282051282051282051282
50.094551486538216154140615031261962
60.094551481438752142436492263099118
70.094551481543746895938379484125812
80.094551481542336756233561913325371
90.094551481542324837086869382419375
100.094551481542326678478801765822985

As one can see, there are a little bit more thand correct decimal places for each order d. The first one hundred digits of the correct solution are0.0945514815423265914823865405793029638573061056282391803041285290453121899834836671462672817771577578.

Let's calculate thex2,x3,x4{\displaystyle x_{2},x_{3},x_{4}}  values for some lowest order,

f=1+10x+6x2+x3{\displaystyle f=-1+10x+6x^{2}+x^{3}} f=10+12x+3x2{\displaystyle f^{\prime }=10+12x+3x^{2}} f=12+6x{\displaystyle f^{\prime \prime }=12+6x} f=6{\displaystyle f^{\prime \prime \prime }=6} 

And using following relations,

1st order;xi+1=xif(xi)/f(xi){\displaystyle x_{i+1}=x_{i}-f(x_{i})/f^{\prime }(x_{i})} 
2nd order;xi+1=xi2ff/(2f2ff){\displaystyle x_{i+1}=x_{i}-2ff^{\prime }/(2{f^{\prime }}^{2}-ff^{\prime \prime })} 
3rd order;xi+1=xi(6ff23f2f)/(6f36fff+f2f){\displaystyle x_{i+1}=x_{i}-(6f{f^{\prime }}^{2}-3f^{2}f^{\prime \prime })/(6{f^{\prime }}^{3}-6ff^{\prime }f^{\prime \prime }+f^{2}f^{\prime \prime \prime })} 
x1st (Newton)2nd (Halley)3rd order4th order
x10.1000000000000000000000000000000000.0943396226415094339622641509433950.0945584299732381801962533452274750.09455128205128
x20.0945681211041852181656277827248440.0945514815401642147171079662275000.094551481542326591482567319958483
x30.0945514816981993028838237035442660.0945514815423265914823865405793030.094551481542326591482386540579303
x40.0945514815423265914960648471537140.0945514815423265914823865405793030.094551481542326591482386540579303
x50.094551481542326591482386540579303
x60.094551481542326591482386540579303


Derivation

edit

An exact derivation of Householder's methods starts from thePadé approximation of orderd + 1 of the function, where the approximant with linearnumerator is chosen. Once this has been achieved, the update for the next approximation results from computing the unique zero of the numerator.

The Padé approximation has the formf(x+h)=a0+hb0+b1h++bd1hd1+O(hd+1).{\displaystyle f(x+h)={\frac {a_{0}+h}{b_{0}+b_{1}h+\cdots +b_{d-1}h^{d-1}}}+O(h^{d+1}).} The rational function has a zero ath=a0{\displaystyle h=-a_{0}} .

Just as the Taylor polynomial of degreed hasd + 1 coefficients that depend on the functionf, the Padé approximation also hasd + 1 coefficients dependent onf and its derivatives. More precisely, in any Padé approximant, the degrees of the numerator and denominator polynomials have to add to the order of the approximant. Therefore,bd=0{\displaystyle b_{d}=0}  has to hold.

One could determine the Padé approximant starting from the Taylor polynomial off usingEuclid's algorithm. However, starting from the Taylor polynomial of1/f is shorter and leads directly to the given formula. Since(1/f)(x+h)=(1/f)(x)+(1/f)(x)h++(1/f)(d1)(x)hd1(d1)!+(1/f)(d)(x)hdd!+O(hd+1){\displaystyle (1/f)(x+h)=(1/f)(x)+(1/f)'(x)h+\cdots +(1/f)^{(d-1)}(x){\frac {h^{d-1}}{(d-1)!}}+(1/f)^{(d)}(x){\frac {h^{d}}{d!}}+O(h^{d+1})} has to be equal to the inverse of the desired rational function, we get after multiplying witha0+h{\displaystyle a_{0}+h}  in the powerhd{\displaystyle h^{d}}  the equation0=bd=a0(1/f)(d)(x)1d!+(1/f)(d1)(x)1(d1)!{\displaystyle 0=b_{d}=a_{0}(1/f)^{(d)}(x){\frac {1}{d!}}+(1/f)^{(d-1)}(x){\frac {1}{(d-1)!}}} .

Now, solving the last equation for the zeroh=a0{\displaystyle h=-a_{0}}  of the numerator results inh=a0=1(d1)!(1/f)(d1)(x)1d!(1/f)(d)(x)=d(1/f)(d1)(x)(1/f)(d)(x){\displaystyle {\begin{aligned}h&=-a_{0}={\frac {{\frac {1}{(d-1)!}}(1/f)^{(d-1)}(x)}{{\frac {1}{d!}}(1/f)^{(d)}(x)}}\\&=d\,{\frac {(1/f)^{(d-1)}(x)}{(1/f)^{(d)}(x)}}\end{aligned}}} .

This implies the iteration formulaxn+1=xn+d(1/f)(d1)(xn)(1/f)(d)(xn){\displaystyle x_{n+1}=x_{n}+d\;{\frac {\left(1/f\right)^{(d-1)}(x_{n})}{\left(1/f\right)^{(d)}(x_{n})}}} .

Relation to Newton's method

edit

Householder's method applied to the real-valued functionf(x) is the same as applying Newton's methodxn+1=xng(xn)g(xn){\displaystyle x_{n+1}=x_{n}-{\frac {g(x_{n})}{g'(x_{n})}}} to find the zeros of the function:g(x)=|(1/f)(d1)|1/d.{\displaystyle g(x)=\left|(1/f)^{(d-1)}\right|^{-1/d}\,.} In particular,d = 1 gives Newton's method unmodified andd = 2 gives Halley's method.

References

edit
  1. ^Householder, Alston Scott (1970).The Numerical Treatment of a Single Nonlinear Equation. McGraw-Hill. p. 169.ISBN 0-07-030465-3.
  2. ^Ostrowski, A. M. (1966).Solution of Equations and Systems of Equations. Pure and Applied Mathematics. Vol. 9 (Second ed.). New York: Academic Press.

External links

edit

[8]ページ先頭

©2009-2025 Movatter.jp