up previous next
NC.GB

Computes a (partial) two-sided Groebner basis of finitely generated ideal (using Buchberger's procedure) over a free associative K-algebra.
Syntax
          
NC.GB(Polynomials:LIST):LIST
NC.GB(Polynomials: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.

Before calling the function, please set ring environment coefficient field K, alphabet X and ordering through the functions NC.SetFp(Prime) (or NC.UnsetFp()), NC.SetX(X) and NC.SetOrdering(Ordering) respectively. Default coefficient field is Q. 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 there exists a finite Groebner basis. Instead of forcing computer yelling and informing nothing valuable, the function has 3 optional parameters to control the computation. Note that at the moment all of the following 3 additional optional parameters must be used at the same time.

Example
NC.SetX("xyzt"); 
F1 := [[1,"xx"], [-1,"yx"]];
F2 := [[1,"xy"], [-1,"ty"]];
F3 := [[1,"xt"], [-1, "tx"]];
F4 := [[1,"yt"], [-1, "ty"]];
Generators := [F1, F2,F3,F4]; 
NC.GB(Generators); -- over Q (default field), LLEX ordering (default ordering)
[[[1, "yt"], [-1, "ty"]], [[1, "xt"], [-1, "tx"]], [[1, "xy"], [-1, "ty"]], 
[[1, "xx"], [-1, "yx"]], [[1, "tyy"], [-1, "tty"]], [[1, "yyx"], [-1, "tyx"]], 
[[1, "ttyy"], [-1, "ttty"]], [[1, "tyyx"], [-1, "ttyx"]]]
-------------------------------
NC.SetFp(); -- set default Fp=F2
NC.GB(Generators); -- over F2, LLEX ordering
[[[1, "yt"], [1, "ty"]], [[1, "xt"], [1, "tx"]], [[1, "xy"], [1, "ty"]], 
[[1, "xx"], [1, "yx"]], [[1, "tyy"], [1, "tty"]], [[1, "yyx"], [1, "tyx"]], 
[[1, "ttyy"], [1, "ttty"]], [[1, "tyyx"], [1, "ttyx"]]]
-------------------------------
NC.SetFp(3);
NC.GB(Generators); -- over F3, LLEX ordering
[[[1, "yt"], [2, "ty"]], [[1, "xt"], [2, "tx"]], [[1, "xy"], [2, "ty"]], 
[[1, "xx"], [2, "yx"]], [[1, "tyy"], [2, "tty"]], [[1, "yyx"], [2, "tyx"]], 
[[1, "ttyy"], [2, "ttty"]], [[1, "tyyx"], [2, "ttyx"]]]
-------------------------------


See Also