Lieber Herr Freitag, dear GAP-Forum members,
You had asked:
> the group SL(2) over the ring Z/qZ (for example q=12 is interesting)
> admits a twofold covering, the mataplectic group.
> What is the best way to get it into GAP?
There are in fact two groups that qualify as twofold covers of SL(2,Z/12Z):
We start by giving generators of SL(2,Z/12Z); this is necessary in GAP 4.2,
in the next version one can use "SL(2,Integers mod 12)":
gap> gens := [ [[0,11],[1,0]] , [[1,1],[0,1]] ]; [ [ [ 0, 11 ], [ 1, 0 ] ], [ [ 1, 1 ], [ 0, 1 ] ] ] gap> R := Integers mod 12; (Integers mod 12) gap> e := One(R); ZmodnZObj( 1, 12 ) gap> gens := [ e*[[0,11],[1,0]] , e*[[1,1],[0,1]] ]; [ [ [ ZmodnZObj( 0, 12 ), ZmodnZObj( 11, 12 ) ], [ ZmodnZObj( 1, 12 ), ZmodnZObj( 0, 12 ) ] ], [ [ ZmodnZObj( 1, 12 ), ZmodnZObj( 1, 12 ) ], [ ZmodnZObj( 0, 12 ), ZmodnZObj( 1, 12 ) ] ] ] gap> g := Group(gens);; gap> Size(g); 1152 gap> IsSolvable(g); true
It is advantageous to use a pc presentation of the group:
gap> gp := Image(IsomorphismPcGroup(g)); Group([ f1, f2, f3, f4, f5, f6, f7, f8, f9 ])
We then need the module by which the group is to be extended:
gap> mats := List( Pcgs(gp), x -> IdentityMat( 1, GF(2) ) );; gap> M := GModuleByMats( mats, GF(2) );;
And now we construct the extensions up to equivalence:
gap> li := Extensions(gp,M); [ <pc group of size 2304 with 10 generators>, <pc group of size 2304 with 10 generators>, <pc group of size 2304 with 10 generators>, <pc group of size 2304 with 10 generators> ]
There is a yet undocumented function that gives the subgroup of the
extension which corresponds to the module, in all four cases it is
generated by the last of the pc generators:
gap> List(li,ModuleOfExtension); [ Group([ f10 ]), Group([ f10 ]), Group([ f10 ]), Group([ f10 ]) ]
We now check for which this subgroup is in the intersection of the
center and the derived group:
gap> cli := List(li,h-> Intersection(Centre(h),DerivedSubgroup(h))); [ Group([ f5*f7*f9 ]), Group([ f5*f7*f9*f10 ]), Group([ f10, f5*f7*f9, f5*f7*f9*f10 ]), Group([ f10, f5*f7*f9, f5*f7*f9*f10 ]) ]
So the last too of the 4 extensions remain, they are not isomorphic:
gap> AbelianInvariants(Centre(li[3])); [ 2, 4 ] gap> AbelianInvariants(Centre(li[4])); [ 2, 2, 2 ]
With kind regards,
Joachim Neubueser and Max Neunhoeffer
-- // // Max Neunhöffer <max.neunhoeffer@math.rwth-aachen.de> // // Alexianergraben 4-6, 52062 Aachen, Germany // // Tel.: +49 241 406605 (private) / +49 241 8094550 (institute) // // May the Source be with you!