Package edu.jas.root
Interface RealRoots<C extends RingElem<C> & Rational>
- Type Parameters:
C
- coefficient type.
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
RealRootsAbstract
,RealRootsSturm
Real roots interface.
-
Method Summary
Modifier and TypeMethodDescriptionrealMagnitude
(Interval<C> iv, GenPolynomial<C> f, GenPolynomial<C> g, BigRational eps) Real algebraic number magnitude.Real root bound.long
realRootCount
(Interval<C> iv, GenPolynomial<C> f) Number of real roots in interval.realRoots
(GenPolynomial<C> f) Isolating intervals for the real roots.realRoots
(GenPolynomial<C> f, C eps) Isolating intervals for the real roots.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.refineInterval
(Interval<C> iv, GenPolynomial<C> f, BigRational eps) Refine interval.refineIntervals
(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 Details
-
realRootBound
Real root bound. With f(M) * f(-M) != 0.- Parameters:
f
- univariate polynomial.- Returns:
- M such that -M < root(f) > M.
-
realRoots
Isolating intervals for the real roots.- Parameters:
f
- univariate polynomial.- Returns:
- a list of isolating intervals for the real roots of f.
-
realRoots
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
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
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
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
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
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
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
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).
-