Professional Documents
Culture Documents
Agni Kumar
Oct 3 · 6 min read
It is a natural question in numerical analysis to ask whether the problem of finding the
roots of a polynomial is well-conditioned. That is, we’d hope that small changes in the
coefficients of the polynomial would lead to small changes in the values of its roots.
Interestingly, this is often not the case.
Wilkinson’s polynomial is a specific polynomial used by mathematician James
Wilkinson in 1963 to illustrate the idea that the location of the roots can be very
sensitive to perturbations in the coefficients of the polynomial, even if it has well-
separated zeros. He later described the personal impact of this discovery as:
Perturbed polynomials
Let’s observe what happens to the roots of a polynomial similar to Wilkinson’s when we
randomly perturb its coefficients. We consider the polynomial
where C = {cᵢ}, where i ranges from 0 to 9 inclusive, is the set of coefficients of the
non-leading terms. We randomly perturb the coefficients of p(x), replacing each
element cᵢ ∈ C with cᵢ ⋅ (1 + aεᵢ), where each εᵢ is a normally distributed random
variable with mean 0 and variance 1, and a is some small overall scaling factor. If we
plug in each cᵢ, we get that the perturbed polynomial is
Below, p(x) is plotted in blue, while a randomly perturbed version of p(x) is given in
pink. We observe that the number of real roots decreases after perturbation and that
the roots change position, as evidenced by the differing positions of the blue dots and
pink stars.
Roots values change signi cantly with small coe cient perturbations, as do the number of real roots.
Next, we investigate what happens to the roots of p(x) over multiple small values of a,
confirming that the roots are indeed highly sensitive to perturbations applied to the
coefficients.
Root distributions
We attempt to figure out whether there is a distinct point at which real roots begin
transforming into complex ones.
Real
We observe distributions of real roots of a perturbed version of p(x), across various a
values, for a single run per a.
Distributions of real roots of a perturbed version of our polynomial
The points above are randomly horizontally dodged for visibility purposes, and the
leftmost a value indicates no perturbation. We see that some real roots change position
or are even lost are lost, that is, turned into complex ones, as a increases. This leads to
the question:
Only larger a values seem to account for the spread in the imaginary direction. These
observations motivate the exploration of perturbed real root spread as compared to the
roots of p(x) over multiple values of a.
The distribution of the roots seems to undergo a sudden change after the critical point
is hit. Let’s attempt to define this critical a.
Definition
The plot below depicts the probabilities of a complex root being present, based on the
value of a used in perturbing p(x). We perturb p(x) 1000 times for each a value, where
a success denotes the presence of one or more complex roots. The plotted probabilities
are calculated by dividing the total number of successes by 1000.
The critical value of the scaling factor, i.e., the point at which complex roots appear with probability 0.25
The probability pᵣ = 0.25 is indicated by the dotted line in gold. The critical point a*
occurs at the intersection of the pink curve and the gold line.
Trends
Below, we plot the critical points attained over multiple polynomial degrees, using the
definition of a* established in the previous section. By a degree of n, we refer to the
product of monomials starting from (x–1) up to (x–n).
Critical points of polynomials of various degrees
Spread of roots
Here, we plot the roots of eight different perturbed versions of p(x) for one particular
small value of a.
State of real roots right before a perturbation strong enough to blast some roots into the complex plane
We want to quantify the changing spread of real roots as relative to the original root
values. Below, we show the spread of real roots for 100 perturbations of p(x) over
multiple small a values less than a*. The horizontal axis displays the original root
value, while the vertical axis displays the perturbed root values.
Spread of real roots over hundreds of polynomial perturbations for multiple scaling factors
We observe that that maximum spread of the perturbed roots occurs at the eighth root
of p(x). This can be seen by how the orange points, associated with the a value that is
closest to a*, vary the most in the vertical direction at the eighth root and less before
and after it.
Conclusions
The experiments presented motivate deeper analytical inquiries into why the
distributions of the roots of such perturbed polynomials are the way they are.
If you’d like to learn more, please find additional perturbation experiments in this
paper. The code is here. In it, we derived expressions quantifying the root spread of
p(x) and also used discriminants to find the critical points for each of the quadratic
(x−1)(x−2) and the cubic (x−1)(x−2)(x−3).
Your email
By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more
information about our privacy practices.