check for the existence of a primitive element, and perform accurate integration
IntegrateSols(L, x, case)
an Ore operator
the name of the independent variable
a parameter indicating the case of the equation ('differential' or 'shift')
The LinearOperators[IntegrateSols] function performs "accurate integration". That is, it solves the following problem. Let y satisfy L(y)=0 and g satisfy delta(g)=y, where delta means the usual derivative in the differential case and the first difference in the shift case. The routine builds an annihilator S for g of the same degree as that of L, and an operator K such that g=K(y) if both exist. Otherwise, it returns NULL.
An Ore operator is a structure that consists of the keyword OrePoly with a sequence of coefficients starting with the one of degree zero. The coefficients must be rational functions in x. For example, in the differential case with the differential operator D, OrePoly(2/x, x, x+1, 1) represents the operator 2x+x⁢D+x+1⁢D2+D3.
There are routines in the package that convert between Ore operators and the corresponding Maple expressions. See LinearOperators[converters].
expr ≔ x⁢log⁡x2
An annihilator for expr is
L ≔ FactoredAnnihilator⁡expr,x,'differential'
which can be written in non-factored form as
L ≔ FactoredOrePolyToOrePoly⁡L,x,'differential'
Abramov, S. A., and van Hoeij, M. "Integration of Solutions of Linear Functional Equations." Integral Transforms and Special Functions. (1999): 3-12.
Download Help Document