Wilkinson’s polynomial very simple misunderstanding

condition numbernumerical methods

The Wilkinson polynomial $W(x) = \prod_{k=1}^{20}(x-k)$ is notoriously ill conditioned.

I wanted to play around with it and see for myself. I wrote a computer code that does bisection method.

I gave the code the interval $[a,b] = [19.2, 20.9]$ and told it to run for 5 iterations or so.

The real root is $r = 20$. The approximate root I got was $r_a \approx 20.23$, hence the forward error is $|r-r_a| = |20-20.23| = 0.23$

The backward error is $|W(r) – W(r_a)| = |W(r_a)| \approx 3 \cdot 10^{12}$ if I read that huge number correctly.

So the error magnification is $\frac{\text{forward}}{\text{backward}} = \frac{0.23}{ 3 \cdot 10^{12}} = {}$very tiny number.

Doesn't this imply that the problem is well conditioned? I got something mixed up

Best Answer

As long as your computer can hold the exact coefficients of the polynomial, you will be able to get some sort of stability in calculating the roots, even with such a crude method as interval bisection. However, this isn't the point of Wilkinson's polynomial. Rather, what the polynomial demonstrates is that a tiny error in the data for a problem, namely in the coefficients of the polynomial, can lead to a big error in the solution values (the roots). A consequence of this, for example, would be big errors in obtaining the eigenvalues of a matrix by calculating the roots of its characteristic polynomial, where the matrix entries may not be exact even though specified to pretty good precision.

Wilkinson's polynomial is ill conditioned because of the huge ratio of the error in the solution to an error in the data. The ratio you cite is another matter.

Related Question