| ##### 7.7.5.0. GBWeight Procedure from library `dmodapp.lib` (see dmodapp_lib). Usage: GBWeight(I,u,v [,s,t,w]); I ideal, u,v intvecs, s,t optional ints, w an optional intvec Return: ideal, Groebner basis of I w.r.t. the weights u and v Assume: The basering is the n-th Weyl algebra 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). Purpose: computes a Groebner basis with respect to given weights Note: The weights u and v are understood as weight vectors for x(i) and D(i), respectively. According to (SST), one computes the homogenization of a given ideal relative to (u,v), then one computes a Groebner basis and returns the dehomogenization of the result. If s<>0, `std` is used for Groebner basis computations, otherwise, and by default, `slimgb` is used. If t<>0, a matrix ordering is used for Groebner basis computations, otherwise, and by default, a block ordering is used. If w is given and consists of exactly 2*n strictly positive entries, w is used for constructing the weighted homogenized Weyl algebra, see Noro (2002). Otherwise, and by default, the homogenization weight (1,...,1) is used. Display: If printlevel=1, progress debug messages will be printed, if printlevel>=2, all the debug messages will be printed. Example:
    LIB "dmodapp.lib";
    ring r = 0,(x,y,Dx,Dy),dp;
    def D2 = Weyl();
    setring D2;
    ideal I = 3*x^2*Dy+2*y*Dx,2*x*Dx+3*y*Dy+6;
    intvec u = -2,-3;
    intvec v = -u;
    GBWeight(I,u,v);
    ==> _[1]=2*x*Dx+3*y*Dy+6
    ==> _[2]=3*x^2*Dy+2*y*Dx
    ==> _[3]=9*x*y*Dy^2-4*y*Dx^2+15*x*Dy
    ==> _[4]=27*y^2*Dy^3+8*y*Dx^3+135*y*Dy^2+105*Dy
    ideal J = std(I);
    GBWeight(J,u,v); // same as above
    ==> _[1]=2*x*Dx+3*y*Dy+6
    ==> _[2]=3*x^2*Dy+2*y*Dx
    ==> _[3]=9*x*y*Dy^2-4*y*Dx^2+15*x*Dy
    ==> _[4]=27*y^2*Dy^3+8*y*Dx^3+135*y*Dy^2+105*Dy
    u = 0,1;
    GBWeight(I,u,v);
    ==> _[1]=2*x*Dx+3*y*Dy+6
    ==> _[2]=3*x^2*Dy+2*y*Dx
    ==> _[3]=-x^3*Dx+y^2*Dx-3*x^2

User manual for Singular version 4-0-2, 2015, generated by texi2html.