As for all domains (see Domains and Domain Records) groups and their
subgroups are represented by records that contain important information
about groups. Most of the following functions return such records. Of
course it is possible to create a group record by hand but generally
Group
(see Group) and Subgroup
(see Subgroup) should be used for
such tasks.
Once a group record is created you may add record components to it but
you must not alter informations already present, especially not
generators
and identity
.
Group records must always contain the components generators
,
identity
, isDomain
and isGroup
. Subgroups contain an additional
component parent
. The contents of all components of a group G are
described below.
The following two components are the so-called category components used to identify the category this domain belongs to.
isDomain
:true
as a group is a domain.
isGroup
:true
as G is a group.
The following three components determine a group domain. These are the so-called identification components.
generators
:generators
is the empty
list. Note that once created this entry must never be changed, as
most of the other entries depend on generators
.
identity
:
parent
:The following components are optional and contain knowledge about the group G.
abelianInvariants
:
centralizer
:
centre
:
commutatorFactorGroup
:
conjugacyClasses
:
core
:
derivedSubgroup
:
elements
:
fittingSubgroup
:
frattiniSubgroup
:
index
:
lowerCentralSeries
:
normalizer
:
normalClosure
:
upperCentralSeries
:
subnormalSeries
:
sylowSubgroups
:
size
:
perfectSubgroups
:
lattice
:
conjugacyClassesSubgroups
:G.lattice.classes
, contains the
conjugacy classes of subgroups of G. See
ConjugacyClassesSubgroups.
tableOfMarks
:
The following components are true
if the group G has the property,
false
if not, and are not present if it is unknown whether the group
has the property or not.
isAbelian
:true
if the group G is abelian. See IsAbelian.
isCentral
:true
if the group G is central in its parent
group. See IsCentral.
isCyclic
:true
if the group G is cyclic. See IsCyclic.
isElementaryAbelian
:true
if the group G is elementary abelian. See
IsElementaryAbelian.
isFinite
:true
if the group G is finite. If you know that a group
for which you want to use the generic low level group functions
is infinite, you should set this component to false
. This
will avoid attempts to compute the set of elements.
isNilpotent
:true
if the group G is nilpotent. See IsNilpotent.
isNormal
:true
if the group G is normal in its parent group. See
IsNormal.
isPerfect
:true
if the group G is perfect. See IsPerfect.
isSimple
:true
if the group G is simple. See IsSimple.
isSolvable
:true
if the group G is solvable. See IsSolvable.
isSubnormal
:true
if the group G is subnormal in its parent group. See
IsSubnormal.
Domain Records and Dispatchers).
GAP 3.4.4