edu.jas.root
Interface RealRoots<C extends RingElem<C> & Rational>

Type Parameters:
C - coefficient type.
All Known Implementing Classes:
RealRootAbstract, RealRootsSturm

public interface RealRoots<C extends RingElem<C> & Rational>

Real roots interface.

Author:
Heinz Kredel

Method Summary
 C realMagnitude(Interval<C> iv, GenPolynomial<C> f, GenPolynomial<C> g, C 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, BigRational eps)
          Isolating intervals for the real roots.
 java.util.List<Interval<C>> realRoots(GenPolynomial<C> f, C 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, C eps)
          Refine interval.
 java.util.List<Interval<C>> refineIntervals(java.util.List<Interval<C>> V, GenPolynomial<C> f, C 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 intervalls 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,
                           C 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,
                                            C 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,
                C 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).