Package edu.jas.integrate
Class ElementaryIntegration<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.integrate.ElementaryIntegration<C>
-
- Type Parameters:
C- coefficient type
- Direct Known Subclasses:
ElementaryIntegrationBernoulli,ElementaryIntegrationCzichowski,ElementaryIntegrationLazard
public class ElementaryIntegration<C extends GcdRingElem<C>> extends java.lang.Object
Methods related to elementary integration. In particular there are methods for Hermite reduction and Rothstein-Trager integration of the logarithmic part.- Author:
- Axel Kramer, Heinz Kredel
-
-
Field Summary
Fields Modifier and Type Field Description FactorAbstract<C>irrEngine for factorization.booleanirredLogPartFlag for irreducible input to integrateLogPart.SquarefreeAbstract<C>sqfEngine for squarefree decomposition.GreatestCommonDivisorAbstract<C>ufdEngine for greatest common divisors.
-
Constructor Summary
Constructors Constructor Description ElementaryIntegration(RingFactory<C> br)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Quotient<C>deriviative(Quotient<C> r)Derivation of a univariate rational function.Integral<C>integrate(GenPolynomial<C> a, GenPolynomial<C> d)Integration of a rational function.QuotIntegral<C>integrate(Quotient<C> r)Integration of a rational function.java.util.List<GenPolynomial<C>>[]integrateHermite(GenPolynomial<C> a, GenPolynomial<C> d)Integration of the rational part, Hermite reduction step.LogIntegral<C>integrateLogPart(GenPolynomial<C> A, GenPolynomial<C> P)Univariate GenPolynomial integration of the logaritmic part, Rothstein-Trager algorithm.LogIntegral<C>integrateLogPartPrepare(GenPolynomial<C> A, GenPolynomial<C> P)Univariate GenPolynomial integration of the logaritmic part, eventual preparation for irreducible factorization of P.booleanisIntegral(LogIntegral<C> rl)Test of integration of the logarithmic part of a rational function.booleanisIntegral(QuotIntegral<C> ri)Test of integration of a rational function.
-
-
-
Field Detail
-
irr
public final FactorAbstract<C extends GcdRingElem<C>> irr
Engine for factorization.
-
sqf
public final SquarefreeAbstract<C extends GcdRingElem<C>> sqf
Engine for squarefree decomposition.
-
ufd
public final GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> ufd
Engine for greatest common divisors.
-
irredLogPart
public boolean irredLogPart
Flag for irreducible input to integrateLogPart.
-
-
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- numeratord- 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 java.util.List<GenPolynomial<C>>[] integrateHermite(GenPolynomial<C> a, GenPolynomial<C> d)
Integration of the rational part, Hermite reduction step.- Parameters:
a- numeratord- 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) )
-
integrateLogPartPrepare
public LogIntegral<C> integrateLogPartPrepare(GenPolynomial<C> A, GenPolynomial<C> P)
Univariate GenPolynomial integration of the logaritmic part, eventual preparation for irreducible factorization of P.- Parameters:
A- univariate GenPolynomial, deg(A) < deg(P).P- univariate squarefree GenPolynomial, gcd(A,P) == 1.- Returns:
- logarithmic part container.
-
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 or 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.
-
-