TranscendentalIntegration(F, UP)¶

This package provides functions for the transcendental case of the Risch algorithm.

expintegrate: (Fraction UP, UP -> UP, Fraction UP -> Record(answer: Fraction UP, logpart: Fraction UP, ir: IntegrationResult Fraction UP), (Integer, F) -> Record(ans: F, right: F, primpart: F, sol?: Boolean)) -> Record(answer: IntegrationResult Fraction UP, a0: F)

`expintegrate(f, ', foo)` returns `[g, a]` such that `f = g' + a`, and `a = 0` or `a` has no integral in `F`; Argument foo is a Risch differential equation solver on `F`.

lambintegrate: (Fraction UP, F, F -> F, UP -> UP, F -> Union(Record(ratpart: F, coeff: F), failed), F -> IntegrationResult F) -> Record(answer: IntegrationResult Fraction UP, a0: IntegrationResult F)

`lambintegrate(f, dx, D1, D2, extint, int)` integrates `f` in extension by LambertW function. `dx` is derivative of the argument of LambertW, `D1` is dervative on `F`, `D2` is derivative on UP, `extint` is extended integration function on `F`, int is integration function on `F`.

monomialIntegrate: (Fraction UP, UP -> UP) -> Record(ir: IntegrationResult Fraction UP, specpart: Fraction UP, polypart: UP)

`monomialIntegrate(f, ')` returns `[ir, s, p]` such that `f = ir' + s + p` and all the squarefree factors of the denominator of `s` are special `w`.`r`.`t` the derivation ‘.

monomialIntPoly: (UP, UP -> UP) -> Record(answer: UP, polypart: UP)

`monomialIntPoly(p, ')` returns [`q`, `r`] such that `p = q' + r` and `degree(r) < degree(t')`. Error if `degree(t') < 2`.

primintegrate: (Fraction UP, UP -> UP, Fraction UP -> Record(answer: Fraction UP, logpart: Fraction UP, ir: IntegrationResult Fraction UP), (F, NonNegativeInteger) -> Union(Record(ratpart: F, coeff: F, prim: F), failed)) -> Record(answer: IntegrationResult Fraction UP, a0: F)

`primintegrate(f, ', foo)` returns `[g, a]` such that `f = g' + a`, and `a = 0` or `a` has no integral in UP. Argument foo is an extended integration function on `F`.