up previous next
NC.BP

Computes (partial) two-sided Groebner basis of finitely generated ideal using Buchberger's procedure over a monoid ring.
Syntax
          
NC.BP(G:LIST):LIST
NC.BP(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.

Before calling the function, please set ring environment coefficient field K, alphabet X, ordering, relations and (rewriting) rules through the functions NC.SetFp(Prime) (or NC.UnsetFp()), NC.SetX(X), NC.SetOrdering(Ordering), NC.SetRelations(Relations) and NC.SetRules(Rules) 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("xy");  
NC.SetRelations([]);  
NC.SetRules([["yx", [[1,"xy"], [1,""]]]]); -- yx=xy+1 
F1 := [[1,"x"]];  
F2 := [[1,"y"]];  
G := [F1, F2];  
NC.BP(G); -- over Q (default field), LLEX ordering (default ordering)
[[[1, "y"]], [[1, "x"]]]
-------------------------------
F3 := [[1,"xx"]];
G := [F3];  
NC.BP(G);
[[[1, "xx"]]]
-------------------------------
NC.SetRules([]);
F := [[1,"yx"], [-1,"xy"], [-1,""]];
G := [F1, F2, F];  
NC.BP(G);
[[[1, ""]]]
-------------------------------
G := [F3, F];  
NC.BP(G);
[[[[1, ""]], [[1, "x"]], [[1, "xy"], [-1, "yx"], [1, ""]], [[1, "xx"]]]
-------------------------------


See Also