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 _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum