Skip to content Skip to navigation

Connexions

You are here: Home » Content » On Factoring Polynomials of High Degree

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

      A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

      What is in a lens?

      Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

      Who can create a lens?

      Any individual Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the author

Recently Viewed

On Factoring Polynomials of High Degree

Module by: C. Sidney Burrus

Summary: Factoring a high degree polynomial has been considered a difficult problem since the beginning of mathematics. We describe the strategies used to attack this problem. The results are from a group called the "Polynomial Club" (Jim Fox, Sidney Burrus, Gary Sitton, and Sven Treitel)

Introduction

Polynomials form one of the oldest classes of mathematical functions in mathematics with an important history in science, engineering, and other quantitative fields [Pan, 1997], [Pan, 1998], [Traub, 1998], [Derbyshire, 2006], [Sitton, 2003]. Part of the polynomial's appeal comes from the fact that it may be numerically evaluated using a finite number of multiplications and additions. Another advantage it presents is its use in modeling physical processes or complicated mathematical functions. Polynomials are used to build expansion systems or basis sets in various vector spaces. Segments of polynomials are used to create splines. It is worth studying the basic ideas and the variety of applications.

Polynomials are introduced early in the teaching of algebra as a means of demonstrating basic principles and methods, e.g. substitution, simplification, and factoring. Most people are aware that there exist formulas for factoring quadratic (2nd degree), cubic (3rd degree), and quartic (4th degree) polynomials. In 1824 the mathematician Niels Abel proved that there is no possible "closed form" solution in terms of basic operations for the general pentic or quintic (5th degree) polynomial or those of higher degrees. This fact requires the development of effective numerical methods for iteratively factoring polynomials above degree 4.

The results reported in these modules are from a group at Rice University called the "Polynomial Club" (Jim Fox, Sidney Burrus, Gary Sitton, and Sven Treitel). The program was designed and written by Jim Fox.

Basic Definitions

The definition of an NNth degree polynomial is

f ( z ) = a 0 + a 1 z + a 2 z 2 + + a N z N = k = 0 N a k z k f ( z ) = a 0 + a 1 z + a 2 z 2 + + a N z N = k = 0 N a k z k (1)

where both f(z)f(z) and zz are complex valued and the coefficients akak can be complex but are often real valued. NN, which is the highest power of zz in the polynomial, is called the degree (or sometimes the order) of the polynomial. The number of coefficients is N+1N+1.

From the various forms of the Fundamental Theorem of Algebra, one can show that all polynomials can also be expressed in a “factored" form by

f ( z ) = a N r = 1 N ( z - z r ) f ( z ) = a N r = 1 N ( z - z r ) (2)

where the possibly complex valued zrzr are called the “zeros" of the polynomial since f(zk)=0f(zk)=0. Because the zeros are not necessarily distinct, a unique form of (Equation 2) is given by

f ( z ) = a N k = 1 L ( z - z k ) M k f ( z ) = a N k = 1 L ( z - z k ) M k (3)

where MkMk is the multiplicity of the kthkth zero, LL is the number of distinct zeros, and kMk=NkMk=N. The first degree polynomials (z-zk)(z-zk) in (Equation 2) and (Equation 3) are called the factors of f(z)f(z). Note the analogy between polynomials and integers. Indeed, multiplying two polynomials is the same operation as multiplying two integers (except for carrying) or convolving two number sequences.

Creating (Equation 1) from (Equation 2) or (Equation 3) is fairly straight forward and requires only a finite number of arithmetic operations, but finding (Equation 2) or (Equation 3) from (Equation 1) is difficult. That process is called “factoring" the polynomial and is the topic of these notes. Actually, the effects of finite precision arithmetic sometimes make the "unfactoring" process of calculating (Equation 1) from (Equation 2) or (Equation 3) poorly defined because it depends on the sequence order of combining the zeros.

One can look at the zeros of a polynomial as being a second parameterization of the polynomial with the coefficient form of (Equation 1) being the first. A combination would be expressing an even degree polynomial as the product of two N/2N/2 degree polynomials. Factoring and “unfactoring" can create a variety of parameterizations for both discrete-time signals and systems.

The Four Problems for Polynomials

  1. Evaluating the polynomial and its derivatives. “polyval" in Matlab or Horner's method
  2. Factoring the polynomial. “roots" in Matlab
  3. Composing the factors. “poly" in Matlab or convolution perhaps using the FFT.
  4. Deflating the polynomial by a root. Horner's method or FFT division.

