|
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.
|