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] |
The weight vector w = (u,v) must have u+v>=0.
The object gbw is a method function.