[GAP Forum] product groups

Thomas Breuer thomas.breuer at math.rwth-aachen.de
Wed Mar 29 09:37:50 BST 2006


Dear GAP Forum,

R. Raghunathan wrote

> I have two questions.
> Question 1:
>         Considering two groups 's' and 't' such that
> s = ((),(3,4)) and t = ((1,3)(2,4)(5,6)), the sequential GAP commands
> s:=Group((3,4));;
> t:=Group((1,3)(2,4)(5,6))l;;
> u:=DirectProduct(s,t);  returns
> Group([(1,2),(3,5)(4,6)(7,8)]) as the answer.
> The command
> Elements(u);   returns
> ((),(3,5)(4,6)(7,8),(1,2),(1,2)(3,5)(4,6)(7,8)) as the answer which doesn't
> +contain, the generators of both the groups 's' and 't' as elements. Is there
+an
> +interpretation for the result?
>
> Question 2:
>         If there exist two groups 'p' and 'q' such that
> p=(generator1) and q=(generator2), are the groups
> r =(generator1,generator2) and s = {p} U {p}*{q} always equal?

Question 1 addresses the question which generators GAP chooses for
a direct product of groups.

Of course one can represent the elements of a direct product
of two groups $G$, $H$ by pairs $(g,h)$ with $g \in G$, $h \in H$.
However, such pairs are not very suitable for GAP computations.
In the case that $G$ and $H$ are permutation groups,
GAP decides to represent the direct product as a permutation group;
for that, first the groups are conjugated in a bigger symmetric group
in order to achieve that the sets of moved points are disjoint.

The connection between the generators of the original groups $G$ and $H$
and the direct product is given by embeddings and projections.
In the above example, this looks as follows.

    gap> s:= Group( (3,4) );;
    gap> t:= Group( (1,3)(2,4)(5,6) );;
    gap> u:= DirectProduct( s, t );
    Group([ (1,2), (3,5)(4,6)(7,8) ])
    gap> emb1:= Embedding( u, 1 );
    1st embedding into Group([ (1,2), (3,5)(4,6)(7,8) ])
    gap> emb2:= Embedding( u, 2 );
    2nd embedding into Group([ (1,2), (3,5)(4,6)(7,8) ])
    gap> Source( emb1 );   # this is s
    Group([ (3,4) ])
    gap> Image( emb1, s ); # this is the first factor of the direct product
    Group([ (1,2) ])
    gap> Image( emb2, t ); # this is the second factor
    Group([ (3,5)(4,6)(7,8) ])

If one wants to construct the group generated by two groups in GAP,
which is in general *not* a direct product, one can use the function
`ClosureGroup'.
The result is a group (in fact the smallest group) that contains
the two given groups as subsets.
In the above example, the closure is a group of order eight.

    gap> c:= ClosureGroup( s, t );
    Group([ (3,4), (1,3)(2,4)(5,6) ])
    gap> Size( c );
    8

I am not sure whether I understand Question 2.

If ``U'' denotes the union of sets and ``*'' denotes the complex product
of sets then the number of elements in ``{p} U {p}*{q}'' is at most
the order of `p' plus the product of the orders of `p' and `q'.
The group generated by `p' and `q' can be much bigger.
For example, the groups < (1,2) > and < (1,3)(2,4) > have order two,
and the group < (1,2), (1,3)(2,4) > is a dihedral group of order eight.

Or is the question whether the group generated by `p' and `q' equals the
group *generated by* `p' and all products of elements in `p' and `q'?
Since the elements of `q' are a subset of these products,
the answer to this question is yes.

All the best,
Thomas Breuer




More information about the Forum mailing list