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.
gap> LoadPackage("gbnp", false);
true
gap> A := FreeAssociativeAlgebraWithOne(Rationals,"a","b","c","d");
<algebra-with-one over Rationals, with 4 generators>
gap> a := A.a; b := A.b; c := A.c; d := A.d;
(1)*a
(1)*b
(1)*c
(1)*d
gap> polys := [c*d*a*b-c*b,b*c-d*a];
[ (-1)*c*b+(1)*c*d*a*b, (1)*b*c+(-1)*d*a ]
gap> reps := GP2NPList(polys);
[ [ [ [ 3, 4, 1, 2 ], [ 3, 2 ] ], [ 1, -1 ] ],
[ [ [ 4, 1 ], [ 2, 3 ] ], [ -1, 1 ] ] ]
gap> gbreps := Grobner(reps);
[ [ [ [ 4, 1 ], [ 2, 3 ] ], [ 1, -1 ] ],
[ [ [ 3, 2, 3, 2 ], [ 3, 2 ] ], [ 1, -1 ] ] ]
gap> gb := NP2GPList(gbreps,A);
[ (1)*d*a+(-1)*b*c, (1)*(c*b)^2+(-1)*c*b ]
gap> ml := NCMonomialLeftLengthLexOrdering(A);
NCMonomialLeftLengthLexicographicOrdering([ (1)*a, (1)*b, (1)*c, (1)*d ])
gap> PatchGBNP(ml);
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> ml2 := NCMonomialLeftLengthLexOrdering(A,[4,3,2,1]);
NCMonomialLeftLengthLexicographicOrdering([ (1)*d, (1)*c, (1)*b, (1)*a ])
gap> PatchGBNP(ml2);
LtNP patched.
GtNP patched.
gap> gbreps2 := SGrobner(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 ]
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-04-26)
¤
*© Formatika GbR, Deutschland
|
|