# IntegrationResult FΒΆ

- F: Field

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) -> %
- 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
- =: (%, %) -> Boolean
- from BasicType
- ~=: (%, %) -> Boolean
- from BasicType
- coerce: % -> OutputForm
- from CoercibleTo OutputForm
- coerce: F -> %
- from RetractableTo 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)
- from CancellationAbelianMonoid
- zero?: % -> Boolean
- from AbelianMonoid