Package edu.jas.root
Interface RealRoots<C extends RingElem<C> & Rational>
-
- Type Parameters:
C
- coefficient type.
- All Superinterfaces:
java.io.Serializable
- All Known Implementing Classes:
RealRootsAbstract
,RealRootsSturm
public interface RealRoots<C extends RingElem<C> & Rational> extends java.io.Serializable
Real roots interface.- Author:
- Heinz Kredel
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description C
realMagnitude(Interval<C> iv, GenPolynomial<C> f, GenPolynomial<C> g, BigRational eps)
Real algebraic number magnitude.C
realRootBound(GenPolynomial<C> f)
Real root bound.long
realRootCount(Interval<C> iv, GenPolynomial<C> f)
Number of real roots in interval.java.util.List<Interval<C>>
realRoots(GenPolynomial<C> f)
Isolating intervals for the real roots.java.util.List<Interval<C>>
realRoots(GenPolynomial<C> f, C eps)
Isolating intervals for the real roots.java.util.List<Interval<C>>
realRoots(GenPolynomial<C> f, BigRational eps)
Isolating intervals for the real roots.int
realSign(Interval<C> iv, GenPolynomial<C> f, GenPolynomial<C> g)
Real algebraic number sign.Interval<C>
refineInterval(Interval<C> iv, GenPolynomial<C> f, BigRational eps)
Refine interval.java.util.List<Interval<C>>
refineIntervals(java.util.List<Interval<C>> V, GenPolynomial<C> f, BigRational eps)
Refine intervals.boolean
signChange(Interval<C> iv, GenPolynomial<C> f)
Sign changes on interval bounds.
-
-
-
Method Detail
-
realRootBound
C realRootBound(GenPolynomial<C> f)
Real root bound. With f(M) * f(-M) != 0.- Parameters:
f
- univariate polynomial.- Returns:
- M such that -M < root(f) > M.
-
realRoots
java.util.List<Interval<C>> realRoots(GenPolynomial<C> f)
Isolating intervals for the real roots.- Parameters:
f
- univariate polynomial.- Returns:
- a list of isolating intervals for the real roots of f.
-
realRoots
java.util.List<Interval<C>> realRoots(GenPolynomial<C> f, C eps)
Isolating intervals for the real roots.- Parameters:
f
- univariate polynomial.eps
- requested intervals length.- Returns:
- a list of isolating intervals v such that |v| < eps.
-
realRoots
java.util.List<Interval<C>> realRoots(GenPolynomial<C> f, BigRational eps)
Isolating intervals for the real roots.- Parameters:
f
- univariate polynomial.eps
- requested intervals length.- Returns:
- a list of isolating intervals v such that |v| < eps.
-
signChange
boolean signChange(Interval<C> iv, GenPolynomial<C> f)
Sign changes on interval bounds.- Parameters:
iv
- root isolating interval with f(left) * f(right) != 0.f
- univariate polynomial.- Returns:
- true if f(left) * f(right) < 0, else false
-
realRootCount
long realRootCount(Interval<C> iv, GenPolynomial<C> f)
Number of real roots in interval.- Parameters:
iv
- interval with f(left) * f(right) != 0.f
- univariate polynomial.- Returns:
- number of real roots of f in I.
-
refineInterval
Interval<C> refineInterval(Interval<C> iv, GenPolynomial<C> f, BigRational eps)
Refine interval.- Parameters:
iv
- root isolating interval with f(left) * f(right) < 0.f
- univariate polynomial, non-zero.eps
- requested interval length.- Returns:
- a new interval v such that |v| < eps.
-
refineIntervals
java.util.List<Interval<C>> refineIntervals(java.util.List<Interval<C>> V, GenPolynomial<C> f, BigRational eps)
Refine intervals.- Parameters:
V
- list of isolating intervals with f(left) * f(right) < 0.f
- univariate polynomial, non-zero.eps
- requested intervals length.- Returns:
- a list of new intervals v such that |v| < eps.
-
realSign
int realSign(Interval<C> iv, GenPolynomial<C> f, GenPolynomial<C> g)
Real algebraic number sign.- 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:
- sign(g(v)), with v a new interval contained in iv such that g(v) != 0.
-
realMagnitude
C realMagnitude(Interval<C> iv, GenPolynomial<C> f, GenPolynomial<C> g, BigRational eps)
Real algebraic number magnitude.- 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.eps
- length limit for interval length.- Returns:
- g(iv).
-
-