Macaulay2 » Documentation
Packages » OIGroebnerBases > reduceOIGB
next | previous | forward | backward | up | index | toc

reduceOIGB -- reduce an OI-Gröbner basis

Synopsis

Description

This method reduces G as a Gröbner basis, i.e., ensures that no monomial of any element of G is OI-divisible by the leading monomial of any other element of G. The Verbose option must be either true or false, depending on whether one wants debug information printed.

i1 : P = makePolynomialOIAlgebra(2, x, QQ);
i2 : F = makeFreeOIModule(e, {1,1,2}, P);
i3 : installGeneratorsInWidth(F, 1);
i4 : installGeneratorsInWidth(F, 2);
i5 : use F_1; b1 = x_(2,1)*e_(1,{1},2)+x_(1,1)*e_(1,{1},2);
i7 : use F_2; b2 = x_(1,2)*x_(1,1)*e_(2,{2},1)+x_(2,2)*x_(1,2)*e_(2,{2},2);
i9 : time B = oiGB({b1, b2}, Strategy => FastNonminimal)
 -- used 0.303496s (cpu); 0.236196s (thread); 0s (gc)

                                                                       
o9 = {x   e        + x   e       , x   x   e        + x   x   e       ,
       2,1 1,{1},2    1,1 1,{1},2   1,2 1,1 2,{2},1    2,2 1,2 2,{2},2 
     ------------------------------------------------------------------------
      2                  2
     x   x   e        - x   x   e       }
      1,3 1,2 3,{3},2    1,3 1,1 3,{3},2

o9 : List
i10 : minimizeOIGB B -- does not change the basis

                                                                        
o10 = {x   e        + x   e       , x   x   e        + x   x   e       ,
        2,1 1,{1},2    1,1 1,{1},2   1,2 1,1 2,{2},1    2,2 1,2 2,{2},2 
      -----------------------------------------------------------------------
       2                  2
      x   x   e        - x   x   e       }
       1,3 1,2 3,{3},2    1,3 1,1 3,{3},2

o10 : List
i11 : reduceOIGB B -- changes the basis

                                                        2           
o11 = {x   e        + x   e       , x   x   e        - x   e       ,
        2,1 1,{1},2    1,1 1,{1},2   1,2 1,1 2,{2},1    1,2 2,{2},2 
      -----------------------------------------------------------------------
       2                  2
      x   x   e        - x   x   e       }
       1,3 1,2 3,{3},2    1,3 1,1 3,{3},2

o11 : List

Ways to use reduceOIGB :

For the programmer

The object reduceOIGB is a method function with options.