GAP

## Investigating Two Fp Groups of A. Cavicchioli

In research on some fundamental groups, A. Cavicchioli (Modena) considered a family of groups defined by the presentations

G = ⟨ a, b | a b a-2 b a b-1 = a ( b-1 a3 b-1 a-3 ) q = 1 ⟩.

We investigate the cases q = 1 and q = 2. These examples were first described in pre-GAP terms in a paper 'An elementary introduction to computational methods for finitely presented groups', a GAP 3 code was given in a talk by Alexander Hulpke.

The following is an updated GAP 4 version. The input used is available in form of a plain GAP 4 input file.

### We first investigate the group h with the parameter q=1.

We define the fp group h and its subgroup s generated by the first generator.
```gap> f := FreeGroup(2); a:=f.1;; b:=f.2;;
<free group on the generators [ f1, f2 ]>
gap> h := f/[a*b*a^-2*b*a*b^-1,(b^-1*a^3*b^-1*a^-3)^1*a];
<fp group on the generators [ f1, f2 ]>
gap> s := Subgroup(h,[h.1]);
Group([ f1 ])
```
In order to see the working of the Todd-Coxeter method determining the index of s in h we set a suitable print level.
```gap> SetInfoLevel(InfoFpGroup,3);
gap> Index(h,s);
#I  CosetTableFromGensAndRels called:
#I      defined deleted alive   maximal
#I  	  13	  1	  12	  13
12
```
We determine the permutation representation of h on the cosets of s and the order of that permutation group.
```gap> hom := FactorCosetAction(h,s);
[ f1, f2 ] -> [ (2,4,3,7,5)(6,8,10,11,9), (1,2,6,8,3)(5,9,12,10,7) ]
gap> p := Image(hom);
Group([ (2,4,3,7,5)(6,8,10,11,9), (1,2,6,8,3)(5,9,12,10,7) ])
gap> Size(p);
60
```
Encouraged by the success we now look at the regular permutation representation of h.
```gap> Index(h,TrivialSubgroup(h));
#I  CosetTableFromGensAndRels called:
#I      defined deleted alive   maximal
#I  	  133	  13	  120	  133
120
```
Next we want to learn more about the structure of the group s the order of which we know to be 120.
```gap> AbelianInvariants(h);
[  ]
```
So the group h is perfect and, in fact, isomorphic to SL(2,5).

### We next try the same procedure with the group g with the parameter q=2.

```gap> g := f/[a*b*a^-2*b*a*b^-1,(b^-1*a^3*b^-1*a^-3)^2*a];
<fp group on the generators [ f1, f2 ]>
gap> Index(g,Subgroup(g,[g.1]));
```
In the following output describing the performance of the Todd-Coxeter method, which in this case does not succeed within the maximally allowed 256000 coset numbers, we leave out several lines in the printing below.
```#I  CosetTableFromGensAndRels called:
#I      defined deleted alive   maximal
#I  	  999	  1	  998	  999
#I  	  1997	  3	  1994	  1996
[ ... some lines deleted ... ]
#I  	  254815  185	  254630  254693
#I  	  255812  188	  255624  255690
Error, the coset enumeration has defined more than 256000 cosets
called from
TCENUM.CosetTableFromGensAndRels( fgens, grels, fsgens ) called from
CosetTableFromGensAndRels( fgens, grels, fsgens ) called from
TryCosetTableInWholeGroup( H ) called from
CosetTableInWholeGroup( H ) called from
IndexInWholeGroup( H ) called from
...
type 'return;' if you want to continue with a new limit of 512000 cosets,
type 'quit;' if you want to quit the coset enumeration,
type 'maxlimit := 0; return;' in order to continue without a limit
brk> quit;
```
Rather than continuing the enumeration with an increased limit we have quitted it in order to try a different approach. We can now reset the print level to reduce the output.
```gap> SetInfoLevel(InfoFpGroup,0);
```
We first check that the group g is perfect.
```gap> AbelianInvariants(g);
[  ]
```
Next we determine all subgroups of g of index less than or equal to 15 and identify the type of the transitive permutation groups acting on their cosets.
```gap> u := LowIndexSubgroupsFpGroup(g,TrivialSubgroup(g),15);;
gap> u := Filtered(u,i->Index(g,i)>1);;
gap> list := List(u,i->Image(FactorCosetAction(g,i)));;
gap> Length(list);
24
gap> id := List([1..24],
> i->[Index(g,u[i]),Size(list[i]),TransitiveIdentification(list[i])]);;
gap> Collected(id);
[ [ [ 11, 660, 5 ], 2 ], [ [ 11, 19958400, 7 ], 8 ], [ [ 12, 660, 179 ], 1 ],
[ [ 12, 95040, 295 ], 4 ], [ [ 12, 239500800, 300 ], 3 ],
[ [ 13, 3113510400, 8 ], 6 ] ]
```
We ensure that all these permutation groups are simple.
```gap> Collected(List(list,i->IsSimple(i)));
[ [ true, 24 ] ]
```
From the orders we therefore see that the occurring groups are isomorphic to the alternating groups of degrees 11, 12, and 13, the group PSL(2,11), and the Mathieu group M12.
We now obtain the subdirect product of the permutation groups above as the factor group of the intersection of the cores of the permutation representations.
```gap> cores := List(u,i->Core(g,i));;
gap> kernel := Intersection(cores);
Group(<fp, no generators known>)
gap> hom := NaturalHomomorphismByNormalSubgroup(g,kernel);;
gap> image := Image(hom);;
```
We determine the degree of the subdirect product:
```gap> IsPermGroup(image);
true
gap> NrMovedPoints(image);
237
```
The order of the subdirect product is huge.
```gap> Size(image);
187838840781137083803280175646550961040094223793955611966199644315614527534543\
5097975617726355751505731109984424427520000000000000000000000000000000000000
```
We hence suspect that the group g may be infinite. It is perfect, but there is a chance that some of its subgroups may be not. So we determine the types of the commutator factor groups of the subgroups we had found before.
```gap> List(u,i->AbelianInvariants(i));
[ [ 11, 13 ], [ 2, 3, 9 ], [ 11, 13 ], [ 11, 13 ], [ 11, 13 ], [ 0, 0, 2 ],
[ 2, 2, 8 ], [ 2, 3, 9 ], [ 11, 13 ], [ 2, 2, 8 ], [ 11, 13 ], [ 2, 2, 8 ],
[ 2, 2, 8 ], [ 2, 2, 8 ], [ 2, 2, 3 ], [ 2, 2, 3 ], [ 2, 2, 3 ],
[ 2, 2, 3 ], [ 2, 2, 3 ], [ 2, 2, 3 ], [ 2, 2, 3 ], [ 2, 2, 3 ],
[ 2, 2, 3 ], [ 2, 2, 3 ] ]
```
The sixth of these types is [ 0, 0, 2 ], telling us that indeed the corresponding subgroup has an abelian factor group that is a direct product of a free abelian group of rank 2 times a cyclic group of order 2.