up previous next
NC.MRReducedBP

Buchberger procedure for computing reduced (partial) Groebner basis of a finitely generated two-sided ideal.
Syntax
          
NC.MRReducedBP(X:STRING, Ordering:STRING, R:LIST, F:LIST):LIST
NC.MRReducedBP(X:STRING, Ordering:STRING, R:LIST, F:LIST, DegreeBound:INT, LoopBound:INT, BFlag:BOOL):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 note all of the following 3 additional optional parameters must be used at the same time if used.

Example
X := "xyt";  
Ordering := "LLEX";  
R := [];
F1 := [[1,"xx"], [-1,"yx"]];  
F2 := [[1,"xy"], [-1,"ty"]]; 
F3 := [[1,"xt"], [-1, "tx"]]; 
F4 := [[1,"yt"], [-1, "ty"]]; 
F := [F1, F2, F3, F4]; --F=(xx-yx, xy-ty, xt-tx, yt-ty)
NC.MRReducedBP(X, Ordering, R, F);
[[[1, "yt"], [-1, "ty"]], [[1, "xt"], [-1, "tx"]], [[1, "xy"], [-1, "ty"]], 
[[1, "xx"], [-1, "yx"]], [[1, "tyy"], [-1, "tty"]], [[1, "yyx"], [-1, "tyx"]]]
-------------------------------
X := "xyt";  
Ordering := "ELIM";  
R := [];
F1 := [[1,"xx"], [-1,"yx"]];  
F2 := [[1,"xy"], [-1,"ty"]]; 
F3 := [[1,"xt"], [-1, "tx"]]; 
F4 := [[1,"yt"], [-1, "ty"]]; 
F := [F1, F2, F3, F4]; --F=(xx-yx, xy-ty, xt-tx, yt-ty)
NC.MRReducedBP(X, Ordering, R, F);
[[[1, "yt"], [-1, "ty"]], [[1, "tyy"], [-1, "tty"]], [[1, "xt"], [-1, "tx"]], 
[[1, "xy"], [-1, "ty"]], [[1, "yyx"], [-1, "tyx"]], [[1, "xx"], [-1, "yx"]]]
-------------------------------
X := "xyz";  
Ordering := "LLEX";  
R := [];  
F1 := [[1,"xy"], [-1,"z"]];  
F2 := [[1,"yz"], [-1,"x"]]; 
F3 := [[1,"zx"], [-1, "y"]]; 
F := [F1, F2, F3]; -- F=(xy-z, yz-x, zx-y)
NC.MRReducedBP(X, Ordering, R, F);
[[[1, "zx"], [-1, "y"]], [[1, "yz"], [-1, "x"]], [[1, "yy"], [-1, "zz"]], 
[[1, "xy"], [-1, "z"]], [[1, "xx"], [-1, "zz"]], [[1, "zzz"], [-1, "yx"]], 
[[1, "zzy"], [-1, "xz"]], [[1, "yxz"], [-1, "zyx"]], [[1, "xzz"], [-1, "zy"]], 
[[1, "xzy"], [-1, "zyx"]]]
-------------------------------
X := "xyz";  
Ordering := "ELIM";  
R := [];  
F1 := [[1,"xy"], [-1,"z"]];  
F2 := [[1,"yz"], [-1,"x"]]; 
F3 := [[1,"zx"], [-1, "y"]]; 
F := [F1, F2, F3]; -- F=(xy-z, yz-x, zx-y)
NC.MRReducedBP(X, Ordering, R, F);
[[[1, "zzzzz"], [-1, "z"]], [[1, "zyz"], [-1, "y"]], [[1, "yzz"], [-1, "zzy"]],
 [[1, "zzzy"], [-1, "yz"]], [[1, "yy"], [-1, "zz"]], [[1, "yzy"], [-1, "z"]], [[1, "x"], [-1, "yz"]]]
