C - coefficient type.public abstract class ComplexRootsAbstract<C extends RingElem<C> & Rational> extends java.lang.Object implements ComplexRoots<C>
| Modifier and Type | Field and Description |
|---|---|
Squarefree<Complex<C>> |
engine
Engine for square free decomposition.
|
| Constructor and Description |
|---|
ComplexRootsAbstract(RingFactory<Complex<C>> cf)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Complex<BigDecimal> |
approximateRoot(Rectangle<C> rt,
GenPolynomial<Complex<C>> f,
BigRational eps)
Approximate complex root.
|
java.util.List<Complex<BigDecimal>> |
approximateRoots(GenPolynomial<Complex<C>> a,
BigRational eps)
List of decimal approximations of complex roots of complex polynomial.
|
Complex<C> |
complexMagnitude(Rectangle<C> rect,
GenPolynomial<Complex<C>> f,
GenPolynomial<Complex<C>> g,
BigRational eps)
Complex algebraic number magnitude.
|
Complex<C> |
complexRectangleMagnitude(Rectangle<C> rect,
GenPolynomial<Complex<C>> f,
GenPolynomial<Complex<C>> g)
Complex algebraic number magnitude.
|
abstract 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(GenPolynomial<Complex<C>> a,
BigRational len)
List of complex roots of complex polynomial.
|
abstract java.util.List<Rectangle<C>> |
complexRoots(Rectangle<C> rect,
GenPolynomial<Complex<C>> a)
List of complex roots of complex polynomial a on rectangle.
|
Complex[] |
copyOfComplex(Complex[] original,
int newLength)
Copy the specified array.
|
Rectangle<C> |
invariantMagnitudeRectangle(Rectangle<C> rect,
GenPolynomial<Complex<C>> f,
GenPolynomial<Complex<C>> g,
BigRational eps)
Invariant rectangle for algebraic number magnitude.
|
abstract Rectangle<C> |
invariantRectangle(Rectangle<C> rect,
GenPolynomial<Complex<C>> f,
GenPolynomial<Complex<C>> g)
Invariant rectangle for algebraic number.
|
C |
magnitudeBound(Rectangle<C> rect,
GenPolynomial<Complex<C>> f)
Magnitude bound.
|
Complex<C> |
rootBound(GenPolynomial<Complex<C>> f)
Root bound.
|
java.lang.String |
toDecimal(Complex<C> a)
Get decimal approximation.
|
public ComplexRootsAbstract(RingFactory<Complex<C>> cf)
cf - coefficient factory.public Complex<C> rootBound(GenPolynomial<Complex<C>> f)
public C magnitudeBound(Rectangle<C> rect, GenPolynomial<Complex<C>> f)
rect - rectangle.f - univariate polynomial.public abstract long complexRootCount(Rectangle<C> rect, GenPolynomial<Complex<C>> a) throws InvalidBoundaryException
complexRootCount in interface ComplexRoots<C extends RingElem<C> & Rational>rect - rectangle.a - univariate complex polynomial.InvalidBoundaryExceptionpublic abstract java.util.List<Rectangle<C>> complexRoots(Rectangle<C> rect, GenPolynomial<Complex<C>> a) throws InvalidBoundaryException
complexRoots in interface ComplexRoots<C extends RingElem<C> & Rational>rect - rectangle.a - univariate squarefree complex polynomial.InvalidBoundaryExceptionpublic java.util.List<Rectangle<C>> complexRoots(GenPolynomial<Complex<C>> a)
complexRoots in interface ComplexRoots<C extends RingElem<C> & Rational>a - univariate complex polynomial.public Rectangle<C> complexRootRefinement(Rectangle<C> rect, GenPolynomial<Complex<C>> a, BigRational len) throws InvalidBoundaryException
complexRootRefinement in interface ComplexRoots<C extends RingElem<C> & Rational>rect - rectangle containing exactly one complex root.a - univariate squarefree complex polynomial.len - rational length for refinement.InvalidBoundaryExceptionpublic java.util.List<Rectangle<C>> complexRoots(GenPolynomial<Complex<C>> a, BigRational len)
a - univariate complex polynomial.len - rational length for refinement.public abstract Rectangle<C> invariantRectangle(Rectangle<C> rect, GenPolynomial<Complex<C>> f, GenPolynomial<Complex<C>> g) throws InvalidBoundaryException
rect - root isolating rectangle for f which contains exactly one
root.f - univariate polynomial, non-zero.g - univariate polynomial, gcd(f,g) == 1.InvalidBoundaryExceptionpublic java.lang.String toDecimal(Complex<C> a)
a - complex number.public Complex<BigDecimal> approximateRoot(Rectangle<C> rt, GenPolynomial<Complex<C>> f, BigRational eps) throws NoConvergenceException
rt - root isolating rectangle.f - univariate polynomial, non-zero.eps - requested interval length.NoConvergenceExceptionpublic java.util.List<Complex<BigDecimal>> approximateRoots(GenPolynomial<Complex<C>> a, BigRational eps)
a - univariate complex polynomial.eps - length for refinement.public Complex[] copyOfComplex(Complex[] original, int newLength)
original - array.newLength - new array length.public Rectangle<C> invariantMagnitudeRectangle(Rectangle<C> rect, GenPolynomial<Complex<C>> f, GenPolynomial<Complex<C>> g, BigRational eps) throws InvalidBoundaryException
rect - root isolating rectangle for f which contains exactly one
root.f - univariate polynomial, non-zero.g - univariate polynomial, gcd(f,g) == 1.eps - length limit for rectangle length.InvalidBoundaryExceptionpublic Complex<C> complexRectangleMagnitude(Rectangle<C> rect, GenPolynomial<Complex<C>> f, GenPolynomial<Complex<C>> g)
rect - root isolating rectangle for f which contains exactly one
root, with rect such that |g(a) - g(b)| < eps for a, b in
rect.f - univariate polynomial, non-zero.g - univariate polynomial, gcd(f,g) == 1.public Complex<C> complexMagnitude(Rectangle<C> rect, GenPolynomial<Complex<C>> f, GenPolynomial<Complex<C>> g, BigRational eps) throws InvalidBoundaryException
rect - root isolating rectangle for f which contains exactly one
root, with rect such that |g(a) - g(b)| < eps for a, b in
rect.f - univariate polynomial, non-zero.g - univariate polynomial, gcd(f,g) == 1.eps - length limit for rectangle length.InvalidBoundaryException