Householder's method

From testwiki
Jump to navigation Jump to search

Template:Short descriptionTemplate:Use dmy dates Template:Refimprove Template:No footnotes In mathematics, and more specifically in numerical analysis, Householder's methods are a class of root-finding algorithms that are used for functions of one real variable with continuous derivatives up to some order Template:Math. Each of these methods is characterized by the number Template:Mvar, which is known as the order of the method. The algorithm is iterative and has an order of convergence of Template:Math.

These methods are named after the American mathematician Alston Scott Householder. The case of Template:Math corresponds to Newton's method; the case of Template:Math corresponds to Halley's method.

Method

Householder's method is a numerical algorithm for solving the equation Template:Math. In this case, the function Template:Mvar has to be a function of one real variable. The methodTemplate:Sfn consists of a sequence of iterations

xn+1=xn+d(1/f)(d−1)(xn)(1/f)(d)(xn)

beginning with an initial guess Template:Math, where the superscript in parentheses indicates the number of times the function is differentiated.

If Template:Mvar is a Template:Math times continuously differentiable function and Template:Mvar is a zero of Template:Mvar but not of its derivative, then, in a neighborhood of Template:Mvar, the iterates Template:Math satisfy:Template:Cn

|xn+1−a|≤K⋅|xn−a|d+1, for some K>0.

This means that the iterates converge to the zero if the initial guess is sufficiently close, and that the convergence has order Template:Math or better. Furthermore, when close enough to Template:Mvar, it commonly is the case that xn+1−a≈C(xn−a)d+1 for some C≠0. In particular,

Despite their order of convergence, these methods are not widely used when Template:Math because the gain in precision is not commensurate with the rise in effort. The Ostrowski index expresses the error reduction in the number of function evaluations instead of the iteration count.Template:Sfn

Motivation

First approach

Suppose Template:Mvar is analytic in a neighborhood of Template:Mvar and Template:Math. Then Template:Mvar has a Taylor series at Template:Mvar and its constant term is zero. Because this constant term is zero, the function Template:Math will have a Taylor series at Template:Mvar and, when Template:Math, its constant term will not be zero. Because that constant term is not zero, it follows that the reciprocal Template:Math has a Taylor series at Template:Mvar, which we will write as ∑k=0∞ck(x−a)kk! and its constant term Template:Math will not be zero. Using that Taylor series we can write 1f=c0x−a+∑k=1∞ck(x−a)k−1k(k−1)!. When we compute its Template:Mvar-th derivative, we note that the terms for Template:Math conveniently vanish: (1f)(d)=(−1)dd!c0(x−a)d+1+∑k=d+1∞ck(x−a)k−d−1k(k−d−1)! =(−1)dd!c0(x−a)d+1(1+1(−1)dd!c0∑k=d+1∞ck(x−a)kk(k−d−1)!) =(−1)dd!c0(x−a)d+1(1+𝒪((x−a)d+1)), using big O notation. We thus get that the correction term that we add to Template:Math to get a value of Template:Math that is closer to Template:Mvar is: d(1/f)(d−1)(1/f)(d)=d(−1)d−1(d−1)!c0(−1)dd!c0(x−a)(1+𝒪((x−a)d)1+𝒪((x−a)d+1)) =−((x−a)+𝒪((x−a)d+1)). Thus, x+d(1/f)(d−1)(1/f)(d) is Template:Tmath.

Second approach

Suppose Template:Math is a simple root. Then near Template:Math, Template:Math is a meromorphic function. Suppose we have the Taylor expansion: (1/f)(x)=∑d=0∞(1/f)(d)(b)d!(x−b)d around a point Template:Mvar that is closer to Template:Mvar than it is to any other zero of Template:Mvar. By König's theorem, we have: a−b=limd→∞(1/f)(d−1)(b)(d−1)!(1/f)(d)(b)d!=limd→∞d(1/f)(d−1)(b)(1/f)(d)(b).

This suggests 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

Householder's method of order 1 is just Newton's method, since: xn+1=xn+1(1/f)(xn)(1/f)(1)(xn)=xn+1f(xn)⋅(−f′(xn)f(xn)2)−1=xn−f(xn)f′(xn).

