There are several infinite families of groups which are parametrized by
numbers.
GAP provides various functions to construct these groups.
The functions always permit (but do not require) one to indicate
a filter (see Filters), for example IsPermGroup, IsMatrixGroup or
IsPcGroup, in which the group shall be constructed.
There always is a default filter corresponding to a ``natural'' way
to describe the group in question.
Note that not every group can be constructed in every filter,
there may be theoretical restrictions (IsPcGroup only works for
solvable groups) or methods may be available only for a few filters.
Certain filters may admit additional hints.
For example, groups constructed in IsMatrixGroup may be constructed
over a specified field, which can be given as second argument of the
function that constructs the group;
The default field is Rationals.
TrivialGroup( [filter] ) F
constructs a trivial group in the category given by the filter filter.
If filter is not given it defaults to IsPcGroup.
gap> TrivialGroup(); <pc group of size 1 with 0 generators> gap> TrivialGroup( IsPermGroup ); Group(())
CyclicGroup( [filt, ]n ) F
constructs the cyclic group of size n in the category given by the
filter filt. If filt is not given it defaults to IsPcGroup.
gap> CyclicGroup(12); <pc group of size 12 with 3 generators> gap> CyclicGroup(IsPermGroup,12); Group( [ ( 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12) ] ) gap> matgrp1:= CyclicGroup( IsMatrixGroup, 12 ); <matrix group of size 12 with 1 generators> gap> FieldOfMatrixGroup( matgrp1 ); Rationals gap> matgrp2:= CyclicGroup( IsMatrixGroup, GF(2), 12 ); <matrix group of size 12 with 1 generators> gap> FieldOfMatrixGroup( matgrp2 ); GF(2)
AbelianGroup( [filt, ]ints ) F
constructs an abelian group in the category given by the filter filt
which is of isomorphism type Cints[1] \* Cints[2] \* ¼\* Cints[n]. ints must be a list of positive integers. If filt is
not given it defaults to IsPcGroup. The generators of the group
returned are the elements corresponding to the integers in ints.
gap> AbelianGroup([1,2,3]); <pc group of size 6 with 3 generators>
ElementaryAbelianGroup( [filt, ]n ) F
constructs the elementary abelian group of size n in the category
given by the filter filt.
If filt is not given it defaults to IsPcGroup.
gap> ElementaryAbelianGroup(8192); <pc group of size 8192 with 13 generators>
DihedralGroup( [filt, ]n ) F
constructs the dihedral group of size n in the category given by the
filter filt. If filt is not given it defaults to IsPcGroup.
gap> DihedralGroup(10); <pc group of size 10 with 2 generators>
ExtraspecialGroup( [filt, ]order, exp ) F
Let order be of the form p2n+1, for a prime integer p and a
positive integer n.
ExtraspecialGroup returns the extraspecial group of order order
that is determined by exp, in the category given by the filter filt.
If p is odd then admissible values of exp are the exponent of the
group (either p or p2) or one of '+', "+", '-',
"-".
For p = 2, only the above plus or minus signs are admissible.
If filt is not given it defaults to IsPcGroup.
gap> ExtraspecialGroup( 27, 3 ); <pc group of size 27 with 3 generators> gap> ExtraspecialGroup( 27, '+' ); <pc group of size 27 with 3 generators> gap> ExtraspecialGroup( 8, "-" ); <pc group of size 8 with 3 generators>
AlternatingGroup( [filt, ]deg ) F
AlternatingGroup( [filt, ]dom ) F
constructs the alternating group of degree deg in the category given
by the filter filt.
If filt is not given it defaults to IsPermGroup.
In the second version, the function constructs the alternating group on
the points given in the set dom which must be a set of positive
integers.
gap> AlternatingGroup(5); Alt([1..5])
SymmetricGroup( [filt, ]deg ) F
SymmetricGroup( [filt, ]dom ) F
constructs the symmetric group of degree deg in the category given by
the filter filt.
If filt is not given it defaults to IsPermGroup.
In the second version, the function constructs the symmetric group on
the points given in the set dom which must be a set of positive
integers.
gap> SymmetricGroup(10); Sym([1..10])
Note that permutation groups provide special treatment of symmetric and alternating groups, see Symmetric and Alternating Groups.
MathieuGroup( [filt, ]degree ) F
constructs the Mathieu group of degree degree in the category given by
the filter filt,
where degree must be in { 9, 10, 11, 12, 21, 22, 23, 24 }.
If filt is not given it defaults to IsPermGroup.
gap> MathieuGroup( 11 ); Group([ ( 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11), ( 3, 7,11, 8)( 4,10, 5, 6) ])
SuzukiGroup( [filt, ]q ) F
Sz( [filt, ]q ) F
Constructs a group isomorphic to the Suzuki group Sz( q ) over the field with q elements, where q ³ 8 is a non - square power of 2.
If filt is not given it defaults to IsMatrixGroup,
and the returned group is the Suzuki group itself.
gap> SuzukiGroup( 32 ); Sz(32)
GAP 4 manual