Wilkinson's polynomial

Wilkinson's polynomial

In numerical analysis, Wilkinson's polynomial is a specific polynomial which was used by James H. Wilkinson in 1963 to illustrate a difficulty when finding the root of a polynomial: the location of the roots can be very sensitive to perturbations in the coefficients of the polynomial.

The polynomial is: w(x) = prod_{i=1}^{20} (x - i) = (x-1)(x-2) cdots (x-20). Sometimes, the term "Wilkinson's polynomial" is also used to refer to some other polynomials appearing in Wilkinson's discussion.

Background

Wilkinson's polynomial arose in the study of algorithms for finding the roots of a polynomial: p(x) = sum_{i=0}^n c_i x^i. It is a natural question in numerical analysis to ask whether the problem of finding the roots of "p" from the coefficients "c""i" is well-conditioned. That is, we hope that a small change in the coefficients will lead to a small change in the roots. Unfortunately, that is not the case here.

The problem is ill-conditioned when the polynomial has a multiple root. For instance, the polynomial "x"2 has a double root at "x" = 0. However, the polynomial "x"2−ε (a perturbation of size ε) has roots at ±√ε, which is much bigger than ε when ε is small.

It is therefore natural to expect that ill-conditioning also occurs when the polynomial has zeros which are very close. However, the problem may also be extremely ill-conditioned for polynomials with well-separated zeros. Wilkinson used the polynomial "w"("x") to illustrate this point (Wilkinson 1963).

In 1984, he described the personal impact of this discovery:

:"Speaking for myself I regard it as the most traumatic experience in my career as a numerical analyst." [cite book |last=Wilkinson |first=James H. |authorlink=James H. Wilkinson |editor=ed. by Gene H. Golub |title= Studies in Numerical Analysis |year=1984 |publisher=Mathematical Association of America |id=ISBN 978-0-88385-126-5 |pages=page 3 |chapter=The perfidious polynomial]

Conditioning of Wilkinson's polynomial

Wilkinson's polynomial

: w(x) = prod_{i=1}^{20} (x - i) = (x-1)(x-2) cdots (x-20)

clearly has 20 roots, located at "x" = 1, 2, …, 20. These roots are far apart. However, the polynomial is still very ill-conditioned.

Expanding the polynomial, one finds :

If the coefficient of "x"19 is decreased from −210 by 2−23 to −210.0000001192, then the polynomial value "w"(20) decreases from 0 to −2−232019 = −6.25×1017, and the root at "x" = 20 grows to "x" ≈ 20.8 . The roots at "x" = 18 and "x" = 19 collide into a double root at "x" ≈ 18.62 which turns into a pair of complex conjugate roots at "x" ≈ 19.5±1.9i as the perturbation increases further. The 20 roots become (to 5 decimals)

:

Some of the roots are greatly displaced, even though the change to the coefficient is tiny and the original roots seem widely spaced. Wilkinson showed by the stability analysis discussed in the next section that this behavior is related to the fact that some roots α (such as α = 15) have many roots β that are "close" in the sense that |α−β| is smaller than |α|.

Wilkinson chose the perturbation of 2−23 because his Pilot ACE computer had 30-bit floating point significands, so for numbers around 210, 2−23 was an error in the first bit position not represented in the computer. The two real numbers, −210 and −210 − 2−23, are represented by the same floating point number, which means that 2−23 is the "unavoidable" error in representing a real coefficient close to −210 by a floating point number on that computer. The perturbation analysis shows that 30-bit coefficient precision is insufficient for separating the roots of Wilkinson's polynomial.

tability analysis

Suppose that we perturb a polynomial "p"("x") = Π ("x"−α"j") with roots α"j" by adding a small multiple "t"·"c"("x") of a polynomial "c"("x"), and ask how this affects the roots α"j". To first order, the change in the roots will be controlled by the derivative:{dalpha_j over dt} = -{c(alpha_j)over p^prime(alpha_j)}. When the derivative is large, the roots will be less stable under variations of "t", and conversely if this derivative is small the roots will be stable. In particular,if α"j" is a multiple root, then the denominator vanishes. In this case, α"j" is usually not differentiable with respect to "t" (unless "c" happens to vanish there), and the roots will be extremely unstable.

