Skip to the content of the web site.

10.5 Polynomials

Introduction Theory Error Analysis Examples Questions Applications in Engineering Matlab Maple

Introduction

This topic covers some of the properties of polynomials which we will need for Müller's method.

Theory

The following are some theorems about polynomials, some of which you have already seen in this class, others which may be new:

Theorem 1

A polynomial of degree n has n roots when you count multiplicity.

Definition

The complex conjugate of a complex number z = a + bj is the complex number z' = a - bj. A pair of complex numbers forms a complex conjugate pair if they are complex conjugates of each other, for example, 3 + 4j and 3 - 4j.

Theorem 2

A polynomial p(x) with real coefficients has either real roots, or complex conjugate pairs of roots.

Proof

If two roots are complex conjugate pairs z = a + bj and z' = a - bj, then (x - z)(x - z') = (x - (a + bj))(x - (a - bj)) = x2 - 2ax + a2 + b2.

Theorem 3

A polynomial p(x) with real coefficients and an odd degree has at least one real root.

Proof

There are multiple proofs, one being argued as follows: if the degree of p(x) is odd, then if p(x) → ∞ as x → ∞ then p(x) → -∞ as x → -∞ and if p(x) → -∞ as x → ∞ then p(x) → ∞ as x → -∞. Thus, in either case, the intermediate value theorem (see the bisection method) states that there must be at least one point such that p(x) = 0.

A simpler proof using Theorem 2 is as follows: assume all the roots are complex and not real. Therefore, they must come in complex conjugate pairs. Thus, the number of roots must be even. Thus, all the roots of an odd polynomial cannot be complex, and therefore one must be real.

Error Analysis

To be completed...

Examples

Example 1

In Matlab, divide out the root 0.55169 + 1.25335j and its complex conjugate from the polynomial x5 + 2x4 + 3x3 + 4x2 + 5x + 6 without involving complex numbers.

The quadratic which has the two given roots is (x - (0.55169 + 1.25335j))(x - (0.55169 - 1.25335j)) = x2 - 2 0.55169 x + 0.551692 + 1.253352 = x2 - 1.10338x + 1.87525.

This is represented by the vector [1 -1.10338 1.87525], and thus we calculate:

>> roots( [1 2 3 4 5 6] )                       
ans =

   0.55169 + 1.25335i
   0.55169 - 1.25335i
  -0.80579 + 1.22290i
  -0.80579 - 1.22290i
  -1.49180 + 0.00000i

>> deconv( [1 2 3 4 5 6], [1 -1.10338 1.87525] )
ans =

  1.00000  3.10338  4.54896  3.19962

>> roots( ans )                                 
ans =

  -1.49180 + 0.00000i
  -0.80579 + 1.22291i
  -0.80579 - 1.22291i

The remaining roots are coloured to highlight that they remained unchanged throughout the division.

Example 2

What happens if you try to divide out values which are not close to the actual roots? From Example 1, divide out the false root 1 + j and its complex conjugate, i.e., (x − (1 + j))(x − (1 − j)) = x2 − 2x + 2.

If we divide out the two given roots, as follows:

>> roots( [1 2 3 4 5 6] ) 
ans =
   0.55169 + 1.25335i
   0.55169 - 1.25335i
  -0.80579 + 1.22290i
  -0.80579 - 1.22290i
  -1.49180 + 0.00000i

>> deconv( [1 2 3 4 5 6], [1 -2 2] )
ans =
        1        4        9       14

>> roots( ans )                     
ans =
  -2.60752 + 0.00000i
  -0.69624 + 2.21005i
  -0.69624 - 2.21005i

we note that Matlab will perform the division, but the roots of the solution are significantly different from the roots of the original polynomial.

Questions

Question 1

Divide out the 3 + j and its complex conjugate from the polynomial x4− 2*x3− 12*x2+ 28*x + 20.

Answer: x2 + 4x + 2.

Question 2

Use Matlab to divide out the complex conjugate pair of roots with positive real part from the polynomial defined by the vector [1 3 5 7 9].

Answer: [1 3.33464 3.65041]

Applications to Engineering

Suppose a linear system which takes an input signal x(t) and converts it into an output signal y(t) according to the ordinary differential equation:

y(2)(t) + 2y(1)(t) + 3y(t) = 4x(1)(t) + 5x(t)

then the transfer function is defined by the rational polynomial (a ratio of two polynomials):

The properties of this linear system are defined by the location of the roots of the denominator of this polynomial, in this case, -1 ± 1.414213562j.

Matlab

The function roots finds the roots of a polynomial:

>> p = [1 2 3];
>> roots( p )
ans =
  -1.00000 + 1.41421i
  -1.00000 - 1.41421i

>> p = [1 2 3 4 5 6];
>> roots( p )        
ans =
   0.55169 + 1.25335i
   0.55169 - 1.25335i
  -0.80579 + 1.22290i
  -0.80579 - 1.22290i
  -1.49180 + 0.00000i

Note that the second polynomial, of odd degree, has one real root.

Maple

The functions solve and fsolve find the roots of a polynomial.