Rational Solutions#
- RationalSolutions(L): RngDiffOpElt -> SeqEnum#
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 [van der Put and Singer, 2003].
- HasRationalSolutions(L, g): RngDiffOpElt, RngElt -> BoolElt, RngElt, SeqEnum#
Given a differential operator \(L\) with coefficients in \(F\) and an element \(g\) of \(F\), return
trueif there is an element \(y\in 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, onlyfalseis returned. This function only works for operators whose derivation is defined by a differential.
- Example Rational Sols (ex-a82ef2)#
> 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