# IntegrationResult F¶

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.

0: %

from AbelianMonoid

*: (%, Fraction Integer) -> %
*: (Fraction Integer, %) -> %
*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

=: (%, %) -> Boolean

from BasicType

~=: (%, %) -> Boolean

from BasicType

coerce: % -> OutputForm
coerce: F -> %

from CoercibleFrom F

differentiate: (%, 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?

hash: % -> SingleInteger

from SetCategory

hashUpdate!: (HashState, %) -> HashState

from SetCategory

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)
zero?: % -> Boolean

from AbelianMonoid

AbelianGroup

AbelianMonoid

AbelianSemiGroup

BasicType

CancellationAbelianMonoid

SetCategory