IntegrationResult(F)

intaux.spad line 1 [edit on github]

If a function f has an elementary integral g, then g can be written in the form g = h + c1 log(u1) + c2 log(u2) + ... + cn log(un) where h, which is in the same field as f, is called the rational part of the integral, and c1 log(u1) + ... cn log(un) is called the logarithmic part of the integral. This domain manipulates integrals represented in that form, by keeping both parts separately. The logs are not explicitly computed.

* : (%, Fraction(Integer)) -> %
from RightModule(Fraction(Integer))
* : (Fraction(Integer), %) -> %
from LeftModule(Fraction(Integer))
* : (Integer, %) -> %
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> %
from AbelianGroup
- : (%, %) -> %
from AbelianGroup
0 : () -> %
from AbelianMonoid
= : (%, %) -> Boolean
from BasicType
coerce : F -> %
from CoercibleFrom(F)
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
differentiate : (%, Mapping(F, F)) -> F

differentiate(ir, D) differentiates ir with respect to the derivation D.

differentiate : (%, Symbol) -> F if F has PartialDifferentialRing(Symbol)

differentiate(ir, x) differentiates ir with respect to x

elem? : % -> Boolean

elem?(ir) tests if an integration result is elementary over F?

integral : (F, F) -> %

integral(f, x) returns the formal integral of f with respect to x

integral : (F, Symbol) -> % if F has RetractableTo(Symbol)

integral(f, x) returns the formal integral of f with respect to x

latex : % -> String
from SetCategory
logpart : % -> List(Record(scalar : Fraction(Integer), coeff : SparseUnivariatePolynomial(F), logand : SparseUnivariatePolynomial(F)))

logpart(ir) returns the logarithmic part of an integration result

mkAnswer : (F, List(Record(scalar : Fraction(Integer), coeff : SparseUnivariatePolynomial(F), logand : SparseUnivariatePolynomial(F))), List(Record(integrand : F, intvar : F))) -> %

mkAnswer(r, l, ne) creates an integration result from a rational part r, a logarithmic part l, and a non-elementary part ne.

notelem : % -> List(Record(integrand : F, intvar : F))

notelem(ir) returns the non-elementary part of an integration result

opposite? : (%, %) -> Boolean
from AbelianMonoid
ratpart : % -> F

ratpart(ir) returns the rational part of an integration result

retract : % -> F
from RetractableTo(F)
retractIfCan : % -> Union(F, "failed")
from RetractableTo(F)
sample : () -> %
from AbelianMonoid
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

CancellationAbelianMonoid

CoercibleTo(OutputForm)

AbelianMonoid

AbelianSemiGroup

RetractableTo(F)

BasicType

Module(Fraction(Integer))

CoercibleFrom(F)

SetCategory

AbelianGroup

BiModule(Fraction(Integer), Fraction(Integer))

LeftModule(Fraction(Integer))

RightModule(Fraction(Integer))