edu.jas.root
Interface ComplexRoots<C extends RingElem<C> & Rational>

Type Parameters:
C - coefficient type.
All Known Implementing Classes:
ComplexRootsAbstract, ComplexRootsSturm

public interface ComplexRoots<C extends RingElem<C> & Rational>

Complex roots interface.

Author:
Heinz Kredel

Method Summary
 long complexRootCount(Rectangle<C> rect, GenPolynomial<Complex<C>> a)
          Complex root count of complex polynomial on rectangle.
 Rectangle<C> complexRootRefinement(Rectangle<C> rect, GenPolynomial<Complex<C>> a, BigRational len)
          Complex root refinement of complex polynomial a on rectangle.
 java.util.List<Rectangle<C>> complexRoots(GenPolynomial<Complex<C>> a)
          List of complex roots of complex polynomial.
 java.util.List<Rectangle<C>> complexRoots(Rectangle<C> rect, GenPolynomial<Complex<C>> a)
          List of complex roots of complex polynomial a on rectangle.
 Complex<C> rootBound(GenPolynomial<Complex<C>> f)
          Root bound.
 

Method Detail

rootBound

Complex<C> rootBound(GenPolynomial<Complex<C>> f)
Root bound. With f(-M + i M) * f(-M - i M) * f(M - i M) * f(M + i M) != 0.

Parameters:
f - univariate polynomial.
Returns:
M such that root(f) is contained in the rectangle spanned by M.

complexRootCount

long complexRootCount(Rectangle<C> rect,
                      GenPolynomial<Complex<C>> a)
                      throws InvalidBoundaryException
Complex root count of complex polynomial on rectangle.

Parameters:
rect - rectangle.
a - univariate complex polynomial.
Returns:
root count of a in rectangle.
Throws:
InvalidBoundaryException

complexRoots

java.util.List<Rectangle<C>> complexRoots(Rectangle<C> rect,
                                          GenPolynomial<Complex<C>> a)
                                                                        throws InvalidBoundaryException
List of complex roots of complex polynomial a on rectangle.

Parameters:
rect - rectangle.
a - univariate squarefree complex polynomial.
Returns:
list of complex roots.
Throws:
InvalidBoundaryException

complexRoots

java.util.List<Rectangle<C>> complexRoots(GenPolynomial<Complex<C>> a)
List of complex roots of complex polynomial.

Parameters:
a - univariate complex polynomial.
Returns:
list of complex roots.

complexRootRefinement

Rectangle<C> complexRootRefinement(Rectangle<C> rect,
                                   GenPolynomial<Complex<C>> a,
                                   BigRational len)
                                                                 throws InvalidBoundaryException
Complex root refinement of complex polynomial a on rectangle.

Parameters:
rect - rectangle containing exactly one complex root.
a - univariate squarefree complex polynomial.
len - rational length for refinement.
Returns:
refined complex root.
Throws:
InvalidBoundaryException