|  |  7.5.13.0. annRatSyz Procedure from librarydmodloc.lib(see  dmodloc_lib).
 
Example:Usage:
annRatSyz(f,g[,db,eng]); f, g polynomials, db,eng optional integers
Assume:
The basering is commutative and over a field of characteristic 0.
Return:
ring (a Weyl algebra) containing an ideal `LD', which is (part of)
the annihilator of the rational function g/f in the corresponding
Weyl algebra
Remarks:
This procedure uses the computation of certain syzygies.
One can obtain the full annihilator by computing the Weyl closure of
the ideal LD.
Note:
Activate the output ring with the setringcommand.
In the output ring, the ideal `LD' (in Groebner basis) is (part of)
the annihilator of g/f.If db>0 is given, operators of order up to db are considered,
otherwise, and by default, a minimal holonomic solution is computed.
 If eng<>0,
 stdis used for Groebner basis computations,
otherwise, and by default,slimgbis used.If printlevel =1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
 
 See also:
 annPoly;
 annRat.|  | LIB "dmodloc.lib";
// printlevel = 3;
ring r = 0,(x,y),dp;
poly f = 2*x*y; poly g = x^2 - y^3;
def A = annRatSyz(f,g);   // compute a holonomic solution
setring A; A;
==> // coefficients: QQ
==> // number of vars : 4
==> //        block   1 : ordering dp
==> //                  : names    x y Dx Dy
==> //        block   2 : ordering C
==> // noncommutative relations:
==> //    Dxx=x*Dx+1
==> //    Dyy=y*Dy+1
LD;
==> LD[1]=3*x*Dx+2*y*Dy+1
==> LD[2]=y^4*Dy-x^2*y*Dy+2*y^3+x^2
setring r;
def B = annRatSyz(f,g,5); // compute a solution up to degree 5
setring B;
LD; // this is the full annihilator as we will check below
==> LD[1]=15*y^2*Dx^2*Dy-2*x*Dx*Dy^2-8*y*Dy^3+45*y*Dx^2
==> LD[2]=3*y^3*Dx^2+15*x^2*Dx^2-8*y^2*Dy^2+30*x*Dx
==> LD[3]=3*x*Dx+2*y*Dy+1
==> LD[4]=y^3*Dy^2-x^2*Dy^2+6*y^2*Dy+6*y
==> LD[5]=y^4*Dy-x^2*y*Dy+2*y^3+x^2
setring r;
def C = annRat(f,g); setring C;
LD; // the full annihilator
==> LD[1]=3*y^2*Dx^2*Dy+2*x*Dx*Dy^2+9*y*Dx^2+4*Dy^2
==> LD[2]=3*y^3*Dx^2-10*x*y*Dx*Dy-8*y^2*Dy^2+10*x*Dx
==> LD[3]=y^3*Dy^2-x^2*Dy^2-6*x*y*Dx+2*y^2*Dy+4*y
==> LD[4]=3*x*Dx+2*y*Dy+1
==> LD[5]=y^4*Dy-x^2*y*Dy+2*y^3+x^2
ideal BLD = imap(B,LD);
NF(LD,std(BLD));
==> _[1]=0
==> _[2]=0
==> _[3]=0
==> _[4]=0
==> _[5]=0
 | 
 
 |