A table of marks of a group G in GAP is represented by an immutable
(see Mutability and Copyability) object tom in the category
IsTableOfMarks (see IsTableOfMarks), with defining attributes
SubsTom (see SubsTom) and MarksTom (see MarksTom).
These two attributes encode the matrix of marks in a compressed form.
The SubsTom value of tom is a list where for each conjugacy class of
subgroups the class numbers of its subgroups are stored.
These are exactly the positions in the corresponding row of the matrix of
marks which have nonzero entries.
The marks themselves are stored via the MarksTom value of tom,
which is a list that contains for each entry in SubsTom( tom ) the
corresponding nonzero value of the table of marks.
It is possible to create table of marks objects that do not store a group, moreover one can create a table of marks object from a matrix of marks (see TableOfMarks). So it may happen that a table of marks object in GAP is in fact not the table of marks of a group. To some extent, the consistency of a table of marks object can be checked (see Other Operations for Tables of Marks), but GAP knows no general way to prove or disprove that a given matrix of nonnegative integers is the matrix of marks for a group. Many functions for tables of marks work well without access to the group --this is one of the arguments why tables of marks are so useful--, but for example normalizers (see NormalizerTom) and derived subgroups (see DerivedSubgroupTom) of subgroups are in general not uniquely determined by the matrix of marks.
GAP tables of marks are assumed to be in lower triangular form, that is, if a subgroup from the conjugacy class corresponding to the i-th row is contained in a subgroup from the class corresponding to the j-th row j then i £ j.
The MarksTom information can be computed from the values of the
attributes NrSubsTom, LengthsTom, OrdersTom, and SubsTom
(see NrSubsTom, LengthsTom, OrdersTom).
NrSubsTom stores a list containing for each entry in the SubsTom
value the corresponding number of conjugates that are contained
in a subgroup, LengthsTom a list containing for each conjugacy class
of subgroups its length, and OrdersTom a list containing for each
class of subgroups their order.
So the MarksTom value of tom may be missing provided that the values
of NrSubsTom, LengthsTom, and OrdersTom are stored in tom.
Additional information about a table of marks is needed by some functions. The class numbers of normalizers in G and the number of the derived subgroup of G can be stored via appropriate attributes (see NormalizersTom, DerivedSubgroupTom).
If tom stores its group G and a bijection from the rows and columns
of the matrix of marks of tom to the classes of subgroups of G then
clearly normalizers, derived subgroup etc. can be computed from this
information.
But in general a table of marks need not have access to G,
for example tom might have been constructed from a generic table of
marks (see Generic Construction of Tables of Marks),
or as table of marks of a factor group from a given table of marks
(see FactorGroupTom).
Access to the group G is provided by the attribute UnderlyingGroup
(see UnderlyingGroup) if this value is set.
Access to the relevant information about conjugacy classes of subgroups
of G --compatible with the ordering of rows and columns of the marks in
tom-- is signalled by the filter IsTableOfMarksWithGens
(see Accessing Subgroups via Tables of Marks).
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual