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

## Synopsis

• Usage:
gbw(I,w)
gbw(M,w)
• Inputs:
• I, an ideal, in the Weyl algebra
• M, , with entries in the Weyl algebra
• w, a list, of weights
• Outputs:
• gbI, an ideal, with the generators forming a Gr\"obner basis of the ideal with respect to the weight vector
• gbM, , with the columns forming a Gr\"obner basis of the submodule generated by the columns of the matrix with respect to the weight vector

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