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,
C eps)
Approximate complex root.
|
java.util.List<Complex<BigDecimal>> |
approximateRoots(GenPolynomial<Complex<C>> a,
C 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,
C 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,
C 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.InvalidBoundaryException
public 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.InvalidBoundaryException
public 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.InvalidBoundaryException
public 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.InvalidBoundaryException
public java.lang.String toDecimal(Complex<C> a)
a
- complex number.public Complex<BigDecimal> approximateRoot(Rectangle<C> rt, GenPolynomial<Complex<C>> f, C eps) throws NoConvergenceException
rt
- root isolating rectangle.f
- univariate polynomial, non-zero.eps
- requested interval length.NoConvergenceException
public java.util.List<Complex<BigDecimal>> approximateRoots(GenPolynomial<Complex<C>> a, C 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, C 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.InvalidBoundaryException
public 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, C 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