java.lang.Object
edu.jas.root.RealRootsAbstract<C>
edu.jas.root.RealRootsSturm<C>
- Type Parameters:
C- coefficient type.
- All Implemented Interfaces:
RealRoots<C>, Serializable
Real root isolation using Sturm sequences.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionexcludeZero(Interval<C> iv, List<GenPolynomial<C>> S) Exclude zero v2.excludeZeroOld(Interval<C> iv, List<GenPolynomial<C>> S) Exclude zero, old version.invariantSignInterval(Interval<C> iv, GenPolynomial<C> f, GenPolynomial<C> g) Invariant interval for algebraic number sign.invariantSignInterval(Interval<C> iv, GenPolynomial<C> f, List<GenPolynomial<C>> Sg) Invariant interval for algebraic number sign.longrealRootCount(Interval<C> iv, GenPolynomial<C> f) Number of real roots in interval.longrealRootCount(Interval<C> iv, List<GenPolynomial<C>> S) Number of real roots in interval.realRoots(GenPolynomial<C> f) Isolating intervals for the real roots.Isolating intervals for the real roots.Sturm sequence.Methods inherited from class RealRootsAbstract
approximateRoot, approximateRoots, bisectionPoint, fourierSequence, halfInterval, invariantMagnitudeInterval, isApproximateRoot, isApproximateRoot, isApproximateRoot, magnitudeBound, realIntervalMagnitude, realIntervalMagnitudeInterval, realIntervalSign, realMagnitude, realMinimalRootBound, realMinimalRootSeparation, realRootBound, realRootNumber, realRoots, realRoots, realSign, refineInterval, refineIntervals, signChange, signSequence
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug
-
-
Constructor Details
-
RealRootsSturm
public RealRootsSturm()
-
-
Method Details
-
sturmSequence
Sturm sequence.- Parameters:
f- univariate polynomial.- Returns:
- a Sturm sequence for f.
-
realRoots
Isolating intervals for the real roots. -
realRoots
-
realRootCount
Number of real roots in interval.- Parameters:
iv- interval with f(left) * f(right) != 0.S- sturm sequence for f and I.- Returns:
- number of real roots of f in I.
-
realRootCount
Number of real roots in interval.- Specified by:
realRootCountin interfaceRealRoots<C extends RingElem<C> & Rational>- Specified by:
realRootCountin classRealRootsAbstract<C extends RingElem<C> & Rational>- Parameters:
iv- interval with f(left) * f(right) != 0.f- univariate polynomial.- Returns:
- number of real roots of f in I.
-
invariantSignInterval
Invariant interval for algebraic number sign.- Specified by:
invariantSignIntervalin classRealRootsAbstract<C extends RingElem<C> & Rational>- Parameters:
iv- root isolating interval for f, with f(left) * f(right) < 0.f- univariate polynomial, non-zero.g- univariate polynomial, gcd(f,g) == 1.- Returns:
- v with v a new interval contained in iv such that g(w) != 0 for w in v.
-
invariantSignInterval
public Interval<C> invariantSignInterval(Interval<C> iv, GenPolynomial<C> f, List<GenPolynomial<C>> Sg) Invariant interval for algebraic number sign.- Parameters:
iv- root isolating interval for f, with f(left) * f(right) < 0.f- univariate polynomial, non-zero.Sg- Sturm sequence for (f,g), a univariate polynomial with gcd(f,g) == 1.- Returns:
- v with v a new interval contained in iv such that g(w) != 0 for w in v.
-
excludeZeroOld
-
excludeZero
-