##### 7.7.21.0. ratSol

Procedure from library `dmodloc.lib` (see dmodloc_lib).

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.

Example:

    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

See also: polSol; polSolFiniteRank.

User manual for Singular version 4-0-3, 2016, generated by texi2html.