[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