ApCoCoA-1:NCo.BIsGB

From ApCoCoAWiki
Revision as of 13:37, 29 October 2020 by AndraschkoBot (talk | contribs) (replaced <quotes> tag by real quotes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This article is about a function from ApCoCoA-1.

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

See also

NCo.BGB

NCo.BLW

NCo.BReductedGB

NCo.BTruncatedGB

NCo.SetOrdering

NCo.SetX

Introduction to CoCoAServer