gap> ######################### BEGIN COPYRIGHT MESSAGE #########################
GBNP - computing Gröbner bases of noncommutative polynomials
Copyright 2001-2010 by Arjeh M. Cohen, Dié A.H. Gijsbers, Jan Willem
Knopper, Chris Krook. Address: Discrete Algebra and Geometry (DAM) group
at the Department of Mathematics and Computer Science of Eindhoven
University of Technology.
For acknowledgements see the manual. The manual can be found in several
formats in the doc subdirectory of the GBNP distribution. The
acknowledgements formatted as text can be found in the file chap0.txt.
GBNP is free software; you can redistribute it and/or modify it under
the terms of the Lesser GNU General
Public License as published by the
Free Software Foundation (FSF); either
version 2.1 of the License, or
(at your option) any later
version. For details, see the file
'LGPL' in
the doc subdirectory of the GBNP distribution or see the FSF
's own site:
https://www.gnu.org/licenses/lgpl.html
gap> ########################## END COPYRIGHT MESSAGE ##########################
gap> LoadPackage(
"gbnp", false);
true
grobner basis examples
Grobner
gap> F:=Rationals;;
gap> NPone:=[[[]],[One(F)]];;
gap> NPzero:=[[],[]];;
gap> Grobner([])=[];
true
gap> Grobner([NPzero])=[];
true
gap> Grobner([NPzero,NPone])=[NPone];
true
gap> F:=GF(2);;
gap> NPone:=[[[]],[One(F)]];;
gap> SGrobner([NPzero,NPone])=[NPone];
true
SGrobner
gap> F:=Rationals;;
gap> NPone:=[[[]],[One(F)]];;
gap> NPzero:=[[],[]];;
gap> SGrobner([])=[];
true
gap> SGrobner([NPzero])=[];
true
gap> SGrobner([NPzero,NPone])=[NPone];
true
gap> F:=GF(2);;
gap> NPone:=[[[]],[One(F)]];;
gap> SGrobner([NPzero,NPone])=[NPone];
true
IsGrobnerBasis
gap> F:=Rationals;;
gap> NPone:=[[[]],[One(F)]];;
gap> NPzero:=[[],[]];;
gap> IsGrobnerBasis([]);
true
gap> IsGrobnerBasis([NPzero]);
true
gap> IsGrobnerBasis([NPone]);
true
gap> IsGrobnerBasis([NPzero, NPone]);
true
gap> IsGrobnerBasis([NPone, NPone]);
true
gap> F:=GF(2);;
gap> NPone:=[[[]],[One(F)]];;
gap> IsGrobnerBasis([NPone]);
true
gap> IsGrobnerBasis([NPzero, NPone]);
true
gap> IsGrobnerBasis([NPone, NPone]);
true
IsStrongGrobnerBasis
gap> F:=Rationals;;
gap> NPone:=[[[]],[One(F)]];;
gap> NPzero:=[[],[]];;
gap> IsStrongGrobnerBasis([]);
true
gap> IsStrongGrobnerBasis([NPzero]);
true
gap> IsStrongGrobnerBasis([NPone]);
true
gap> IsStrongGrobnerBasis([NPzero, NPone]);
true
gap> IsStrongGrobnerBasis([NPone, NPone]);
true
gap> F:=GF(2);;
gap> NPone:=[[[]],[One(F)]];;
gap> IsStrongGrobnerBasis([NPone]);
true
gap> IsStrongGrobnerBasis([NPzero, NPone]);
true
gap> IsStrongGrobnerBasis([NPone, NPone]);
true
IsGrobnerPair
gap> F:=Rationals;;
gap> NPone:=[[[]],[One(F)]];;
gap> NPzero:=[[],[]];;
some grobner basis checks (zero in G -> then no Grobner Pair)
gap> IsGrobnerPair([],[]);
true
gap> IsGrobnerPair([NPzero],[])=false;
true
gap> IsGrobnerPair([NPone],[]);
true
gap> IsGrobnerPair([NPzero, NPone],[])=false;
true
gap> IsGrobnerPair([NPone, NPone],[]);
true
gap> IsGrobnerPair([],[NPzero])=false;
true
gap> IsGrobnerPair([NPone],[NPzero])=false;
true
gap> IsGrobnerPair([NPone, NPone],[NPzero])=false;
true
gap> IsGrobnerPair([],[NPone]);
true
gap> IsGrobnerPair([NPone],[NPone]);
true
gap> IsGrobnerPair([NPone, NPone],[NPone]);
true
gap> F:=GF(2);;
gap> NPone:=[[[]],[One(F)]];;
some grobner basis checks (zero in G -> then no Grobner Pair)
gap> IsGrobnerPair([NPone],[]);
true
gap> IsGrobnerPair([NPzero, NPone],[])=false;
true
gap> IsGrobnerPair([NPone, NPone],[]);
true
gap> IsGrobnerPair([],[NPzero])=false;
true
gap> IsGrobnerPair([NPone],[NPzero])=false;
true
gap> IsGrobnerPair([NPone, NPone],[NPzero])=false;
true
gap> IsGrobnerPair([],[NPone]);
true
gap> IsGrobnerPair([NPone],[NPone]);
true
gap> IsGrobnerPair([NPone, NPone],[NPone]);
true
MakeGrobnerPair
gap> F:=Rationals;;
gap> NPone:=[[[]],[One(F)]];;
gap> NPzero:=[[],[]];;
some grobner basis checks (zero in G -> then no Grobner Pair)
gap> check:=function(r,G,todo) return r.G=G and r.todo=todo; end;;
gap> check(MakeGrobnerPair([],[]), [], []);
true
gap> check(MakeGrobnerPair([NPzero],[]), [],[]);
true
gap> check(MakeGrobnerPair([NPone],[]),[NPone],[]);
true
gap> check(MakeGrobnerPair([NPzero, NPone],[]),[NPone],[]);
true
gap> check(MakeGrobnerPair([NPone, NPone],[]),[NPone,NPone],[]);
true
gap> check(MakeGrobnerPair([],[NPzero]),[],[]);
true
gap> check(MakeGrobnerPair([NPone],[NPzero]),[NPone],[]);
true
gap> check(MakeGrobnerPair([NPone, NPone],[NPzero]),[NPone,NPone],[]);
true
gap> check(MakeGrobnerPair([],[NPone]),[],[NPone]);
true
gap> check(MakeGrobnerPair([NPone],[NPone]),[NPone],[NPone]);
true
gap> check(MakeGrobnerPair([NPone, NPone],[NPone]),[NPone,NPone],[NPone]);
true
gap> F:=GF(2);;
gap> NPone:=[[[]],[One(F)]];;
some grobner basis checks (zero in G -> then no Grobner Pair)
gap> check(MakeGrobnerPair([NPone],[]),[NPone],[]);
true
gap> check(MakeGrobnerPair([NPzero, NPone],[]),[NPone],[]);
true
gap> check(MakeGrobnerPair([NPone, NPone],[]),[NPone,NPone],[]);
true
gap> check(MakeGrobnerPair([],[NPzero]),[],[]);
true
gap> check(MakeGrobnerPair([NPone],[NPzero]),[NPone],[]);
true
gap> check(MakeGrobnerPair([NPone, NPone],[NPzero]),[NPone,NPone],[]);
true
gap> check(MakeGrobnerPair([],[NPone]),[],[NPone]);
true
gap> check(MakeGrobnerPair([NPone],[NPone]),[NPone],[NPone]);
true
gap> check(MakeGrobnerPair([NPone, NPone],[NPone]),[NPone,NPone],[NPone]);
true