> < ^ From:

^ Subject:

Dear GAP-Forum,

Michael Cherkassoff asked:

I need to do some computations of the conjugacy classes

of certain subgroups in PSL(n,q). (Actually, q=3 would be

enough to look at). I am only interested in Z2+Z2 subgroups.

When I tried to use ConjugacyClassesSubgroups for this

purpose gap can't even handle PSL(5,3):gap> gg:=ProjectiveSpecialLinearGroup(5,3);;

gap> cc:=ConjugacyClassesSubgroups(gg);;

gap: sorry, cannot extend the workspace, maybe use option '-a <memory>'?(This was after about half an hour of calculation).

That's no wonder. The order of PSL(5,3) is of magnitude 10^12. Usually

the subgroup lattice computation (which is called from

ConjugacyClassesSubgroups) works only reasonably for groups of size up

to 10^4-10^5. Of course you can find representatives of all subgroups

isomorphic V4 in the 2-Sylow subgroup, but I guess you'll find a lot

of them. Fusing them under operation of the whole group is likely to

be very tedious.

So I suggest the following approach:

Every V4 is generated by two elements of order two. We can conjugate

the group so that the first of these is a class representative. The

second only has to be determined up to conjugacy with the centralizer

of the first. I give an example run:

Create the group (BTW: This is not a GAP library command but a separate

function I sent you some time ago)

gap> g:=ProjectiveSpecialLinearGroup(5,3);

ProjectiveSpecialLinearGroup(5,3)

gap> Size(g);

237783237120

Compute all classes of elements of Order 2. We could use 'ConjugacyClasses'

and 'Filtered'. However there is an internal function that does less work:

For order 2, rational classes are the same as conjugacy classes.

gap> cl:=RationalClassesPElements(g,2);;

We don't want those of 2-power order

gap> cl:=Filtered(cl,i->Order(g,i.representative)=2);;

gap> Length(cl);

2

there are only two classes to consider. As V4 has 3 nontrivial

elements, each V4 contains at least two elements of one of these

classes. So every V4 is generated by two elements of class 1 or two

elements of class 2.

The classes differ in size and the cycle structure of their elements

gap> List(cl,Size); [ 9801, 882090 ] gap> List(cl,i->CycleStructurePerm(i.representative)); [ [ 40 ], [ 52 ] ]

We can always conjugate a V4, so that the first generator is one of

the two representatives. Then we can still conjugate the second

generator with the centralizer of the first.

So we just need to consider representatives of centralizer orbits on

the classes. These of course correspond to double cosets:

gap> dc:=DoubleCosets(g,cl[1].centralizer,cl[1].centralizer);;

The corresponding class elements are obtained by conjugacy

gap> r:=List(dc,i->cl[1].representative^i.representative);;

There are 8 reps to consider, but only 2 commute with the first generator.

gap> Length(r);

8

gap> r:=Filtered(r,i->Comm(i,cl[1].representative)=g.identity);;

gap> Length(r);

2

construct the groups

gap> v4:=List(r,i->Subgroup(g,[cl[1].representative,i]));;

and observe that of course <x,x> is only of order 2.

gap> List(v4,Size); [ 2, 4 ]

so drop it

gap> v4:=v4{[2]};; gap> List(v4,Size); [ 4 ]

Now do the same for the second class

gap> dc:=DoubleCosets(g,cl[2].centralizer,cl[2].centralizer);;

gap> r:=List(dc,i->cl[2].representative^i.representative);;

gap> Length(r);

47

gap> r:=Filtered(r,i->Comm(i,cl[2].representative)=g.identity);;

gap> Length(r);

3

gap> v4new:=List(r,i->Subgroup(g,[cl[2].representative,i]));;

gap> List(v4new,Size);

[ 2, 4, 4 ]

gap> v4new:=v4new{[2,3]};;

We only classified generationg sets up to conjugacy. In principle, the

two groups could be conjugated. However a test for the cycle stucture

of their elements shows, that this is not true. (We don't need to

consider the groups generated by class 1/1, as they contain at most

one element of the second class).

gap> List(v4new,i->List(Elements(i),CycleStructurePerm)); [ [ [ ], [ 52 ], [ 52 ], [ 52 ] ], [ [ ], [ 40 ], [ 52 ], [ 52 ] ] ]

So we have (I hope I did no mistyping) 3 classes given by their

representatives

gap> v4:=Concatenation(v4,v4new);;

If you get more than 2 classes with elements of order two, you'll need

to use slightly more elaborate arguments, based on ordering the

classes, than we could use here to avoid duplicates. Otherwise, the

process stays the same.

this and higher dimensional cases. (For example, I'm

pretty sure that there are only 4 different conjugacy classes

of Z2+Z2 in PSL(5,q)).

I will send you the generators of g and v4 by separate mail to

save you recomputation, but I guess the majority of the forum

readers is not interested in them. As you've seen I got only 3

representatives. Are you sure there are always 4 different

classes? In fact I also tried the other approach mentioned and

computed the subgroup lattice of the 2-Sylow-subgroup. This group

has 12 classes of subgroups of type V4, three of them are of cy-

cle structure type [40,40,52], five of type [40,52,52] and four

of type [52,52,52]. All groups of the same cycle structure type

fuse under the action of PSL_5(3), leaving just three classes of

subgroups of PSL_5(3) of type V4 (this computation however is

much slower in GAP 3.4 than the approach suggested above). So I'm

pretty sure there are only 3 classes.

Hope this helps,

Alexander Hulpke

> < [top]