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

# minimizeOIGB -- minimize an OI-Gröbner basis

- Usage:
    `minimizeOIGB G`
- Inputs:
  - G, a list,
- Optional inputs:
  - Verbose => ..., default value false
- Outputs:
  - a list,

## Description

This method minimizes G with respect to the Gröbner property, i.e., removes any elements whose leading monomial is OI-divisible by the leading monomial of another 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 : installGeneratorsInWidth(F, 3);

    i6 : use F_1; b1 = x_(1,1)*e_(1,{1},1)+x_(2,1)*e_(1,{1},2);

    i8 : use F_2; b2 = x_(1,2)*x_(1,1)*e_(2,{2},2)+x_(2,2)*x_(2,1)*e_(2,{1,2},3);

    i10 : time B = oiGB {b1, b2}
     -- used 0.0262401s (cpu); 0.0262395s (thread); 0s (gc)

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

    o10 : List

    i11 : use F_3; b3 = x_(2,3)*x_(2,2)*x_(1,1)*e_(3,{2,3},3)-x_(2,1)*x_(1,2)^2*e_(3,{1,3},3);

    i13 : C = append(B, b3) -- dump in a redundant element

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

          x   x   x   e           - x   x   x   e          , x   x   x   e
           2,3 2,2 1,1 3,{2, 3},3    2,3 2,1 1,2 3,{1, 3},3   2,3 2,2 1,1 3,{2,
          -----------------------------------------------------------------------
                      2
               - x   x   e          }
          3},3    2,1 1,2 3,{1, 3},3

    o13 : List

    i14 : minimizeOIGB C -- an element gets removed

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

    o14 : List

## Ways to use minimizeOIGB:

- `minimizeOIGB(List)`

## For the programmer

The object minimizeOIGB is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/OIGroebnerBases.m2:2498:0.