TOPICS
Search

Polynomial Roots


A polynomial 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 polynomial degree n>0 has n roots counted with multiplicity. 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 polynomial degree 1.

A nonzero polynomial all of whose roots are real is called a real-rooted polynomial.

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

For monic polynomials of a fixed positive polynomial degree n with complex coefficients, the multiset of roots, including multiplicities, depends continuously on the coefficients. If R={r_1,...,r_n} and S={s_1,...,s_n} are two such multisets, a metric that expresses this statement is

 d(R,S)=min_(sigma in S_n)max_(1<=j<=n)|r_j-s_(sigma(j))|,
(2)

where S_n is the symmetric group. The map from a monic polynomial to its root multiset is a homeomorphism when the coefficients have their usual Euclidean metric (Ćurgus and Mascioni 2006, pp. 85 and 91). This does not imply continuity of a prescribed ordering of complex roots. For n>=2, no choice of ordered root n-tuples is continuous on the entire space of monic polynomials of polynomial degree n (Ćurgus and Mascioni 2006, pp. 91-93).

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))
(3)
(x^2+x+1)_2=1/2(-1+isqrt(3))
(4)

and

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

Let the roots of the polynomial

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

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

sum_(i=1)^(n)r_i=-(a_(n-1))/(a_n)
(9)
sum_(i,j; i<j)^(n)r_ir_j=(a_(n-2))/(a_n)
(10)
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).
(11)

These can be derived by writing

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

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

For a_0!=0, 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 ... 1 0]
(13)

and taking r_i=1/lambda_i. If a_0=0, first factor out the power of x to remove the zero roots. 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
(14)

are specified to be integers, then rational roots, written in lowest terms, 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 rational zero theorem.

Bounds on the real roots of a polynomial can be obtained by the upper and lower bound theorem for synthetic division (Jones, Seward 2012). Assume that the coefficients are real and the leading coefficient is positive, multiplying the polynomial by -1 if necessary. For a trial value c, write the coefficients in descending power order, including zeros for missing powers. Bring down the leading coefficient, then repeatedly multiply the last result by c and add the next original coefficient. The resulting row contains the coefficients of the polynomial quotient and the polynomial remainder on division by x-c.

If c<0 and the signs in this row alternate, allowing a zero to take either sign, then c is a lower bound for all real roots. Try c=-1, -2, -3, ..., computing each row from the original coefficients. This test gives a lower bound, not necessarily the greatest lower bound. For example, consider the polynomial

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

Performing the above algorithm then gives

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

so -3 is a lower bound for all real roots.

If c>0 and all entries in the synthetic division row are nonnegative, then c is an upper bound for all real roots. Try c=1, 2, 3, ..., again computing each row from the original coefficients. This test need not give the least upper bound. For example, take the polynomial

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

Performing the above algorithm gives

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

so 3 is an upper bound for all real roots.

PolynomialRoots

Plotting the roots in the complex plane of all polynomials up to some polynomial 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 polynomial degree n (Borwein and Jörgenson 2001; Pickover 2002; Bailey et al. 2007, p. 18).

Sums over roots of a polynomial can be represented in the Wolfram Language using RootSum.


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, Rational Root Theorem, Real Root, Real-Rooted Polynomial, Resultant, Root, Synthetic Division, Vieta's formulas

Related Wolfram sites

https://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. Computational Excursions in Analysis and Number Theory. New York: Springer-Verlag, 2002.Borwein, P. and Jörgenson, L. "Visible Structures in Number Theory." Amer. Math. Monthly 108, 897-911, 2001.Ćurgus, B. and Mascioni, V. "Roots and Polynomials as Homeomorphic Spaces." Expo. Math. 24, 81-95, 2006. https://doi.org/10.1016/j.exmath.2005.07.001.Jones, J. "3.3--Real Zeros of Polynomial Functions." Richland Community College. https://people.richland.edu/james/lecture/m116/polynomials/zeros.html.McNamee, J. M. "A Bibliography on Roots of Polynomials." J. Comput. Appl. Math. 47, 391-394, 1993. https://doi.org/10.1016/0377-0427(93)90064-I.McNamee, J. M. "A Supplementary Bibliography on Roots of Polynomials." J. Comput. Appl. Math. 78, 1, 1997. https://doi.org/10.1016/S0377-0427(96)00147-1.McNamee, J. M. "An Updated Supplementary Bibliography on Roots of Polynomials." J. Comput. Appl. Math. 110, 305-306, 1999. https://doi.org/10.1016/S0377-0427(99)00273-3.McNamee, J. M. "A 2002 Update of the Supplementary Bibliography on Roots of Polynomials." J. Comput. Appl. Math. 142, 433-434, 2002. https://doi.org/10.1016/S0377-0427(01)00546-5.Mora, T. Solving Polynomial Equation Systems I: The Kronecker-Duval Philosophy. Cambridge, England: Cambridge University Press, 2003. https://doi.org/10.1017/CBO9780511542831.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.Rahman, Q. I. and Schmeisser, G. Analytic Theory of Polynomials. Oxford, England: Oxford University Press, 2002. https://doi.org/10.1093/oso/9780198534938.001.0001.Seward, K. "Zeros of Polynomial Functions, Part II: Upper and Lower Bounds, Intermediate Value Theorem, Fundamental Theorem of Algebra, and the Linear Factorization Theorem." West Texas A&M University, Mar. 15, 2012. https://www.wtamu.edu/academic/anns/mps/math/mathlab/col_algebra/col_alg_tut39_zero2.htm.Spagnolo, S. "On the Absolute Continuity of the Roots of Some Algebraic Equations." Ann. Univ. Ferrara 45, 327-337, 1999. https://doi.org/10.1007/BF02826103.Strzeboński, A. W. "Algebraic Numbers in Mathematica 3.0." Math. Educ. Res. 5, 30-35, 1996a. https://library.wolfram.com/infocenter/ID/2561/.Strzeboński, A. W. "Algebraic Numbers in Mathematica 3.0." Math. J. 6, 74-80, 1996b. https://library.wolfram.com/infocenter/Articles/1479/.Strzeboński, A. W. "Computing in the Field of Complex Algebraic Numbers." J. Symbolic Comput. 24, 647-656, 1997. https://doi.org/10.1006/jsco.1997.0158.Trott, M. The Mathematica GuideBook for Programming. New York: Springer-Verlag, 2004. https://www.mathematicaguidebooks.org/.Trott, M. "Solution of Equations." §1.5 in The Mathematica GuideBook for Symbolics. New York: Springer-Verlag, 2006. https://doi.org/10.1007/0-387-28815-5. https://www.mathematicaguidebooks.org/.

Referenced on Wolfram|Alpha

Polynomial Roots

Cite this as:

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

Subject classifications