For small values of "t" the perturbed root is given by the power series expansion in "t"

: alpha_j + {dalpha_j over dt}t +{d^2alpha_j over dt^2}{t^2over 2!} +cdots

and one expects problems when |"t"| is larger than the radius of convergence of this power series, which is given by the smallest value of |"t"| such that the root α"j" becomes multiple. A very crude estimate for this radius takes half the distance from α"j" to the nearest root, and divides by the derivative above.

In the example of Wilkinson's polynomial of degree 20, the roots are given by α"j" = "j" for "j" = 1, …, 20, and "c"("x") is equal to "x"19.So the derivative is given by :{dalpha_j over dt} = -{alpha_j^{19}over prod_{k e j}(alpha_j-alpha_k)} = -prod_{k e j}{alpha_jover alpha_j-alpha_k} . ,!This shows that the root α"j" will be less stable if there are many roots α"k" close to α"j", in the sense that the distance
α"j"−α"k"| between them is smaller than |α"j"|.

Example. For the root α1 = 1, the derivative is equal to 1/19! which is very small; this root is stable even for large changes in "t". This is because all the other roots β are a long way from it, in the sense that |α1−β| = 1, 2, 3, ..., 19 is larger than |α1| = 1.For example even if "t" is as large as –10000000000, the root α1 only changes from 1 to about 0.99999991779380 (which is very close to the first order approximation 1+"t"/19! ≈ 0.99999991779365). Similarly, the other small roots of Wilkinson's polynomial are insensitive to changes in "t".

Example. On the other hand, for the root α20 = 20, the derivative is equal to −2019/19! which is huge (about 43000000), so this root is very sensitive to small changes in "t". The other roots β are close to α20, in the sense that |β − α20| = 1, 2, 3, ..., 19 is less than |α20| = 20. For "t" = −2−23 the first-order approximation 20 − "t"·2019/19! = 25.137... to the perturbed root 20.84... is terrible; this is even more obvious for the root α19 where the perturbed root has a large imaginary part but the first-order approximation (and for that matter all higher-order approximations) are real. The reason for this discrepancy is that |"t"| ≈ 0.000000119 is greater than the radius of convergence of the power series mentioned above (which is about 0.0000000029, somewhat smaller than the value 0.00000001 given by the crude estimate) so the linearized theory does not apply. For a value such as "t" = 0.000000001 that is significantly smaller than this radius of convergence, the first-order approximation 19.9569... is reasonably close to the root 19.9509...

At first sight the roots α1 = 1 and α20 = 20 of Wilkinson's polynomial appear to be similar, as they are on opposite ends of a symmetric line of roots, and have the same set of distances 1, 2, 3, ..., 19 from other roots. However the analysis above shows that this is grossly misleading: the root α20 = 20 is less stable than α1 = 1 (to small perturbations in the coefficient of "x"19) by a factor of 2019 = 5242880000000000000000000.

Wilkinson's second example

The second example considered by Wilkinson is: w_2(x) = prod_{i=1}^{20} (x - 2^{-i}) = (x-2^{-1})(x-2^{-2}) cdots (x-2^{-20}). The twenty zeros of this polynomial are in a geometric progression with common ratio 2, and hence the quotient: alpha_jover alpha_j-alpha_k cannot be large. Indeed, the zeros of "w"2 are quite stable to large "relative" changes in the coefficients.

The effect of the basis

