Given a differential operator L, a basis of the nullspace of rational solutions of L(y)=0 in F is returned as a sequence of basis elements. This function only works for operators whose derivation is defined by a differential. The algorithm that is used is described in Section 4.1 of [vdPS03].
Given a differential operator L with coefficients in F and an element g of F, return true if there is an element y∈F satisfying L(y)=g. If such a solution exists a particular solution in F and the basis of the nullspace of rational solutions in F are also returned. If there is no solution, only false is returned. This function only works for operators whose derivation is defined by a differential.
> F<z> := RationalDifferentialField(Rationals()); > R<D> := DifferentialOperatorRing(F); > H := (z^2-z)*D^2+(3*z-6)*D+1; > RationalSolutions(H); [ (z^4 - 4*z^3 + 6*z^2 - 4*z + 1)/z^5 ] > L := D^2-6/z^2; > RationalSolutions(L); [ z^3, 1/z^2 ] > Apply(L, z^3+1/z^2); 0 > HasRationalSolutions(L, 6/z); true -z [ z^3, 1/z^2 ] > L(-z); 6/z