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

## Synopsis

• Usage:
minimizeOIGB G
• Inputs:
• Optional inputs:
• Verbose => ..., default value false
• Outputs:

## 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.0359832s (cpu); 0.0378164s (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 o14 = {x x e + x x e , x x x e - 1,2 1,1 2,{2},2 2,2 2,1 2,{1, 2},3 2,3 2,2 1,1 3,{2, 3},3 ----------------------------------------------------------------------- 2 x x e , x e + x e } 2,1 1,2 3,{1, 3},3 1,1 1,{1},1 2,1 1,{1},2 o14 : List

## Ways to use minimizeOIGB :

• minimizeOIGB(List)

## For the programmer

The object minimizeOIGB is .