[GAP Forum] 2-groups
Alexander Konovalov
alexander.konovalov at gmail.com
Mon Feb 26 11:29:11 GMT 2007
Dear Ahmet,
> It is clear that two p-elements may not generate a p-group. I'm
> trying to find 2-groups using permutations. Is there a way in GAP
> to find 2-elements (permutations) x_1, ...,x_n such that Group
> (x_1,...,x_n) is a 2-group. May this be possible to find 2-elements
> (permutations) x_1, x_2 such that Group(x_1,x_2) is a 2-group, and
> x_3 such that Group(x_1,x_2,x_3) is a 2-group, etc? Othewise by
> trial and error (with IsPGroup) we waste much time.
Dependently on your particular problem, you may find several
approaches to be useful.
For example, you could find generators of 2-group as permutation
groups, using the GAP Small Groups Library in the following way:
gap> G:=SmallGroup(8,3);
<pc group of size 8 with 3 generators>
gap> S:=Image(IsomorphismPermGroup(G));
Group([ (1,5)(2,6)(3,8)(4,7), (1,3)(2,4)(5,7)(6,8), (1,2)(3,4)(5,6)
(7,8) ])
gap> GeneratorsOfGroup(S);
[ (1,5)(2,6)(3,8)(4,7), (1,3)(2,4)(5,7)(6,8), (1,2)(3,4)(5,6)(7,8) ]
In many cases the permutation representation constructed by
IsomorphismPermGroup is regular, so the group S will act on |G|
points. If this is not enough, you can try to reduce the degree of
the permutation representation as below:
gap> W:=Image(SmallerDegreePermutationRepresentation(S));
Group([ (1,3)(2,4), (3,4), (1,2)(3,4) ])
gap> IdGroup(W);
[ 8, 3 ]
Note that there are some warnings in the manual regarding the usage
of SmallerDegreePermutationRepresentation.
Another approach is to look at the Sylow p-subgroups of Sym(n). They
are quite well understood and can be easily computed with GAP. You
could construct a Sylow 2-subgroup of Sym(n) and then determine
subgroups of that, for example:
gap> G := SymmetricGroup(20);
Sym( [ 1 .. 20 ] )
gap> S := SylowSubgroup(G,2);
<permutation group with 18 generators>
gap> g := Random(S);
(1,3,2,4)(9,14,11,16,10,13,12,15)(17,18)(19,20)
gap> h := Random(S);
(1,2)(9,12)(10,11)(13,15,14,16)(19,20)
gap> U := Subgroup(S, [g,h]);
Group([ (1,3,2,4)(9,14,11,16,10,13,12,15)(17,18)(19,20),
(1,2)(9,12)(10,11)(13,15,14,16)(19,20) ])
gap> Size(U);
64
Finally, I would like to mention that there is an algorithm by C.
Sims which can be used to determine a Sylow p-subgroup of a
permutation group. This algorithm builds up the desired group from
the bottom and hence the steps of this algorithm would probably do
exactly what you want. It is implemented in GAP, but the
implementation is not trivial or easy to read. See the paper [Charles
C. Sims, Computing the order of a solvable permutation group, J.
Symbolic Comput., 9:699--705, 1990] for its description.
Hope this helps,
Bettina Eick,
Alexander Konovalov
More information about the Forum
mailing list