ElementaryIntegration
edu.jas.integrate

Class ElementaryIntegration<C extends GcdRingElem<C>>

  • Type Parameters:
    C - coefficient type


    public class ElementaryIntegration<C extends GcdRingElem<C>>extends Object
    Methods related to elementary integration. In particular there are methods for Hermite reduction and Rothstein-Trager integration of the logarithmic part.
    • Constructor Detail

      • ElementaryIntegration

        public ElementaryIntegration(RingFactory<C> br)
        Constructor.
    • Method Detail

      • integrate

        public QuotIntegral<C> integrate(Quotient<C> r)
        Integration of a rational function.
        Parameters:
        r - rational function
        Returns:
        Integral container, such that integrate(r) = sum_i(g_i) + sum_j( an_j log(hd_j) )
      • integrate

        public Integral<C> integrate(GenPolynomial<C> a,                    GenPolynomial<C> d)
        Integration of a rational function.
        Parameters:
        a - numerator
        d - denominator
        Returns:
        Integral container, such that integrate(a/d) = sum_i(gn_i/gd_i) + integrate(h0) + sum_j( an_j log(hd_j) )
      • integrateHermite

        public List<GenPolynomial<C>>[] integrateHermite(GenPolynomial<C> a,                                        GenPolynomial<C> d)
        Integration of the rational part, Hermite reduction step.
        Parameters:
        a - numerator
        d - denominator, gcd(a,d) == 1
        Returns:
        [ [ gn_i, gd_i ], [ h0, hn_j, hd_j ] ] such that integrate(a/d) = sum_i(gn_i/gd_i) + integrate(h0) + sum_j( integrate(hn_j/hd_j) )
      • integrateLogPart

        public LogIntegral<C> integrateLogPart(GenPolynomial<C> A,                              GenPolynomial<C> P)
        Univariate GenPolynomial integration of the logaritmic part, Rothstein-Trager algorithm.
        Parameters:
        A - univariate GenPolynomial, deg(A) < deg(P).
        P - univariate squarefree GenPolynomial, gcd(A,P) == 1.
        Returns:
        logarithmic part container.
      • integrateLogPartIrreducible

        public LogIntegral<C> integrateLogPartIrreducible(GenPolynomial<C> A,                                         GenPolynomial<C> P)
        Univariate GenPolynomial integration of the logaritmic part, Rothstein-Trager algorithm.
        Parameters:
        A - univariate GenPolynomial, deg(A) < deg(P).
        P - univariate irreducible GenPolynomial. // gcd(A,P) == 1 automatic
        Returns:
        logarithmic part container.
      • deriviative

        public Quotient<C> deriviative(Quotient<C> r)
        Derivation of a univariate rational function.
        Parameters:
        r - rational function
        Returns:
        dr/dx
      • isIntegral

        public boolean isIntegral(QuotIntegral<C> ri)
        Test of integration of a rational function.
        Parameters:
        ri - integral
        Returns:
        true, if ri is an integral, else false.
      • isIntegral

        public boolean isIntegral(LogIntegral<C> rl)
        Test of integration of the logarithmic part of a rational function.
        Parameters:
        rl - logarithmic part of an integral
        Returns:
        true, if rl is an integral, else false.

SCaVis 1.7 © jWork.org