Group( U )
Let U be a parent group or a subgroup. Group returns
a new parent group G which is isomorphic to U. The
generators of G need not be the same elements as the generators of
U. The default group function uses the same generators, while the
ag group function may create new generators along with a new collector.
gap> s4 := Group( (1,2,3,4), (1,2) );
Group( (1,2,3,4), (1,2) )
gap> s3 := Subgroup( s4, [ (1,2,3), (1,2) ] );
Subgroup( Group( (1,2,3,4), (1,2) ), [ (1,2,3), (1,2) ] )
gap> Group( s3 ); # same elements
Group( (1,2,3), (1,2) )
gap> s4.1 * s3.1;
(1,3,4,2)
gap> s4 := AgGroup( s4 );
Group( g1, g2, g3, g4 )
gap> a4 := DerivedSubgroup( s4 );
Subgroup( Group( g1, g2, g3, g4 ), [ g2, g3, g4 ] )
gap> a4 := Group( a4 ); # different elements
Group( g1, g2, g3 )
gap> s4.1 * a4.1;
Error, AgWord op: agwords have different groups
Group( list, id )
Group returns a new parent group G generated by group
elements g_1, ..., g_n of list. id must be the
identity of this group.
Group( g_1, ..., g_n )
Group returns a new parent group G generated by group
elements g_1, ..., g_n.
The generators of this new parent group need not be the same elements as g_1, ..., g_n. The default group function however returns a group record with generators g_1, ..., g_n and identity id, while the ag group function may create new generators along with a new collector.
gap> s4 := Group( (1,2,3,4), (1,2) );
Group( (1,2,3,4), (1,2) )
gap> z4 := Group( s4.1 ); # same element
Group( (1,2,3,4) )
gap> s4.1 * z4.1;
(1,3)(2,4)
gap> s4 := AgGroup( s4 );
Group( g1, g2, g3, g4 )
gap> z4 := Group( s4.1 * s4.3 ); # different elements
Group( g1, g2 )
gap> s4.1 * z4.1;
Error, AgWord op: agwords have different groups
Let g_(i_1), ..., g_(i_m) be the set of nontrivial generators in
all four cases. Groups sets record components G.1,
..., G.m to these generators.