AgGroupOps.DirectProduct( L )
L must be list of groups or pairs of group and name as described below.
If not all groups are ag groups GroupOps.DirectProduct
(see
DirectProduct) is used in order to construct the direct product.
Let L be a list of ag groups <L> = [ U_1, ..., U_n ].
AgGroupOps.DirectProduct
returns the direct product of all U_i as new
ag group with collector.
If L is a pair [ U_i, S ]
instead of a group U_i the generators
of the direct product corresponding to U_i are named Sj
for
integers j starting with 1 up to the number of induced generators for
U_i. If the group is cyclic of prime order the name is just S
.
AgGroupOps.DirectProduct
computes for each U_i its natural
power-commutator presentation for an induced generating system of U_i.
Note that the arguments need no common parent group.
gap> z3 := CyclicGroup( AgWords, 3 );; gap> g := AgGroupOps.DirectProduct( [ [z3, "a"], [z3, "b"] ] ); Group( a, b )
GAP 3.4.4