The expansion: p(x) = sum_{i=0}^n c_i x^i expresses the polynomial in a particular basis, namely that of the monomials. If the polynomial is expressed in another basis, then the problem of finding its roots may cease to be ill-conditioned. For example, in a Lagrange form, a small change in one (or several) coefficients need not change the roots too much. Indeed, the basis polynomials for interpolation at the points 0, 1, 2, …, 20 are: ell_k(x) = prod_{i in {0,ldots,20} setminus {k frac{(x - i)}{(k - i)}, qquadmbox{for}quad k=0,ldots,20. Every polynomial (of degree 20 or less) can be expressed in this basis:: p(x) = sum_{i=0}^{20} d_i ell_i(x). For Wilkinson's polynomial, we find: w(x) = ell_0(x) = sum_{i=0}^{20} d_i ell_i(x) quadmbox{with}quad d_0=1 ,, d_1=d_2=cdots=d_{20}=0. Given the definition of the Lagrange basis polynomial ℓ0("x"), a change in the coefficient "d"0 will produce no change in the roots of "f". However, a perturbation in the other coefficients (all equal to zero) will slightly change the roots. Therefore, Wilkinson's polynomial is well-conditioned in this basis.

Notes

References

Wilkinson discussed "his" polynomial in
* J. H. Wilkinson (1963). "Rounding Errors in Algebraic Processes". Englewood Cliffs, New Jersey: Prentice Hall.It is mentioned in standard text books in numerical analysis, like
*F. S. Acton, "Numerical methods that work", ISBN 978-0-88385-450-1, page 201.Other references:
* Ronald G. Mosier (July 1986). Root neighborhoods of a polynomial. "Mathematics of Computation" 47(175):265–273.
* J. H. Wilkinson (1984). The perfidious polynomial. "Studies in Numerical Analysis", ed. by G. H. Golub, pp. 1–28. (Studies in Mathematics, vol. 24). Washington, D.C.: Mathematical Association of America.A high-precision numerical computation is presented in:
* Ray Buvel, [http://calcrpnpy.sourceforge.net/ratfunManual.html Polynomials And Rational Functions] , part of the "RPN Calculator User Manual" (for Python), retrieved on 29 July, 2006.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • List of polynomial topics — This is a list of polynomial topics, by Wikipedia page. See also trigonometric polynomial, list of algebraic geometry topics.Basics*Polynomial *Coefficient *Monomial *Polynomial long division *Polynomial factorization *Rational function *Partial… …   Wikipedia

  • Properties of polynomial roots — In mathematics, a polynomial is a function of the form: p(x) = a 0 + a 1 x + cdots a n x^n, quad xin mathbb{C}where the coefficients a 0, ldots, a n are complex numbers. The fundamental theorem of algebrastates that polynomial p has n roots. The… …   Wikipedia

  • James H. Wilkinson — Infobox Scientist name = James Hardy Wilkinson image width = caption = birth date = birth date|1919|9|27|mf=y birth place = flagicon|ENG Strood, England death date = death date and age|1986|10|5|1919|9|27 death place = residence = citizenship =… …   Wikipedia

  • James H. Wilkinson — James Hardy Wilkinson James „Jim“ Hardy „Wilkie“ Wilkinson (* 27. September 1919 in Strood, Kent; † 5. Oktober 1986 in London) war ein britischer Mathematiker, der die numerische Mathematik vor allem durch Arbeiten zur Rückwärtsanalyse von… …   Deutsch Wikipedia

  • List of numerical analysis topics — This is a list of numerical analysis topics, by Wikipedia page. Contents 1 General 2 Error 3 Elementary and special functions 4 Numerical linear algebra …   Wikipedia

  • Root-finding algorithm — A root finding algorithm is a numerical method, or algorithm, for finding a value x such that f(x) = 0, for a given function f. Such an x is called a root of the function f. This article is concerned with finding scalar, real or complex roots,… …   Wikipedia

  • Eigenvalues and eigenvectors — For more specific information regarding the eigenvalues and eigenvectors of matrices, see Eigendecomposition of a matrix. In this shear mapping the red arrow changes direction but the blue arrow does not. Therefore the blue arrow is an… …   Wikipedia

  • Algorithme de recherche d'un zéro d'une fonction — Un algorithme de recherche d un zéro d’une fonction est une méthode numérique ou un algorithme de recherche d’une valeur approchée d’un x vérifiant f(x) = 0, pour une fonction donnée f. Ici, x est un nombre réel appelé zéro de f ou lorsque f est… …   Wikipédia en Français

  • List of mathematical examples — This page will attempt to list examples in mathematics. To qualify for inclusion, an article should be about a mathematical object with a fair amount of concreteness. Usually a definition of an abstract concept, a theorem, or a proof would not be …   Wikipedia

  • Round-off error — For the acrobatic movement, roundoff, see Roundoff. A round off error, also called rounding error, is the difference between the calculated approximation of a number and its exact mathematical value. Numerical analysis specifically tries to… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”