next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Dmodules :: gbw

gbw -- Groebner bases w.r.t. a weight

Synopsis

Description

This routine computes a Gr\"obner basis of a left ideal I of the Weyl algebra with respect to a weight vector w = (u,v) where either u+v > 0 or u+v = 0. In the case where u+v > 0 the ordinary Buchberger algorithm works for any term order refining the weight order. In the case where u+v = 0 the Buchberger algorithm needs to be adapted to guarantee termination. There are two strategies for doing this. One is to homogenize to an ideal of the homogeneous Weyl algebra. The other is to homogenize with respect to the weight vector w. More details can be found in [SST, Sections 1.1 and 1.2].

i1 : makeWA(QQ[x,y])

o1 = QQ[x..y, dx, dy]

o1 : PolynomialRing, 2 differential variables
i2 : I = ideal (x*dx+2*y*dy-3, dx^2-dy)

                                2
o2 = ideal (x*dx + 2y*dy - 3, dx  - dy)

o2 : Ideal of QQ[x..y, dx, dy]
i3 : gbw(I, {1,3,3,-1})

                                2                                2  2    2
o3 = ideal (x*dx + 2y*dy - 3, dx  - dy, 2y*dx*dy + x*dy - 2dx, 4y dy  - x dy
     ------------------------------------------------------------------------
     + 2x*dx - 2y*dy)

o3 : Ideal of QQ[x..y, dx, dy]
i4 : gbw(I, {-1,-3,1,3})

                                  2
o4 = ideal (x*dx + 2y*dy - 3, - dx  + dy)

o4 : Ideal of QQ[x..y, dx, dy]

Caveat

The weight vector w = (u,v) must have u+v>=0.

See also

Ways to use gbw :

For the programmer

The object gbw is a method function.