[GAP Forum] Can GAP find Grobner basis for Noncmmutative algebras?

Max Horn max at quendi.de
Mon Apr 12 07:53:55 BST 2010


Am 12.04.2010 um 04:09 schrieb 君:

> If there is an noncommutative associative algebra, presented as A=K<X|R>,where X is the generating set, R is the relations set.
> My question is: How to use GAP to find the Grobner basis for A?
> P.S.:Can GAP find the Grobner shirshov basis for A,too?
> I hope to get some help from experts.

The GBNP package can perform Gröbner basis computations in free associative algebras. First you'll have to install GBNP.

load GBNP and enter the relations. Here we assume two generators a and b, and we work over the rationals.

gap> LoadPackage("gbnp");
true
gap> A:=FreeAssociativeAlgebraWithOne(Rationals, "a", "b");
<algebra-with-one over Rationals, with 2 generators>
gap> a:=A.1;;b:=A.2;;e:=One(A);;
gap> rels := [ b*a^2*b-b^2, b^2-e, (a*b)^12-e, (a*b)^8-e ];;

You can now compute a Gröbner basis for the ideal generated by these relation:

gap> GBR:=SGrobner(GP2NPList(rels));;
gap> PrintNPList(GBR);
 a^2 - 1 
 b^2 - 1 
 baba - abab 

Now you can compute the dimension of A, or multiply elements in it

gap> DimQA(GBR,2);
8
gap> PrintNP(MulQA(GP2NP(a), GP2NP(b), GBR));
 ab 
gap> PrintNP(MulQA(GP2NP(a*b), GP2NP(a*b), GBR));
 abab 
gap> PrintNP(MulQA(GP2NP(a*b*a), GP2NP(a*b*a), GBR));
 1 

As far as I know, GBNP does not yet provide a nice interface to turn the quotient algebra into a "proper" GAP object / algebra, but you can ask for matrix generators as a substitute (assuming its dimension is not too big):

gap> B := BaseQA(GBR,2,0);;
gap> mats := MatricesQA(2,B,GBR);;
gap> Q:=AlgebraWithOne(Rationals, mats);
<algebra-with-one over Rationals, with 2 generators>
gap> Dimension(Q);
8



Hope that helps,
Max


More information about the Forum mailing list