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 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<CrefineInterval​(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).