ecart.gb

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



Nobuki Takayama 2020-11-24