# Real and Complex Root Computation package.

This package contains classes for the computation of isolating and refining intervals of real roots and complex roots of univariate polynomials.

For the computation of real roots the main interface is `RealRoots` and main implementing class is `RealRootsSturm`. The implementation follows in part section 8.8 "Computation of real zeroes of Polynomial Systems" in Gröbner Bases, A computational Approach to Commutative Algebra, by Becker et al.
The class `RealAlgebraicNumber` is based on `AlgebraicNumber` with factory class `RealAlgebraicRing` based on `AlgebraicNumberRing`. They implement real algebraic numbers, which are algebraic numbers plus an isolating interval for a real root of the generator. `RealRootsSturm` can be applied to polynomials with real algebraic numbers.

For the computation of complex roots the main interface is `ComplexRoots` and the main implementing class is `ComplexRootsSturm`. The implementation provides an exact infallible method which follows the numeric method of Wilf (see Wilf: A global bisection algorithm for computing the zeros of polynomials in the complex plane). It uses Sturm sequences following the Routh-Hurwitz Method to count the number of complex roots within a rectangle in the complex plane. For a (eventually) more efficient method see: Collins and Krandick: An efficient algorithm for infallible polynomial complex root isolation, in ISSAC'92.

Last modified: Sun Dec 20 22:33:25 CET 2009

$Id: package.html 2910 2009-12-20 21:34:00Z kredel $