TranscendentalIntegration(F, UP)

intrf.spad line 283 [edit on github]

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.