Finitely presented monoid

89 Views Asked by At

How to find the elements of finitely presented monoid on Gap with given relations: [[x^2237, e], [y^2237, e], [z^2237,e],[x^28,y^19z^9],[y^31,x^13z^17],[z^42,x^8y^17],[xy, yx], [xz, zx],[yz, z*y]];

I got the answer for the same relations except for three first relations when x,y,z have power 145 [[x^145, e], [y^145 e], [z^145,e],[x^28,y^19z^9],[y^31,x^13z^17],[z^42,x^8y^17],[xy, yx], [xz, zx],[yz, z*y]];

But when try for large powers such as 2237 I can't get answer

1

There are 1 best solutions below

2
On

It seems that you get an answer if you use gap 4.10 or 4.11.

gap>  F := FreeMonoid("x", "y", "z");;
gap> generators := GeneratorsOfMonoid(F);;
gap> x := generators[1];;
gap> y := generators[2];;
gap> z := generators[3];;
gap> e := Identity(F);;
gap>  relations:= [[x^2237, e], [y^2237, e], [z^2237, e],[x^28,y^19*z^9],[y^13,x^13*z^17],[z^42,x^8*y^17],[x*y, y*x], [x*z, z*x], [y*z, z*y]];;
gap>  G := F/relations;
<fp monoid on the generators [ x, y, z ]>
gap> elements := Elements(G);
[ <identity ...> ]
gap> Size(G);
1

However, I did not get any result after a while with version 4.12 (cygwin).

The above answer is consistent with

gap> LoadPackage("singular");
true
gap> GBASIS:=SINGULARGBASIS;;
gap> P:=PolynomialRing(Rationals,["x","y","z"]);
Rationals[x,y,z]
gap> var:=IndeterminatesOfPolynomialRing(P);;
gap> x:=var[1];;y:=var[2];;z:=var[3];;
gap> I:=Ideal(P,[x^2237-1,y^2237-1,z^2237-1,x^28-y^19*z^9,y^13-x^13*z^17,z^42-x^8*y^17]);
<two-sided ideal in Rationals[x,y,z], (6 generators)>
gap> R:=P/I;
<ring Rationals,(1)>
gap> Size(Basis(R));
1

The "group approach" (with a correction: y^31-x^15z^17, was written as y^13-x^15z^17).

gap> F:=FreeGroup("x", "y", "z");;
gap> generators := GeneratorsOfGroup(F);;
gap> e:=Identity(F);;
gap> x:=generators[1];;y:=generators[2];;z:=generators[3];;
gap> relations:= [[x^2237, e], [y^2237, e], [z^2237, e],[x^28,y^19*z^9],[y^31,x^13*z^17],[z^42,x^8*y^17],[x*y, y*x], [x*
z, z*x], [y*z, z*y]];;
gap> rel:=List(relations, p->p[1]*p[2]^-1);;
gap> G:=F/rel;;
gap> Size(G);
2237