- Type Parameters:
C- coefficient type.
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
ComplexRootsAbstract, ComplexRootsSturm
Complex roots interface.
-
Method Summary
Modifier and TypeMethodDescriptionlongcomplexRootCount(Rectangle<C> rect, GenPolynomial<Complex<C>> a) Complex root count of complex polynomial on rectangle.complexRootRefinement(Rectangle<C> rect, GenPolynomial<Complex<C>> a, BigRational len) Complex root refinement of complex polynomial a on rectangle.List of complex roots of complex polynomial.complexRoots(Rectangle<C> rect, GenPolynomial<Complex<C>> a) List of complex roots of complex polynomial a on rectangle.rootBound(GenPolynomial<Complex<C>> f) Root bound.
-
Method Details
-
rootBound
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
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
-
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
-