If the polynomial is represented in factored form (Equation 2), then the coefficient sum form (Equation 1) may be easily found by computing the product of the MM linear polynomial factors. This is done by multiplying the linear factors one at a time and collecting all coefficients of like powers in the product. As will be shown later, this is equivalent to a cascaded discrete convolution of all of the polynomial coefficients where the rthrth linear polynomial is represented as a doublet set of two coefficients {-zr,1}{-zr,1} where the leading coefficient -zr-zr is usually complex. This computation allows the reconstruction of the coefficients of the polynomial corresponding to this root set. We call this process unfactoring but it can lead to large numerical inaccuracies for a surprisingly small number of terms. The main concern here is with the inverse or factoring problem: given the coefficient form (Equation 1), find the factored form (Equation 2).

The common case of purely real polynomial coefficients leads to a simplification: All of the complex roots of a real polynomial occur in complex conjugate pairs. Given the rthrth complex root zr=xr+iyrzr=xr+iyr, its complex conjugate is given by zr*=xr-iyrzr*=xr-iyr.

Thus for yr0yr0, a complex root zrzr will always be associated with its conjugate zr*zr* to form a conjugate root pair. This pair of roots represents the product of two linear factors forming a real quadratic or second degree factor:

( z - z r ) ( z - z r * ) = ( x 2 + y 2 ) - 2 x r z + z 2 ( z - z r ) ( z - z r * ) = ( x 2 + y 2 ) - 2 x r z + z 2 (4)

From (Equation 2) a polynomial may be defined as the product of all of its factors. If the factors have only real coefficients, then the product of all the factors will have only real coefficients anan. Thus only half of the complex roots need be found, say in the upper complex half-plane with positive imaginary parts, i.e. yr0yr0. The associated conjugate roots in the lower half-plane may be trivially derived by simple negation of their imaginary parts.

Most of the results in these modules are based on extensive numerical experimentation. We have built on existing theory and techniques with empirically derived rules and algorithms that perform well on well-conditioned polynomials and, in many cases, specifically applied to signal processing applications with random coefficients.

Factoring Polynomials

Below are three approaches to factoring polynomials:

  • Find and Deflate: The usual algorithms for factoring polynomials starts by guessing or estimating the value of a zero, then using some descent method on |f(z)|, find a single zero. This zero is then removed from f(z) by "deflation" and the process repeated on the reduced degree quotient polynomial. The descent method is often Newton's method which is implemented with Horner's method . There may be problems with error accumulation which, after several deflations, results in failure. Also, if the zeros are not found and removed in a carefully chosen order, the quotient polynomial becomes poorly conditioned. This set of procedures is often simply called Newton's method. Methods presented in these notes include "Random Argument", "Chosen Argument", and "Pre-Whitening", all of which try to maintain or improve the conditioning of the quotient polynomial produced by deflation. The deflation itself must be done in a "stable" way to prevent error accumulation. In some cases, this involves using Horner's method and in others, the DFT.
  • Eigenvalue Method: If the companion matrix for the polynomial is created, its eigenvalues are the zeros of the polynomial. Because very sophisticated algorithms have been developed for finding eigenvalues, this is a powerful and robust approach. However, it requires considerable computer memory for the matrices and is computationally inefficient and, therefore, slow. Matlab uses this approach.
  • Grid Search: If one has knowledge from the structure of the polynomial what regions in the complex plane contain the zeros, a direct search can be used. Because a large class of polynomials, including those with random coefficients, have their zeros clusters around the unit circle, a very efficient polar coordinate grid search can be conducted to find good estimates for the zeros which are then found accurately by a Newton's or Leguerre's algorithm. The Lindsey-Fox algorithm uses this approach. A description of the Lindsey-Fox program

Bibliography

  1. J. Derbyshire, Unknown Quantity: A Real and Imaginary History of Algebra. Joseph Henry Press, an imprint of the National Academies Press, Washington, 2006.
  2. V. Y. Pan, "Solving a polynomial equation: some history and recent progress". SIAM Review. No. 2, Vol. 39, June 1997. pp. 187–220.
  3. V. Y. Pan, "Solving Polynomials with Computers". American Scientist. No. 1, Vol. 86, January-February 1998. pp. 62–69.
  4. G. Sitton, C. S. Burrus, J. W. Fox, and S. Treitel, "Factoring Very High Degree Polynomials in Signal Processing". Signal Processing Magazine. No. 6, Vol. 20, November 2003. pp. 27–42.
  5. J. F. Traub, "Another Algorithm". American Scientist. No. 2, Vol. 86, March-April 1998. pp. 108–109.
  6. J. M. McNamee "A Bibliography on Roots of Polynomials", J. Comput. Appl. Math., 47 (1993) pp. 391-394. 78 (1997). 110 (1999) pp. 305-306.

Comments, questions, feedback, criticisms?

Send feedback