Skip navigation links

Package edu.jas.root

Real and Complex Root Computation package.

See: Description

Package edu.jas.root Description

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.

Method algebraicRoots() from class RootFactory computes both the real and complex algebraic roots of a univariate polynomial. Method decimalRoots() computes isolating intervals (or rectangles) for the roots and then uses a numerical algorithm to get a decimal approximation of the roots.

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 as coefficients.

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.


Heinz Kredel

Last modified: Wed Aug 17 23:32:35 CEST 2016

$Id: package.html 5590 2016-08-17 21:36:43Z kredel $

Skip navigation links