next up previous
Next: Stability of Polynomials Up: Roots of Polynomials Previous: Roots of Polynomials

`RootOf' versus Radicals.

`You never understand mathematics, you just get used to it.' --- J. von Neumann.

Many people prefer explicit expressions for the roots of polynomials in terms of radicals (root extractions). This preference is again psychological --- root extraction, with the exception of square roots, for which there is a finite compass-and-ruler geometric construction, is itself an infinite process and not a `closed form' expression really. Nonetheless many people would prefer

to the much more compact RootOf(x^3+x+1,x) or its mathematical translation `Let be a root of ', with its implicit subtext that we can compute to any desired degree of precision without any reference to radicals whatsoever (in fact reference to radicals may introduce unnecessary numerical difficulties).

But radicals are what people are used to, and students are continually disturbed by the fact that there is no algorithm for writing roots of polynomials as radicals if the degree of the polynomial is five or higher. Some polynomials of arbitrary degree can have their roots so written, of course, but it is not clear just which ones.

In fact there is a formula for the roots of the general polynomial of degree five --- it involves elliptic functions, however, which most modern people would not regard as `closed form expressions' although they are perfectly good functions (as we will see later). Elliptic functions were better understood in the mathematical community a hundred years ago, though, and at that time such an explicit formula was considered useful. Maple does not at this time know this formula (to be honest, neither do I --- I just know it exists []).

The RootOf construction, however, is much more powerful in that it handles polynomials of arbitrary degree (in principle). It also allows a more compact solution than otherwise possible and is really our first instance of a computation sequence appearing in the answer to a problem : `` The answer is , where is the root of .'' Combined with a numerically stable method of calculating these roots (which the explicit expressions may not be) this is a complete and perfectly satisfactory description.

Some further examples of their usefulness follow, showing how to evaluate sums and products of expressions containing RootOf's, where the sum or product is to be taken over all roots of the polynomials. Maple uses the Newton identities to express symmetric functions of the roots in terms of the coefficients to evaluate sums and products over the roots of polynomials.

> p := randpoly(x);

                           5       4       3       2
                p := - 85 x  - 55 x  - 37 x  - 35 x  + 97 x + 50

> q := randpoly(x);
                          5       4       3       2
                 q := 79 x  + 56 x  + 49 x  + 63 x  + 57 x - 59

> R := unapply(p/q,x);
                             5       4       3       2
                       - 85 x  - 55 x  - 37 x  - 35 x  + 97 x + 50
             R := x -> -------------------------------------------
                            5       4       3       2
                        79 x  + 56 x  + 49 x  + 63 x  + 57 x - 59

> r := x -> evalf(R(x));
                             r := x -> evalf(R(x))

> alias(alpha=RootOf(q,x));
                                    I, alpha

> res := unapply(p/diff(q,x),x);
                              5       4       3       2
                        - 85 x  - 55 x  - 37 x  - 35 x  + 97 x + 50
            res := x -> -------------------------------------------
                                4        3        2
                           395 x  + 224 x  + 147 x  + 126 x + 57

> 
> pfd := x -> -85/79 + evalf(Sum( res(a)/(x-a),a=alpha));
                                               -----
                                                \      res(a)
                 pfd := x -> - 85/79 + evalf(    )     ------)
                                                /       x - a
                                               -----
                                             a = alpha

> 
> pfd(1.);
                                  -.2653061224

> r(1.);
                                  -.2653061224

> 
> pfd(0.134578);
                                  -1.244999651

> r(0.134578);
                                  -1.244999651

> Digits := 30;
                                  Digits := 30

> pfd(Pi);
                        -1.01929909357787190035915737927

> r(Pi);
                        -1.01929909357787190035915737927
This gives a powerful way of expressing the complete partial fraction expansion of rational functions. This idea is pursued farther in [].

Exercises

  1. Without calculating the roots and of , compute and .
  2. Express each of the following polynomials as a polynomial in the elementary symmetric functions , , and . Show how this can be used to find e.g. the sum of the cubes of the roots of the polynomial .
  3. Integrate from 0 to x by partial fractions. Is this `closed form' formula useful? How about for ? This will be pursued further in Chapter 8.
  4. Cubic formula. Suppose we are given the cubic to solve. Set t = u + v and obtain the expression

    Conclude that if we can find u and v to satisfy

    then we can solve the cubic equation. Solve the above equation.

  5. Use the previous analysis to show why the solution in the CRC handbook, in Abramowitz and Stegun, and other handbooks, is wrong if p and q are complex, because of branch choice difficulties. Show how to fix the problem.
  6. Express as a partial fraction in x, treating k as some unknown complex constant. For which values of k is your answer correct?


next up previous
Next: Stability of Polynomials Up: Roots of Polynomials Previous: Roots of Polynomials



Robert Corless
Wed Feb 28 18:25:56 EST 1996