For Householder's method of order 2 one gets Halley's method, since the identities (1/f)′(x)=−f′(x)f(x)2  and  (1/f)″(x)=−f″(x)f(x)2+2f′(x)2f(x)3 result in xn+1=xn+2(1/f)′(xn)(1/f)″(xn)=xn+−2f(xn)f′(xn)−f(xn)f″(xn)+2f′(xn)2=xn−f(xn)f′(xn)f′(xn)2−12f(xn)f″(xn)=xn+hn11+12(f″/f′)(xn)hn. In the last line, hn=−f(xn)f′(xn) is the update of the Newton iteration at the point xn. 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 of Template:Math (1/f)‴(x)=−f‴(x)f(x)2+6f′(x)f″(x)f(x)3−6f′(x)3f(x)4 and has the formula xn+1=xn+3(1/f)″(xn)(1/f)‴(xn)=xn−6f(xn)f′(xn)2−3f(xn)2f″(xn)6f′(xn)3−6f(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 and so on.

Example

The first problem solved by Newton with the Newton-Raphson-Simpson method was the polynomial equation y3−2y−5=0. He observed that there should be a solution close to 2. Replacing Template:Math transforms the equation into 0=f(x)=−1+10x+6x2+x3. The Taylor series of the reciprocal function starts with 1/f(x)=−1−10x−106x2−1121x3−11856x4−125392x5−1326177x6−14025978x7−148342234x8−1568904385x9−16593123232x10+O(x11) The result of applying Householder's methods of various orders at Template:Math is also obtained by dividing neighboring coefficients of the latter power 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.

d x1
1 0.100000000000000000000000000000000
2 0.094339622641509433962264150943396
3 0.094558429973238180196253345227475
4 0.094551282051282051282051282051282
5 0.094551486538216154140615031261962
6 0.094551481438752142436492263099118
7 0.094551481543746895938379484125812
8 0.094551481542336756233561913325371
9 0.094551481542324837086869382419375
10 0.094551481542326678478801765822985

As one can see, there are a little bit more than Template:Mvar correct decimal places for each order d. The first one hundred digits of the correct solution are Template:Gaps.

Let's calculate the x2,x3,x4 values for some lowest order,

f=−1+10x+6x2+x3 f′=10+12x+3x2 f″=12+6x f‴=6

And using following relations,

1st order; xi+1=xi−f(xi)/f′(xi)
2nd order; xi+1=xi−2ff′/(2f′2−ff″)
3rd order; xi+1=xi−(6ff′2−3f2f″)/(6f′3−6ff′f″+f2f‴)
x 1st (Newton) 2nd (Halley) 3rd order 4th order
x1 0.100000000000000000000000000000000 0.094339622641509433962264150943395 0.094558429973238180196253345227475 0.09455128205128
x2 0.094568121104185218165627782724844 0.094551481540164214717107966227500 0.094551481542326591482567319958483
x3 0.094551481698199302883823703544266 0.094551481542326591482386540579303 0.094551481542326591482386540579303
x4 0.094551481542326591496064847153714 0.094551481542326591482386540579303 0.094551481542326591482386540579303
x5 0.094551481542326591482386540579303
x6 0.094551481542326591482386540579303


Derivation

An exact derivation of Householder's methods starts from the Padé approximation of order Template:Math of the function, where the approximant with linear numerator 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 form f(x+h)=a0+hb0+b1h+⋯+bd−1hd−1+O(hd+1). The rational function has a zero at h=−a0.

Just as the Taylor polynomial of degree Template:Mvar has Template:Math coefficients that depend on the function Template:Mvar, the Padé approximation also has Template:Math coefficients dependent on Template:Mvar 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 has to hold.

One could determine the Padé approximant starting from the Taylor polynomial of Template:Mvar using Euclid's algorithm. However, starting from the Taylor polynomial of Template:Math is shorter and leads directly to the given formula. Since (1/f)(x+h)=(1/f)(x)+(1/f)′(x)h+⋯+(1/f)(d−1)(x)hd−1(d−1)!+(1/f)(d)(x)hdd!+O(hd+1) has to be equal to the inverse of the desired rational function, we get after multiplying with a0+h in the power hd the equation 0=bd=a0(1/f)(d)(x)1d!+(1/f)(d−1)(x)1(d−1)!.

Now, solving the last equation for the zero h=−a0 of the numerator results in h=−a0=1(d−1)!(1/f)(d−1)(x)1d!(1/f)(d)(x)=d(1/f)(d−1)(x)(1/f)(d)(x).

This implies the iteration formula xn+1=xn+d(1/f)(d−1)(xn)(1/f)(d)(xn).

Relation to Newton's method

Householder's method applied to the real-valued function Template:Math is the same as applying Newton's method xn+1=xn−g(xn)g′(xn) to find the zeros of the function: g(x)=|(1/f)(d−1)|−1/d, where we are computing a Template:Math-th derivative and raising to a power of Template:Math. In particular, Template:Math gives Newton's method unmodified and Template:Math gives Halley's method.

Notes

Template:Reflist

References

Template:Refbegin

Template:Refend