TOPICS
Search

Polynomial Roots


A root of a polynomial P(z) is a number z_i such that P(z_i)=0. The fundamental theorem of algebra states that a polynomial P(z) of degree n has n roots, some of which may be degenerate. For example, the roots of the polynomial

 x^3-2x^2-x+2=(x-2)(x-1)(x+1)
(1)

are -1, 1, and 2. Finding roots of a polynomial is therefore equivalent to polynomial factorization into factors of degree 1.

Any polynomial can be numerically factored, although different algorithms have different strengths and weaknesses.

The roots of a polynomial equation may be found exactly in the Wolfram Language using Roots[lhs==rhs, var], or numerically using NRoots[lhs==rhs, var]. In general, a given root of a polynomial P(x)=x^n+a_(n-1)x^(n-1)+...+a_0 is represented as Root[#^n+a[n-1]#^(n-1)+...+a[0]&, k], where k=1, 2, ..., n is an index identifying the particular root and the pure function polynomial is irreducible. Note that in the Wolfram Language, the ordering of roots is different in each of the commands Roots, NRoots, and Table[Root[p, k], {k, n}].

In the Wolfram Language, algebraic expressions involving Root objects can be combined into a new Root object using the command RootReduce.

In this work, the nth root of a polynomial P(x) in the ordering of the Wolfram Language's Root object is denoted (P(x))_n, where x is a dummy variable. In this ordering, real roots come before complex ones and complex conjugate pairs of roots are adjacent. For example,

(x^2+x+1)_1=1/2(-1-isqrt(3))
(2)
(x^2+x+1)_2=1/2(-1+isqrt(3))
(3)

and

(x^3+x+1)_1 approx -0.68232
(4)
(x^3+x+1)_2 approx 0.34116-1.1615i
(5)
(x^3+x+1)_3 approx 0.34116+1.1615i.
(6)

Let the roots of the polynomial

 P(x)=a_nx^n+a_(n-1)x^(n-1)+...+a_1x+a_0
(7)

be denoted r_1, r_2, ..., r_n. Then Vieta's formulas give

sum_(i=1)^(n)r_i=-(a_(n-1))/(a_n)
(8)
sum_(i,j; i<j)^(n)r_ir_j=(a_(n-2))/(a_n)
(9)
sum_(i_1,i_2,...,i_k; i_1<i_2<...<i_k)^(n)r_(i_1)r_(i_2)...r_(i_k)=(-1)^k(a_(n-k))/(a_n).
(10)

These can be derived by writing

 P(x)=a_n(x-r_1)(x-r_2)...(x-r_n),
(11)

expanding, and then comparing the coefficients with (◇).

Given an nth degree polynomial a_nx^n+...+a_1x+a_0, the roots can be found by finding the eigenvalues lambda_i of the matrix

 [-a_1/a_0 -a_2/a_0 -a_3/a_0 ... -a_n/a_0; 1 0 0 ... 0; 0 1 0 ... 0; | | 1 ... 0; 0 0 0 ... 0]
(12)

and taking r_i=1/lambda_i. This method can be computationally expensive, but is fairly robust at finding close and multiple roots.

If the coefficients of the polynomial

 d_nx^n+d_(n-1)x^(n-1)+...+d_0=0
(13)

are specified to be integers, then rational roots must have a numerator which is a factor of d_0 and a denominator which is a factor of d_n (with either sign possible). This is known as the polynomial remainder theorem.

If there are no negative roots of a polynomial (as can be determined by Descartes' sign rule), then the greatest lower bound is 0. Otherwise, write out the coefficients, let n=-1, and compute the next line. Now, if any coefficients are 0, set them to minus the sign of the next higher coefficient, starting with the second highest order coefficient. If all the signs alternate, n is the greatest lower bound. If not, then subtract 1 from n, and compute another line. For example, consider the polynomial

 y=2x^4+2x^3-7x^2+x-7.
(14)

Performing the above algorithm then gives

022-71-7
-120-78-15
--2-1-78-15
-22-2-37-21
-32-45-1435

so the greatest lower bound is -3.

If there are no positive roots of a polynomial (as can be determined by Descartes' sign rule), the least upper bound is 0. Otherwise, write out the coefficients of the polynomials, including zeros as necessary. Let n=1. On the line below, write the highest order coefficient. Starting with the second-highest coefficient, add n times the number just written to the original second coefficient, and write it below the second coefficient. Continue through order zero. If all the coefficients are nonnegative, the least upper bound is n. If not, add one to x and repeat the process again. For example, take the polynomial

 y=2x^4-x^3-7x^2+x-7.
(15)

Performing the above algorithm gives

02-1-71-7
121-6-5-12
223-1-1-9
32582568

so the least upper bound is 3.

PolynomialRoots

Plotting the roots in the complex plane of all polynomials up to some degree with integer coefficients less than some cutoff integer in absolute value shows the beautiful structure illustrated above (Trott 2004, p. 23).

PolynomialRootsLoki

An even more stunning figure is obtained by plotting all roots of all polynomials with coefficients +/-1 up to degree n (Borwein and Jörgenson 2001; Pickover 2002; Bailey et al. 2007, p. 18).


See also

Algebraic Equation, Algebraic Number, Bairstow's Method, Berlekamp-Zassenhaus Algorithm, Conjugate Elements, Descartes' Sign Rule, Gauss's Root Theorem, Graeffe's Method, Irreducible Polynomial, Jenkins-Traub Method, Jensen's Theorem, Laguerre's Method, Lehmer-Schur Method, Lucas's Root Theorem, Maehly's Procedure, Muller's Method, Polynomial Discriminant, Polynomial Factorization, Resultant, Root, Vieta's formulas

Related Wolfram sites

http://functions.wolfram.com/ElementaryFunctions/Root/

Explore with Wolfram|Alpha

References

Bailey, D. H.; Borwein, J. M.; Calkin, N. J.; Girgensohn, R.; Luke, D. R.; and Moll, V. H. Experimental Mathematics in Action. Wellesley, MA: A K Peters, 2007.Bharucha-Reid, A. T. and Sambandham, M. Random Polynomials. New York: Academic Press, 1986.Borwein, P. and Jörgenson, L. "Visible Structures in Number Theory." Amer. Math. Monthly 108, 897-911, 2001.Borwein, P. Computational Excursions in Analysis and Number Theory. New York: Springer-Verlag, 2002.Odlyzko, A. M.; and Poonen, B. "Zeros of Polynomials with 0,1 Coefficients." L'Enseignement Math. 39, 317-348, 1993.Pan, V. Y. "Solving a Polynomial Equation: Some History and Recent Progress." SIAM Rev. 39, 187-220, 1997.Pickover, C. A. The Mathematics of Oz: Mental Gymnastics from Beyond the Edge. New York: Cambridge University Press, pp. 286-287, 2002.Trott, M. The Mathematica GuideBook for Programming. New York: Springer-Verlag, 2004. http://www.mathematicaguidebooks.org/.

Referenced on Wolfram|Alpha

Polynomial Roots

Cite this as:

Weisstein, Eric W. "Polynomial Roots." From MathWorld--A Wolfram Web Resource. https://mathworld.wolfram.com/PolynomialRoots.html

Subject classifications