Finite Polycyclic Groups) the following components are present in the group record of a special ag group H.
weights:
The entries layers, first, head and tail only depend on the
weights. These entries are useful in many of the programs using the
special ag system.
layers:weights.
first:first[j] = i if h_i is the
first element of the j-th layer. Additionally the last entry of
the list first is always n + 1.
head:head[j] = i if h_i is the
first element of the j-th local head. Additionally the last
More about Special Ag Groups).
tail:tail[j] = i if h_{i-1} is
the last element of the j-th local head. In other words h_i is either
the first element of the tail of the j-th layer in the lower nilpotent
series, or in case this tail is trivial, then h_i is the first
element of the j+1-st layer in the lower nilpotent series.
If the tail of the smallest nontrivial subgroup of the lower nilpotent
series is trivial, then the last entry of the list tail is n+1
(see More about Special Ag Groups).
bijection:The next four entries indicate if any flag and which one is used Construction of Special Ag Groups and Restricted Special Ag Groups).
isHallSystem:
isHeadSystem:
isSagGroup:
Note that in GAP an ag group is called a special ag group if and only
if the record entry isSagGroup is true.
# construct a wreath product of a4 with s3 where s3 operates on 3 points.
gap> s3 := SymmetricGroup( AgWords, 3 );;
gap> a4 := AlternatingGroup( AgWords, 4 );;
gap> a4wrs3 := WreathProduct(a4, s3, s3.bijection);
Group( h1, h2, n1_1, n1_2, n1_3, n2_1, n2_2, n2_3, n3_1, n3_2, n3_3 )
# now calculate the special ag group
gap> S := SpecialAgGroup( a4wrs3 );
Group( h1, n3_1, h2, n2_1, n1_1, n1_2, n1_3, n2_2, n2_3, n3_2, n3_3 )
gap> S.weights;
[ [ 1, 1, 2 ], [ 1, 1, 3 ], [ 2, 1, 3 ], [ 2, 1, 3 ], [ 2, 2, 3 ],
[ 3, 1, 2 ], [ 3, 1, 2 ], [ 3, 1, 2 ], [ 3, 1, 2 ], [ 3, 1, 2 ],
[ 3, 1, 2 ] ]
gap> S.layers;
[ 1, 2, 3, 3, 4, 5, 5, 5, 5, 5, 5 ]
gap> S.first;
[ 1, 2, 3, 5, 6, 12 ]
gap> S.head;
[ 1, 3, 6, 12 ]
gap> S.tail;
[ 3, 5, 12 ]
gap> S.bijection;
GroupHomomorphismByImages( Group( h1, n3_1, h2, n2_1, n1_1, n1_2,
n1_3, n2_2, n2_3, n3_2, n3_3 ), Group( h1, h2, n1_1, n1_2, n1_3,
n2_1, n2_2, n2_3, n3_1, n3_2, n3_3 ),
[ h1, n3_1, h2, n2_1, n1_1, n1_2, n1_3, n2_2, n2_3, n3_2, n3_3 ],
[ h1, n3_1, h2, n2_1*n3_1^2, n1_1*n2_1*n3_1, n1_2, n1_3, n2_2, n2_3,
n3_2, n3_3 ] )
gap> S.isHallSystem;
true
gap> S.isHeadSystem;
true
gap> S.isSagGroup;
true
In the next sections the functions which only apply to special ag groups are described.
GAP 3.4.4