|  |  7.5.13.0. ratSol Procedure from librarydmodloc.lib(see  dmodloc_lib).
 
Example:Usage:
ratSol(I); I ideal
Assume:
The basering is the n-th Weyl algebra W over a field of
characteristic 0 and for all 1<=i<=n the identity
var(i+n)*var(i)=var(i)*var(i+1)+1 holds, i.e. the sequence of
variables is given by x(1),...,x(n),D(1),...,D(n), where D(i) is the
differential operator belonging to x(i).
 Moreover, assume that I is holonomic.
 
Return:
module, a basis of the rational solutions to the given system of
linear PDEs with polynomial coefficients, encoded via I
Note that each entry has two components, the first one standing for
the enumerator, the second one for the denominator.
Remarks:
Reference: (OTT), Algorithm 3.10
Note:
If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
 See also:
 polSol;
 polSolFiniteRank.|  | LIB "dmodloc.lib";
ring r = 0,(x,y,Dx,Dy),dp;
def W = Weyl();
setring W;
poly tx,ty = x*Dx, y*Dy;
ideal I =      // Appel F1 with parameters (3,-1,1,1) is a solution
tx*(tx+ty)-x*(tx+ty+3)*(tx-1),
ty*(tx+ty)-y*(tx+ty+3)*(ty+1);
module M = ratSol(I);
// We obtain a basis of the rational solutions to I represented by a
// module / matrix with two rows.
// Each column of the matrix represents a rational function, where
// the first row correspond to the enumerator and the second row to
// the denominator.
print(M);
==> x-y,              x,
==> y^4-3*y^3+3*y^2-y,y 
 | 
 
 |