[GAP Forum] About certain mixed products of cyclic groups

Bettina Eick beick at tu-bs.de
Tue May 11 08:26:36 BST 2010


Dear Hebert Perez-Roses,

the 'Polycyclic' package of GAP provides some functionality which may
be of some help for you. Here is an example on constructing the groups
of type Z_6 x Z_6 split Z_4:

# get the group Zm x Zm and the group Zn
gap> A := AbelianPcpGroup(2, [6,6]);
Pcp-group with orders [ 6, 6 ]
gap> C := AbelianPcpGroup(1,[4]);
Pcp-group with orders [ 4 ]

# get its automorphism group
gap> B := AutomorphismGroup(A);
<group with 8 generators>

# determine conjugacy classes of elements of order dividing 4
gap> cl := ConjugacyClasses(B);;
gap> cl := List(cl, Representative);;
gap> cl := Filtered(cl, x -> IsInt(4/Order(x)));
[ IdentityMapping( Pcp-group with orders [ 6, 6 ] ),
   [ g1, g2 ] -> [ g1*g2^2, g2^5 ],
   [ g1, g2 ] -> [ g2, g1 ],
   [ g1, g2 ] -> [ g1^4*g2^3, g1^3*g2^4 ],
   [ g1, g2 ] -> [ g1^3*g2^5, g1^4*g2^3 ],
   [ g1, g2 ] -> [ g1^5*g2^2, g1^2*g2 ],
   [ g1, g2 ] -> [ g1^5, g1^3*g2^5 ],
   [ g1, g2 ] -> [ g1^5, g2^5 ] ]

# for each remaining class-rep, compute a split extension
gap> grps := List(cl, x -> SplitExtensionByAutomorphisms(A,C,[x]));
[ Pcp-group with orders [ 4, 6, 6 ], Pcp-group with orders [ 4, 6, 6 ],
   Pcp-group with orders [ 4, 6, 6 ], Pcp-group with orders [ 4, 6, 6 ],
   Pcp-group with orders [ 4, 6, 6 ], Pcp-group with orders [ 4, 6, 6 ],
   Pcp-group with orders [ 4, 6, 6 ], Pcp-group with orders [ 4, 6, 6 ] ]

# check that they are non-isomorphic
gap> List(grps, IdGroup);
[ [ 144, 178 ], [ 144, 166 ], [ 144, 84 ], [ 144, 102 ], [ 144, 136 ],
   [ 144, 191 ], [ 144, 100 ], [ 144, 176 ] ]

This example will also work for other values of m and n, but only for
small ones. In particular, the conjugacy class computation is a potiential
bottle-neck. It may help if you first determine a permutation representation
of the automorphism group B and then compute conjugacy classes in the 
permutation group. However, a better approach may be to use a theoretical
analysis of Aut(Zm x Zm) to avoid the conjugacy class computation a priori.

Nonetheless, I hope that this helps a little bit.

Best wishes,
                Bettina




More information about the Forum mailing list