# reduceOIGB -- reduce an OI-Gröbner basis

## Synopsis

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

## 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 :

• reduceOIGB(List)

## For the programmer

The object reduceOIGB is .