up previous next
NC.GReducedGB

Enumerate a reduced (partial) Groebner basis of a finitely generated two-sided ideal in a free monoid ring over F2.

Note that, given an ideal I and an admissible ordering Ordering, a set of non-zero polynomials Gb is called a Groebner basis of I w.r.t. Ordering if the leading term set LT{Gb} (w.r.t. Ordering) generates the leading term ideal LT(I) (w.r.t. Ordering). A Groebner basis w.r.t. Ordering is called a reduced Groebner basis w.r.t. Ordering if (1) it is interreduced and (2) all polynomials in it are monic. Also note that each ideal has a unique reduced Groebner basis w.r.t. Ordering. However, it is not necessarily finite.
Syntax
          
NC.GReducedGB(G:LIST):LIST
NC.GReducedGB(G:LIST, DegreeBound:INT, LoopBound:INT, Flag:INT):LIST

          

Description
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 admissible ordering via the functions NC.SetX and NC.SetOrdering, respectively, before calling the function. The default ordering is length-lexicographic ordering ("LLEX"). For more information, please check the relevant functions. About the optional parameters: for most cases we do not know whether or not there exists a finite Groebner basis. Thue, the function has three optional parameters to interrupt the enumerating procedure. Note that at the moment all of the following three optional parameters must be used at the same time.

Example
NC.SetX("ab");
NC.SetOrdering("LLEX");
F1:=["aa", ""];
F2:=["bbb", ""];
F3:=["abababbabbabababbabb", ""];
G:=[F1,F2,F3];
RGB:=NC.GReducedGB(G);
RGB;

[["aa", ""], ["bbb", ""], ["abbabbabab", "bbabbababa"], 
["abbabababb", "babbabbaba"], ["ababbabbab", "bbabababba"], ["abababbabb", "bababbabba"], 
["abababbababab", "babababbababa"], ["ababababbabab", "bababbabababa"], ["abbababababbab", "babbababababba"], 
["ababbababababb", "bbababababbaba"], ["abababbababbabab", "bababbababbababa"], ["babbabbabbabbabbab", "abbababababababba"], 
["abbabbabbabbabbaba", "bbabbababababababb"], ["abbababbababbababa", "bababbabababababab"], ["abbabababababababb", "babbabababababbaba"], 
["ababbabababababbab", "bbabababababababba"], ["bbabbababbababbabab", "ababbababababababa"], ["bbabbababababababba", "abbabbabbabbabbab"], 
["bababbababbababbabb", "abababababababbaba"], ["bababbababababababa", "abbababbababbabab"], ["ababbababbababbabba", "bbabababababababbab"], 
["bbabababababababbaba", "ababbababbababbabb"], ["abbababababababababbab", "babbababababababababba"], 
["ababbababbabababababab", "bababbababbabababababa"], ["ababbababababababababb", "bbababababababababbaba"], 
["babbababbababbababbabab", "abbabababababababababa"], ["bababbababbababbababbab", "ababababababababababba"], 
["ababbababbababbababbaba", "bbababababababababababb"], ["ababbababababababababab", "babbabababababababababa"], 
["ababababababababababbab", "babababababababababbaba"], ["bbabbabababababababababa", "abbababbababbababbabab"], 
["bbababababababababababba", "ababbababbababbababbab"], ["abbababababababababababb", "babbababbababbababbaba"], 
["abababababababababababab", "babababababababababababa"],  ["abbababababababababababab", "babababababababababababba"]]
-------------------------------
NC.GIsGB(RGB);

True
-------------------------------
Len(RGB);

35
-------------------------------
GB:=NC.GGB(G);
Len(GB);

62
-------------------------------


See Also