ApCoCoA-1:NCo.BIsGB

NCo.BIsGB

Check whether a finite LIST of non-zero polynomials in a free monoid ring over the binary field F_{2}={0,1} is a Groebner basis.

Syntax

```NCo.BIsGB(G:LIST):INT
```

Description

Given a word ordering Ordering, a set Gb of non-zero polynomials is called a Groebner basis with respect to Ordering if the leading word set BLW{Gb} generates the leading word ideal BLW(<Gb>). The function checks whether a given finite set of non-zero polynomials G is a Groebner basis by using the Buchberger Criterion, i.e. G is a Groebner basis if the S-polynomials of all obstructions of G have the zero normal remainder with respect to G.

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

Please set ring environment alphabet (or set of indeterminates) X and word ordering via the functions NCo.SetX and NCo.SetOrdering, respectively, before calling this function. The default ordering is the length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions.

• @param G: a LIST of non-zero polynomials in the free monoid ring F_{2}<X>. Each polynomial is represented as a LIST of words (or terms) in <X>. Each word is represented as a STRING. For example, xy^2x is represented as "xyyx", and the identity is represented as the empty string "". Thus, the polynomial f=xy-y+1 is represented as F:=["xy", "y", ""]. The zero polynomial 0 is represented as the empty LIST [].

• @return: a BOOL, which is True if G is a Groebner basis with respect to the current word ordering and is False otherwise.

Example

```NCo.SetX("ab");
NCo.SetOrdering("LLEX");
F1:=["aa", ""];
F2:=["bbb", ""];
F3:=["abababbabbabababbabb", ""];
G:=[F1,F2,F3];
NCo.BIsGB(G);

False
-------------------------------
GB:=NCo.GGB(G);
GB;

[["aa", ""], ["bbb", ""], ["abbabbabab", "bbabbababa"],
["abbabababb", "babbabbaba"], ["ababbabbab", "bbabababba"], ["abababbabb", "bababbabba"],
["babbabbabab", "abbababa"], ["ababbabbaba", "bbabababb"], ["bbabbabababb", "abbabbaba"],
["bbabababbabb", "ababbabba"], ["ababbabbabab", "bbababa"], ["bababbabbabab", "ababa"],
["abababbababab", "babababbababa"], ["ababababbabab", "bababbabababa"], ["abbababababbab", "babbababababba"],
["ababbababababb", "bbababababbaba"], ["abababbabbabab", "baba"], ["ababababbababa", "bababbababab"],
["bbabababbababab", "abababbababa"], ["bababbababababb", "ababababbaba"], ["ababbababababba", "bbababababbab"],
["abababbabbababa", "bab"], ["bbabbababababbab", "abbababababba"], ["abababbababbabab", "bababbababbababa"],
["abababbabbabababb", "ba"], ["bbabababbababbabab", "ababbababbababa"], ["babbabbabbabbabbab", "abbababababababba"],
["abbabbabbabbabbaba", "bbabbababababababb"], ["abbababbababbababa", "bababbabababababab"], ["abbabababababababb", "babbabababababbaba"],
["ababbabababababbab", "bbabababababababba"], ["abababbabbabababba", "b"], ["bbabbababbababbabab", "ababbababababababa"],
["bbabbababababababba", "abbabbabbabbabbab"], ["bababbababbababbabb", "abababababababbaba"], ["bababbabababababbab", "abababababababba"],
["bababbababababababa", "abbababbababbabab"], ["ababbababbababbabba", "bbabababababababbab"], ["ababbabababababbaba", "bbabababababababb"],
["bbabbabababababababb", "abbabababababbaba"], ["bbabababababababbaba", "ababbababbababbabb"], ["bababbababbababbabba", "abababababababbab"],
["abababbabbabababbabb", ""], ["abbababababababababbab", "babbababababababababba"],
["ababbababbabababababab", "bababbababbabababababa"], ["ababbababababababababb", "bbababababababababbaba"],
["babbababbababbababbabab", "abbabababababababababa"], ["bababbababbababbababbab", "ababababababababababba"],
["abbababababababababbaba", "babbababababababababb"], ["ababbababbababbababbaba", "bbababababababababababb"],
["ababbababababababababab", "babbabababababababababa"], ["ababababababababababbab", "babababababababababbaba"],
["bbabbababababababababbab", "abbababababababababba"], ["bbabbabababababababababa", "abbababbababbababbabab"],
["bbababababababababababba", "ababbababbababbababbab"], ["abbababababababababababb", "babbababbababbababbaba"],
["ababababababababababbaba", "babababababababababbab"], ["abababababababababababab", "babababababababababababa"],
["abbababababababababababab", "babababababababababababba"], ["ababababababababababababb", "bbabababababababababababa"],
["bbabababababababababababab", "abababababababababababa"], ["ababababababababababababba", "bbababababababababababab"]]
-------------------------------
NCo.BIsGB(GB);

True
-------------------------------
```