MAT360 Section Summary: 2.6

Müller's Method and zeros of Polynomial

``Hamming's motto, `the purpose of computing is insight, not numbers', is particularly apt in the area of finding roots. You should repeat this motto aloud whenever your program converges, with ten-digit accuracy, to the wrong root of a problem, or whenever it fails to converge because there is actually no root, or because there is a root but your initial estimate was not sufficiently close to it.'' From Numerical Recipes in C

Summary

Theorem 2.15 (Fundamental Theorem of Algebra): If P(x) is a polynomial of degree tex2html_wrap_inline246 with real or complex coefficients, then P(x)=0 has at least one (possibly complex) root.

(Ironically - embarrassingly, for the algebraists- the easiest proof comes via complex analysis.)

Corollary 2.16 If P is of degree n, then P(x) can be expressed as

displaymath218

where the tex2html_wrap_inline256 are distinct roots, and

displaymath219

Corollary 2.17 If P and Q are polynomials of degree at most n, then if tex2html_wrap_inline264 , with k>n, are distinct numbers with tex2html_wrap_inline268 for tex2html_wrap_inline270 , then P=Q.

In other words, if tex2html_wrap_inline274 degree polynomials agree on n+1 points, then they are equal.

Horner's Method: computes values of polynomials efficiently. The idea is pretty simple: we simply evaluate the terms of the nested form of the polynomial P successively, from the inside out, where we've expanded about the point tex2html_wrap_inline280 at which we wish to evaluate P. This is the Taylor series expansion of P about tex2html_wrap_inline280 .

Given tex2html_wrap_inline288 , evaluate tex2html_wrap_inline290 starting from the Taylor series expansion as follows:

  1. P can be written as

    displaymath220

    Factoring a term of tex2html_wrap_inline294 , we have that

      equation100

    where we have defined tex2html_wrap_inline296 . The question is how to compute tex2html_wrap_inline298 .

  2. If we write

    displaymath221

    then we can write (1) as

    displaymath222

  3. Equating coefficients, we have that

    displaymath223

    and, solving for tex2html_wrap_inline300 in terms of tex2html_wrap_inline302 for tex2html_wrap_inline304 ,

    displaymath224

    Then tex2html_wrap_inline306 .

The cost of Horner's method is n multiplications and n additions.

If we're using Newton's method with for roots of P, then we're in luck, because we can perform the same operation with polynomial Q. Why would we want to evaluate tex2html_wrap_inline316 ? Because tex2html_wrap_inline318 ! Therefore

displaymath225

When we've found an approximate root, tex2html_wrap_inline320 , then we will have that

displaymath226

(since tex2html_wrap_inline322 ), so that further roots of P could be determined by switching focus to Q. This process is called deflation (because we're letting the air out of our tex2html_wrap_inline274 degree polynomial to get an tex2html_wrap_inline330 degree polynomial). As roots are found, continue deflating until you're down to a linear polynomial, whose solution can be written down instantly.

Errors will creep in as this process continues. It's best to start with the small roots, and work up to the big roots, if possible. When all is said and done, you might use a few iterations of Newton's method on the roots with the original polynomial to refine the approximate roots obtained by deflation.

This process of deflation works even when the function f we're dealing with is not a polynomial. The next technique is a good general root finder, with nearly quadratic convergence.

Müller's method: is a generalization of the secant method, where rather than a secant line using two points, we create a parabolic fit to three points. Other than that, there's really no difference. So what's the big deal?




Mon Oct 3 12:19:23 EDT 2005