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.
GAP 3.4.4