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
Methods related to elementary integration. In particular there are methods
for Hermite reduction and Rothstein-Trager integration of the logarithmic
part.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final boolean
final FactorAbstract
<C> Engine for factorization.boolean
Flag for irreducible input to integrateLogPart.private static final org.apache.logging.log4j.Logger
final SquarefreeAbstract
<C> Engine for squarefree decomposition.final GreatestCommonDivisorAbstract
<C> Engine for greatest common divisors. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionderivative
(Quotient<C> r) Deprecated.(forRemoval=true) use PolyUfdUtil.derivative()integrate
(GenPolynomial<C> a, GenPolynomial<C> d) Integration of a rational function.Integration of a rational function.List<GenPolynomial<C>>[]
integrateHermite
(GenPolynomial<C> a, GenPolynomial<C> d) Integration of the rational part, Hermite reduction step.integrateLogPart
(GenPolynomial<C> A, GenPolynomial<C> P) Univariate GenPolynomial integration of the logarithmic part, Rothstein-Trager algorithm.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 Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
irr
Engine for factorization. -
sqf
Engine for squarefree decomposition. -
ufd
Engine for greatest common divisors. -
irredLogPart
public boolean irredLogPartFlag for irreducible input to integrateLogPart.
-
-
Constructor Details
-
ElementaryIntegration
Constructor.
-
-
Method Details
-
integrate
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
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
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
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
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.(forRemoval=true) use PolyUfdUtil.derivative()Derivation of a univariate rational function.- Parameters:
r
- rational function- Returns:
- dr/dx
-
isIntegral
Test of integration of a rational function.- Parameters:
ri
- integral- Returns:
- true, if ri is an integral, else false.
-
isIntegral
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.
-