a ecart.gb b array a; array b; b : [g ii]; array g; array in; g is a standard (Grobner) basis of f in the ring of differential operators. The computation is done by using Ecart division algorithm and the double homogenization. cf. M.Granger and T.Oaku: Minimal filtered free resolutions ... 2003 ii is the initial ideal in case of w is given or <<a>> belongs to a ring. In the other cases, it returns the initial monominal. a : [f ]; array f; f is a set of generators of an ideal in a ring. a : [f v]; array f; string v; v is the variables. a : [f v w]; array f; string v; array of array w; w is the weight matirx. a : [f v w [(degreeShift) ds]]; array f; string v; array of array w; w is the weight matirx. array ds; ds is the degree shift for the ring. a : [f v w [(degreeShift) ds (startingShift) hdShift]]; array f; string v; array of array w; w is the weight matirx. array ds; ds is the degree shift for the ring. array hsShift is the degree shift for the homogenization. cf.homogenize a : [f v w [(degreeShift) ds (noAutoHomogenize) 1]]; array f; string v; array of array w; w is the weight matirx. No automatic homogenization. [(degreeShift) ds (noAutoHomogenize) 1 (sugar) 1] -->use the sugar strate cf. ecarth.gb (homogenized), ecartd.gb (dehomogenize), ecartd.reduction ecartd.gb.oxRingStructure Example 1: [ [( (x Dx)^2 + (y Dy)^2 -1) ( x y Dx Dy -1)] (x,y) [ [ (Dx) 1 ] [(x) -1 (y) -1 (Dx) 1 (Dy) 1]] ] ecart.gb pmat ; Example 2: [ [(2 x Dx + 3 y Dy+6) (2 y Dx + 3 x^2 Dy)] (x,y) [[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] ecart.gb /ff set ff pmat ; To set the current ring to the ring in which ff belongs ff getRing ring_def Example 3: [ [( (x Dx)^2 + (y Dy)^2 -1) ( x y Dx Dy -1)] (x,y) [ [ (Dx) 1 (Dy) 1] ] ] ecart.gb pmat ; This example will cause an error on order. Example 4: [[ [(x^2) (y+x)] [(x+y) (y^3)] [(2 x^2+x y) (y+x+x y^3)]] (x,y) [ [ (x) -1 (y) -1] [(x) -1 (y) -1 (Dx) 1 (Dy) 1]] ] ecart.gb pmat ; This example will cause an error on order. Example 5: [[ [(x^2) (y+x)] [(x+y) (y^3)] [(2 x^2+x y) (y+x+x y^3)]] (x,y) [ [(Dx) 1 (Dy) 1] [(x) -1 (y) -1 (Dx) 1 (Dy) 1] ] [(degreeShift) [[0 1] [-3 1]]] ] ecart.gb pmat ; Example 6: [ [(1-z) (-x+1-y-z)] (x,y,z) [[(y) -1 (z) -1 (Dy) 1 (Dz) 1] [(x) 1 (Dx) 1]] [(partialEcartGlobalVarX) [(x)]] ] /std set std ecart.gb pmat ; std ecart.gb getRing :: cf. gb, groebner, ecarth.gb, ecartd.gb, ecart.syz, ecart.begin, ecart.end, ecart.homogenize01, ecart.dehomogenize, ecart.dehomogenizeH [(weightedHomogenization) 1 (degreeShift) [[1 2 1]]] : options for define_ring /ecart.autoHomogenize 0 def not to dehomogenize and homogenize