GAP

Main Branches

Downloads  Installation  Overview  Data Libraries  Packages  Documentation  Contacts  FAQ  GAP 3 
This is a page on GAP 3, which is still available, but no longer supported. The present version is GAP 4  (See  Status of GAP 3).

Investigating Two Fp Groups of A. Cavicchioli

See also the corresponding GAP 4 page.


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

     $ G = \langle a,b\mid aba^{-2}bab^{-1} = a(b^{-1}a^3b^{-1}a^{-3})^q = 1 \rangle $.

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'. The GAP 3 code given below is adapted from a talk by Alexander Hulpke.

The associated GAP 3 input file is also available.


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;;
  Group( f.1, f.2 )
  gap> h := f/[a*b*a^-2*b*a*b^-1,(b^-1*a^3*b^-1*a^-3)^1*a];
  Group( f.1, f.2 )
  gap> s := Subgroup(h,[h.1]);
  Subgroup( Group( f.1, f.2 ), [ f.1 ] )
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> InfoFpGroup1:=Print;; InfoFpGroup2:=Print;;
  gap> Index(h,s);
  #I  CosetTableFpGroup 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> p := OperationCosetsFpGroup(h,s);
  Group( ( 2, 3, 5, 7, 9)( 4, 6, 8,10,11), ( 1, 2, 4, 6, 5)( 7, 9,11,12, 8) )
  gap> Size(p);
  60
Encouraged by the success we now look at the regular permutation representation of h.
  gap> Index(h,TrivialSubgroup(h));
  #I  CosetTableFpGroup 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];
  Group( f.1, f.2 )
  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 64000 coset numbers, we leave out several lines in the printing below.
  #I  CosetTableFpGroup called:
  #I      defined deleted alive   maximal
  #I	  999	  1	  998	  999
  #I	  1997	  3	  1994	  1996
  . . .

  #I	  62929	  71	  62858	  62889
  #I	  63927	  73	  63854	  63887
  Error, the coset enumeration has defined more than 64000 cosets:
  type 'return;' if you want to continue with a new limit of 128000 cosets,
  type 'quit;' if you want to quit the coset enumeration,
  type 'maxlimit := 0; return;' in order to continue without a limit,
   in
  CosetTableFpGroup( G, H ) called from
  G.operations.Index( G, U ) called from
  Index( g, Subgroup( g, [ g.1 ] ) ) called from
  main loop
  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> InfoFpGroup1:=Ignore;; InfoFpGroup2:=Ignore;;
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->OperationCosetsFpGroup(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 form the subdirect product sd of the permutation groups obtained above and verify that this subdirect product is indeed a homomorphic image of our given group g.
  gap> d := DirectProduct(list);;
  gap> Sum(id,i->i[1]);
  284
  gap> sd := Subgroup(d,[
  > Product([1..24],i->d.generators[2*i-1]),
  > Product([1..24],i->d.generators[2*i])]);;
  gap> List(g.relators,i->MappedWord(i,g.generators,sd.generators));
  [ (), () ]
The order of the subdirect product is huge.
  gap> Size(sd);
  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 ] ]
  gap> quit;
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.