-------------------------------
X := "xy";   
Ordering := "ELIM";   
R := [];   
F1 := [[1,"xxxxxxx"], [-1,"x"],[-1,""]]; -- x^7-x-1   
F2 := [[1,"xxxxxx"], [-9,"xxxxx"],[1,"x"],[11,""],[-1,"y"]]; -- x^6-9x^4+x+11-y 
NC.MRReducedBP(X, Ordering, R, [F1, F2], 10, 100, 1);
[[[1, "yyyyyyy"], [-83, "yyyyyy"], [2999, "yyyyy"], [-61029, "yyyy"], [726440, "yyy"], [-4538196, "yy"], [9285526, "y"], [22670839, ""]], 
[[1, "x"], [525616288261/14118890761967198651, "yyyyyy"], [-405570529121531/70594453809835993255, "yyyyy"], 
[2710544866140242/14118890761967198651, "yyyy"], [-174004165559977174/70594453809835993255, "yyy"], 
[60896454800481540/14118890761967198651, "yy"], [15482248046125353437/70594453809835993255, "y"], 
[-58757124289632819543/70594453809835993255, ""]]]
-------------------------------
-- Examples from "Classification of the finite generalized tetrahedron groups", Gerhard Rosenberger.
-- (1)
X := "xyz";   
Ordering := "LLEX";   
R := [];   
F1 := [[1,"xx"], [-1,""]];   
F2 := [[1,"yyy"], [-1,""]];  
F3 := [[1,"zz"], [-1,""]];  
F4 := [[1,"xyxyyxyxyy"], [-1,""]]; 
F5 := [[1,"xzxz"], [-1,""]];  
F6 := [[1,"yzyz"], [-1,""]];   
F := [F1, F2, F3, F4, F5, F6];
G:=NC.MRReducedBP(X, Ordering, R, F);
Len(G);
19
-------------------------------
G;
[[[1, "zz"], [-1, ""]], [[1, "xz"], [-1, "zx"]], [[1, "xx"], [-1, ""]], [[1, "zyz"], [-1, "yy"]], [[1, "zyy"], [-1, "yz"]], 
[[1, "yzy"], [-1, "z"]], [[1, "yyz"], [-1, "zy"]], [[1, "yyy"], [-1, ""]], [[1, "zxyz"], [-1, "xyy"]], [[1, "zxyy"], [-1, "xyz"]], 
[[1, "yyxyz"], [-1, "zyxyy"]], [[1, "yyxyy"], [-1, "zyxyz"]], [[1, "xyzxy"], [-1, "yzxyx"]], [[1, "xyyxy"], [-1, "yyxyx"]], 
[[1, "xyxyy"], [-1, "yxyyx"]], [[1, "yzxyxy"], [-1, "xyxyz"]], [[1, "yyxyxy"], [-1, "zxyxyz"]], [[1, "yxyxyz"], [-1, "zyxyxy"]], 
[[1, "xyxyxy"], [-1, "yxyxyx"]]]
-------------------------------
-- (37)
X := "xyz";   
Ordering := "LLEX";   
R := [];   
F1 := [[1,"xxx"], [1,""]];   
F2 := [[1,"yyyyy"], [1,""]];  
F3 := [[1,"zzz"], [1,""]];  
F4 := [[1,"xyxxyyxyxxyy"], [1,""]]; 
F5 := [[1,"xzxz"], [1,""]];  
F6 := [[1,"yyzyyz"], [1,""]];   
F := [F1, F2, F3, F4, F5, F6]; 
NC.MRReducedBP(X, Ordering, R, F,20, 150, True);
[[[1, "zzz"], [1, ""]], [[1, "zxz"], [-1, "xx"]], [[1, "xzx"], [-1, "zz"]], [[1, "xxx"], [1, ""]], [[1, "zzxx"], [1, "xz"]], 
[[1, "zyyz"], [-1, "yyy"]], [[1, "xxzz"], [1, "zx"]], [[1, "zzyyy"], [1, "yyz"]], [[1, "yyzyy"], [-1, "zz"]], [[1, "yyyzz"], [1, "zyy"]], 
[[1, "yyyyy"], [1, ""]], [[1, "yyzyzz"], [-1, "zzyzyy"]], [[1, "xyxxyyxyxx"], [-1, "yyy"]], [[1, "yxxyyxyxxyy"], [-1, "xx"]]]
-------------------------------


See Also