> < ^ Date: Fri, 03 Jul 1998 16:44:35 +1200 (NZST)
< ^ From: Marston Conder <conder@math.auckland.ac.nz >
> < ^ Subject: Re: generators of SL(2, GF(q)) ?

Dear Guido (and GAP forum):

This is a brief reply to the question by Guido Helmers a few hours ago:

I try to find all the triples of generators of the two-dimensional
special linear group over a finite field (say G:= SL(2, GF(p^n))),
upto automorpism of these triples, and such that the product of the
three generators equals 1; my question is:

For a fixed finite group G (in my case a matrix group); a fixed number m
(in my case 2 or 3); and fixed numbers a1,..am (dividing Size(G)),
what is the quickest way to find, for example, the set
(1) {{g1,..,gm} \in Gx..xG| <g1,..,gm>=G and ord(gi)=ai for all i}
(2) {{g1,..,gm} \in Gx..xG| 
              <g1,..,gm>=G and g1...gm=1 and ord(gi)=ai for all i} 

or, if no function exists which returns such m-tuples given a1,..,am
(3) to find the set of ALL m-tuples of generators of G

hope someone can help me, thank you very much

You might find the following article by Murray Macbeath helpful, on the
projective version of your question - i.e. generating triples for PSL(2,q)
rather than SL(2,q)):

AM Macbeath, Generators of linear fractional groups, in: Number Theory,
Proceedings of Symposia in Pure Mathematics 12 (American Math Society),
1969, pp.14-32.

At a more practical level, it may be easier to think of a generating
triple (x,y,z) with xyz = 1 as a generating pair (x,y) with z = (xy)^{-1}.

Such generating pairs in a fixed finite group G can easily be enumerated
up to conjugacy within the automorphism group of G by letting x run through
a set of representatives of Aut(G)-conjugacy classes of elements of G, and
for each x letting y run through a set of representatives of classes of
elements of G up to conjugacy under C_{Aut(G)}(x).

If necessary for your question this enumeration can be restricted to
elements x and y of prescribed orders, and admitting only those pairs
(x,y) for which xy has prescribed order also.

I'm sure most who read this are more expert with GAP than me and could
come up with suitable code to achieve this.

Best wishes
Marston Conder

> < [top]