This example was taken from Dr. Edward Green's paper ``Noncommutative
Grobner Bases, and Projective Resolutions'', and is referenced
as ``Example 2.7'' there; please see the manual for more information.
This example is the same as Example 1 above, except that the length
and lexicographic orderings are created independently and then
chained to form the usual length left-lexicographic ordering.
gap> LoadPackage("gbnp", false);
true
gap> A := FreeAssociativeAlgebraWithOne(Rationals,"a","b","c","d");;
gap> a := A.a;; b := A.b;; c := A.c;; d := A.d;;
gap> polys := [c*d*a*b-c*b,b*c-d*a];;
gap> reps := GP2NPList(polys);;
gap> lexord := NCMonomialLeftLexicographicOrdering(A);
NCMonomialLeftLexicographicOrdering([ (1)*a, (1)*b, (1)*c, (1)*d ])
gap> lenlex := NCMonomialLengthOrdering(A,lexord);
NCMonomialLengthOrdering([ (1)*a, (1)*b, (1)*c, (1)*d ])
gap> PatchGBNP(lenlex);;
LtNP patched.
GtNP patched.
gap> gbreps := Grobner(reps);;
gap> gb := NP2GPList(gbreps,A);
[ (1)*d*a+(-1)*b*c, (1)*(c*b)^2+(-1)*c*b ]
gap> lexord2 := NCMonomialLeftLexicographicOrdering(A,[4,3,2,1]);
NCMonomialLeftLexicographicOrdering([ (1)*d, (1)*c, (1)*b, (1)*a ])
gap> lenlex2 := NCMonomialLengthOrdering(A,lexord2);
NCMonomialLengthOrdering([ (1)*a, (1)*b, (1)*c, (1)*d ])
gap> PatchGBNP(lenlex2);;
LtNP patched.
GtNP patched.
gap> gbreps2 := Grobner(reps);;
gap> gb2 := NP2GPList(gbreps2,A);
[ (1)*b*c+(-1)*d*a, (1)*c*d*a*b+(-1)*c*b, (1)*(d*a)^2*b+(-1)*d*a*b,
(1)*c*(d*a)^2+(-1)*c*d*a, (1)*(d*a)^3+(-1)*(d*a)^2 ]
gap> HasNextOrdering(lenlex2);
true
gap> NextOrdering(lenlex2);
NCMonomialLeftLexicographicOrdering([ (1)*d, (1)*c, (1)*b, (1)*a ])
gap> LexicographicTable(NextOrdering(lenlex2));
[ (1)*d, (1)*c, (1)*b, (1)*a ]
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-04-26)
¤
*© Formatika GbR, Deutschland