Finitely presented finite subgroups of a finitely presented infinite group in GAP?

84 Views Asked by At

I am trying to work with infinite Coxeter groups in GAP. An example of such a group would be $\langle a, b, c | a^2, b^2, c^2, (ab)^4, (ac)^2, (bc)^4\rangle$ which can be used to describe the 2D (Euclidean) square lattice. The group is infinite but the subgroups generated by any pair of generators are finite. These subgroups then have a straightforward finite presentation inherited from the presentation of the full group, e.g. $\langle a, b | a^2, b^2, (ab)^4\rangle$ (this is just $D_8$).

I can define the first group in GAP as

F := FreeGroup(3);
G := F / [F.1^2, F.2^2, F.3^2, (F.1*F.2)^4, (F.1*F.3)^2, (F.2*F.3)^4];

and the subgroup generated by the first two generators as

H := Subgroup(G,[G.1,G.2]);

but this returns

Group([ f1, f2 ])

so GAP does not seem to store $H$ as a finitely presented group. Whenever I ask GAP to do anything with $H$ (find the size, return a specific coset etc) GAP attempts to do this by (as far as I can tell) trying to compute the full coset table for $G$ with $H$ as a subgroup, which unsurprisingly fails because there are infinitely many cosets of $H$ in $G$. There is a section in the GAP documentation titled "New Presentations and Presentations for Subgroups" which suggests using the IsomorphismFpGroup function to solve this problem, but this also seems to fail when $G$ is infinite because

iso := IsomorphismFpGroup(H);

returns

Error, the coset enumeration has defined more than 4096000 cosets.

If I instead just independently define these subgroups as finitely presented groups with the relevant generators and relations then GAP handles all the size calculations etc perfectly well, but I can no longer calculate cosets of these groups using the other elements of $G$ (which I ultimately want to do).

Is there a better way to work with subgroups of this type, or is this just not something GAP is designed to do?

1

There are 1 best solutions below

2
On

There isn't really a machanism to deal easily with this particular situation. Part of the reason is that in general the relators in a subset of generators do not yield a presentation for the subgroup generated by these elements (e.g. consider $\langle a,b\rangle\le \langle a,b,c\mid a=c,b=c\rangle$).

What you can do in your example is to force element normal form:

SetReducedMultiplication(G);

Then operations which are element based will succeed, e.g. Elements(H);, and one could probably get eleemnt lists for cosets.

What would you ultimately like to compute from $H$?