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