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

dearmj at 126.com
Mon Apr 12 14:39:56 BST 2010


Thanks a lot, Max!It really helps me.<br><br>在2010-04-12 14:53:55,"Max Horn" <max at quendi.de> 写道:
>
>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