NCo.SetX("xyzt");
F1 := [[1,"xx"], [-1,"yx"]];
F2 := [[1,"xy"], [-1,"ty"]];
F3 := [[1,"xt"], [-1, "tx"]];
F4 := [[1,"yt"], [-1, "ty"]];
G := [F1, F2,F3,F4];
NCo.ReducedGB(G); -- 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"]]]
-------------------------------
NCo.SetFp(); -- set default Fp=F2
NCo.ReducedGB(G); -- 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"]]]
-------------------------------
NCo.SetFp(3);
NCo.ReducedGB(G); -- 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"]]]
-------------------------------
NCo.SetX("xyzt");
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];
G1:=NCo.ReducedGB(F);
G1;
NCo.IsGB(G1); -- G1 is a reduced Groebner basis
Fa:=[[1,"ytx"],[-1,""]];
Append(G1,Fa); -- add one element to G1
G1;
NCo.IsGB(G1); -- G1 is not a Groebner basis any longer
G2:=NCo.ReducedGB(G1); -- compute reduced Groebner basis G2 generated by G1
G2;
G3:=NCo.ReducedGB(G2); -- compute reduced Groebner basis G3 generated by G2
G3;
NCo.IsGB(G3);
[[[1, "yt"], [-1, "ty"]], [[1, "xt"], [-1, "tx"]], [[1, "xy"], [-1, "ty"]], [[1, "xx"], [-1, "yx"]], [[1, "tyy"], [-1, "tty"]], [[1, "yyx"], [-1, "tyx"]]]
-------------------------------
True
-------------------------------
[[[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, "ytx"], [-1, ""]]]
-------------------------------
False
-------------------------------
[[[1, "x"], [-1, "t"]], [[1, "ttt"], [-1, ""]], [[1, "y"], [-1, "t"]]]
-------------------------------
[[[1, "y"], [-1, "t"]], [[1, "x"], [-1, "t"]], [[1, "ttt"], [-1, ""]]]
-------------------------------
True
-------------------------------
|