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>
irr
Engine for factorization.boolean
irredLogPart
Flag for irreducible input to integrateLogPart.SquarefreeAbstract<C>
sqf
Engine for squarefree decomposition.GreatestCommonDivisorAbstract<C>
ufd
Engine for greatest common divisors.
-
Constructor Summary
Constructors Constructor Description ElementaryIntegration(RingFactory<C> br)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Quotient<C>
derivative(Quotient<C> r)
Deprecated.(forRemoval=true) use PolyUfdUtil.derivative()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 logarithmic part, Rothstein-Trager algorithm.LogIntegral<C>
integrateLogPartPrepare(GenPolynomial<C> A, GenPolynomial<C> P)
Univariate GenPolynomial integration of the logarithmic part, eventual preparation for irreducible factorization of P.boolean
isIntegral(LogIntegral<C> rl)
Test of integration of the logarithmic part of a rational function.boolean
isIntegral(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 logarithmic 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 logarithmic 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.
-
derivative
@Deprecated public Quotient<C> derivative(Quotient<C> r)
Deprecated.(forRemoval=true) use PolyUfdUtil.derivative()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.
-
-