
| Current Path : /usr/share/gap/doc/ref/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/share/gap/doc/ref/chap70.txt |
[1X70 [33X[0;0YTables of Marks[133X[101X
[33X[0;0YThe concept of a [13Xtable of marks[113X was introduced by W. Burnside in his book
[21XTheory of Groups of Finite Order[121X, see [Bur55]. Therefore a table of marks is
sometimes called a [13XBurnside matrix[113X.[133X
[33X[0;0YThe table of marks of a finite group [22XG[122X is a matrix whose rows and columns
are labelled by the conjugacy classes of subgroups of [22XG[122X and where for two
subgroups [22XA[122X and [22XB[122X the [22X(A, B)[122X-entry is the number of fixed points of [22XB[122X in the
transitive action of [22XG[122X on the cosets of [22XA[122X in [22XG[122X. So the table of marks
characterizes the set of all permutation representations of [22XG[122X.[133X
[33X[0;0YMoreover, the table of marks gives a compact description of the subgroup
lattice of [22XG[122X, since from the numbers of fixed points the numbers of
conjugates of a subgroup [22XB[122X contained in a subgroup [22XA[122X can be derived.[133X
[33X[0;0YA table of marks of a given group [22XG[122X can be constructed from the subgroup
lattice of [22XG[122X (see [14X70.3[114X). For several groups, the table of marks can be
restored from the [5XGAP[105X library of tables of marks (see [14X70.13[114X).[133X
[33X[0;0YGiven the table of marks of [22XG[122X, one can display it (see [14X70.4[114X) and derive
information about [22XG[122X and its Burnside ring from it (see [14X70.7[114X, [14X70.8[114X, [14X70.9[114X).
Moreover, tables of marks in [5XGAP[105X provide an easy access to the classes of
subgroups of their underlying groups (see [14X70.10[114X).[133X
[1X70.1 [33X[0;0YMore about Tables of Marks[133X[101X
[33X[0;0YLet [22XG[122X be a finite group with [22Xn[122X conjugacy classes of subgroups [22XC_1, C_2, ...,
C_n[122X and representatives [22XH_i ∈ C_i[122X, [22X1 ≤ i ≤ n[122X. The [13Xtable of marks[113X of [22XG[122X is
defined to be the [22Xn × n[122X matrix [22XM = (m_ij)[122X where the [13Xmark[113X [22Xm_ij[122X is the number
of fixed points of the subgroup [22XH_j[122X in the action of [22XG[122X on the right cosets
of [22XH_i[122X in [22XG[122X.[133X
[33X[0;0YSince [22XH_j[122X can only have fixed points if it is contained in a point
stabilizer the matrix [22XM[122X is lower triangular if the classes [22XC_i[122X are sorted
according to the condition that if [22XH_i[122X is contained in a conjugate of [22XH_j[122X
then [22Xi ≤ j[122X.[133X
[33X[0;0YMoreover, the diagonal entries [22Xm_ii[122X are nonzero since [22Xm_ii[122X equals the index
of [22XH_i[122X in its normalizer in [22XG[122X. Hence [22XM[122X is invertible. Since any transitive
action of [22XG[122X is equivalent to an action on the cosets of a subgroup of [22XG[122X, one
sees that the table of marks completely characterizes the set of all
permutation representations of [22XG[122X.[133X
[33X[0;0YThe marks [22Xm_ij[122X have further meanings. If [22XH_1[122X is the trivial subgroup of [22XG[122X
then each mark [22Xm_i1[122X in the first column of [22XM[122X is equal to the index of [22XH_i[122X in
[22XG[122X since the trivial subgroup fixes all cosets of [22XH_i[122X. If [22XH_n = G[122X then each
[22Xm_nj[122X in the last row of [22XM[122X is equal to [22X1[122X since there is only one coset of [22XG[122X
in [22XG[122X. In general, [22Xm_ij[122X equals the number of conjugates of [22XH_i[122X containing
[22XH_j[122X, multiplied by the index of [22XH_i[122X in its normalizer in [22XG[122X. Moreover, the
number [22Xc_ij[122X of conjugates of [22XH_j[122X which are contained in [22XH_i[122X can be derived
from the marks [22Xm_ij[122X via the formula[133X
[24X[33X[0;6Yc_ij = ( m_ij m_j1 ) / ( m_i1 m_jj )[133X[124X
[33X[0;0Y.[133X
[33X[0;0YBoth the marks [22Xm_ij[122X and the numbers of subgroups [22Xc_ij[122X are needed for the
functions described in this chapter.[133X
[33X[0;0YA brief survey of properties of tables of marks and a description of
algorithms for the interactive construction of tables of marks using [5XGAP[105X can
be found in [Pfe97].[133X
[1X70.2 [33X[0;0YTable of Marks Objects in GAP[133X[101X
[33X[0;0YA table of marks of a group [22XG[122X in [5XGAP[105X is represented by an immutable
(see [14X12.6[114X) object [3Xtom[103X in the category [2XIsTableOfMarks[102X ([14X70.6-2[114X), with defining
attributes [2XSubsTom[102X ([14X70.7-1[114X) and [2XMarksTom[102X ([14X70.7-1[114X). These two attributes
encode the matrix of marks in a compressed form. The [2XSubsTom[102X ([14X70.7-1[114X) value
of [3Xtom[103X 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 [2XMarksTom[102X ([14X70.7-1[114X) value of [3Xtom[103X, which is
a list that contains for each entry in [10XSubsTom( [3Xtom[103X[10X )[110X the corresponding
nonzero value of the table of marks.[133X
[33X[0;0YIt 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 [2XTableOfMarks[102X ([14X70.3-1[114X)). So it may happen that a table of marks object
in [5XGAP[105X is in fact [13Xnot[113X the table of marks of a group. To some extent, the
consistency of a table of marks object can be checked (see [14X70.9[114X), but [5XGAP[105X
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 [2XNormalizerTom[102X ([14X70.9-4[114X)) and derived subgroups (see [2XDerivedSubgroupTom[102X
([14X70.9-2[114X)) of subgroups are in general not uniquely determined by the matrix
of marks.[133X
[33X[0;0Y[5XGAP[105X tables of marks are assumed to be in lower triangular form, that is, if
a subgroup from the conjugacy class corresponding to the [22Xi[122X-th row is
contained in a subgroup from the class corresponding to the [22Xj[122X-th row j then
[22Xi ≤ j[122X.[133X
[33X[0;0YThe [2XMarksTom[102X ([14X70.7-1[114X) information can be computed from the values of the
attributes [2XNrSubsTom[102X ([14X70.7-2[114X), [2XLengthsTom[102X ([14X70.7-3[114X), [2XOrdersTom[102X ([14X70.7-2[114X), and
[2XSubsTom[102X ([14X70.7-1[114X). [2XNrSubsTom[102X ([14X70.7-2[114X) stores a list containing for each entry
in the [2XSubsTom[102X ([14X70.7-1[114X) value the corresponding number of conjugates that
are contained in a subgroup, [2XLengthsTom[102X ([14X70.7-3[114X) a list containing for each
conjugacy class of subgroups its length, and [2XOrdersTom[102X ([14X70.7-2[114X) a list
containing for each class of subgroups their order. So the [2XMarksTom[102X ([14X70.7-1[114X)
value of [3Xtom[103X may be missing provided that the values of [2XNrSubsTom[102X ([14X70.7-2[114X),
[2XLengthsTom[102X ([14X70.7-3[114X), and [2XOrdersTom[102X ([14X70.7-2[114X) are stored in [3Xtom[103X.[133X
[33X[0;0YAdditional information about a table of marks is needed by some functions.
The class numbers of normalizers in [22XG[122X and the number of the derived subgroup
of [22XG[122X can be stored via appropriate attributes (see [2XNormalizersTom[102X ([14X70.9-4[114X),
[2XDerivedSubgroupTom[102X ([14X70.9-2[114X)).[133X
[33X[0;0YIf [3Xtom[103X stores its group [22XG[122X and a bijection from the rows and columns of the
matrix of marks of [3Xtom[103X to the classes of subgroups of [22XG[122X then clearly
normalizers, derived subgroup etc. can be computed from this information.
But in general a table of marks need not have access to [22XG[122X, for example [3Xtom[103X
might have been constructed from a generic table of marks (see [14X70.12[114X), or as
table of marks of a factor group from a given table of marks
(see [2XFactorGroupTom[102X ([14X70.9-11[114X)). Access to the group [22XG[122X is provided by the
attribute [2XUnderlyingGroup[102X ([14X70.7-7[114X) if this value is set. Access to the
relevant information about conjugacy classes of subgroups of [22XG[122X –compatible
with the ordering of rows and columns of the marks in [3Xtom[103X– is signalled by
the filter [2XIsTableOfMarksWithGens[102X ([14X70.10-3[114X).[133X
[33X[0;0YSeveral examples in this chapter require the [5XGAP[105X package [5XTomLib[105X (the [5XGAP[105X
Library of Tables of Marks) to be available. If it is not yet loaded then we
load it now.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XLoadPackage( "tomlib" );[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X70.3 [33X[0;0YConstructing Tables of Marks[133X[101X
[1X70.3-1 TableOfMarks[101X
[33X[1;0Y[29X[2XTableOfMarks[102X( [3XG[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XTableOfMarks[102X( [3Xstring[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XTableOfMarks[102X( [3Xmatrix[103X ) [32X attribute[133X
[33X[0;0YIn the first form, [3XG[103X must be a finite group, and [2XTableOfMarks[102X constructs the
table of marks of [3XG[103X. This computation requires the knowledge of the complete
subgroup lattice of [3XG[103X (see [2XLatticeSubgroups[102X ([14X39.20-1[114X)). If the lattice is
not yet stored then it will be constructed. This may take a while if [3XG[103X is
large. The result has the [2XIsTableOfMarksWithGens[102X ([14X70.10-3[114X) value [9Xtrue[109X.[133X
[33X[0;0YIn the second form, [3Xstring[103X must be a string, and [2XTableOfMarks[102X gets the table
of marks with name [3Xstring[103X from the [5XGAP[105X library (see [14X70.13[114X). If no table of
marks with this name is contained in the library then [9Xfail[109X is returned.[133X
[33X[0;0YIn the third form, [3Xmatrix[103X must be a matrix or a list of rows describing a
lower triangular matrix where the part above the diagonal is omitted. For
such an argument [3Xmatrix[103X, [2XTableOfMarks[102X returns a table of marks object
(see [14X70.2[114X) for which [3Xmatrix[103X is the matrix of marks. Note that not every
matrix (containing only nonnegative integers and having lower triangular
shape) describes a table of marks of a group. Necessary conditions are
checked with [2XIsInternallyConsistent[102X ([14X70.9-1[114X) (see [14X70.9[114X), and [9Xfail[109X is
returned if [3Xmatrix[103X is proved not to describe a matrix of marks; but if
[2XTableOfMarks[102X returns a table of marks object created from a matrix then it
may still happen that this object does not describe the table of marks of a
group.[133X
[33X[0;0YFor an overview of operations for table of marks objects, see the
introduction to Chapter [14X70[114X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xtom:= TableOfMarks( AlternatingGroup( 5 ) );[127X[104X
[4X[28XTableOfMarks( Alt( [ 1 .. 5 ] ) )[128X[104X
[4X[25Xgap>[125X [27XTableOfMarks( "J5" );[127X[104X
[4X[28Xfail[128X[104X
[4X[25Xgap>[125X [27Xa5:= TableOfMarks( "A5" );[127X[104X
[4X[28XTableOfMarks( "A5" )[128X[104X
[4X[25Xgap>[125X [27Xmat:=[127X[104X
[4X[25X>[125X [27X[ [ 60, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 30, 2, 0, 0, 0, 0, 0, 0, 0 ], [127X[104X
[4X[25X>[125X [27X [ 20, 0, 2, 0, 0, 0, 0, 0, 0 ], [ 15, 3, 0, 3, 0, 0, 0, 0, 0 ], [127X[104X
[4X[25X>[125X [27X [ 12, 0, 0, 0, 2, 0, 0, 0, 0 ], [ 10, 2, 1, 0, 0, 1, 0, 0, 0 ], [127X[104X
[4X[25X>[125X [27X [ 6, 2, 0, 0, 1, 0, 1, 0, 0 ], [ 5, 1, 2, 1, 0, 0, 0, 1, 0 ], [127X[104X
[4X[25X>[125X [27X [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ];;[127X[104X
[4X[25Xgap>[125X [27XTableOfMarks( mat );[127X[104X
[4X[28XTableOfMarks( <9 classes> )[128X[104X
[4X[32X[104X
[33X[0;0YThe following [2XTableOfMarks[102X methods for a group are installed.[133X
[30X [33X[0;6YIf the group is known to be cyclic then [2XTableOfMarks[102X constructs the
table of marks essentially without the group, instead the knowledge
about the structure of cyclic groups is used.[133X
[30X [33X[0;6YIf the lattice of subgroups is already stored in the group then
[2XTableOfMarks[102X computes the table of marks from the lattice
(see [2XTableOfMarksByLattice[102X ([14X70.3-2[114X)).[133X
[30X [33X[0;6YIf the group is known to be solvable then [2XTableOfMarks[102X takes the
lattice of subgroups (see [2XLatticeSubgroups[102X ([14X39.20-1[114X)) of the group
–which means that the lattice is computed if it is not yet stored– and
then computes the table of marks from it. This method is also
accessible via the global function [2XTableOfMarksByLattice[102X ([14X70.3-2[114X).[133X
[30X [33X[0;6YIf the group doesn't know its lattice of subgroups or its conjugacy
classes of subgroups then the table of marks and the conjugacy classes
of subgroups are computed at the same time by the cyclic extension
method. Only the table of marks is stored because the conjugacy
classes of subgroups or the lattice of subgroups can be easily read
off (see [2XLatticeSubgroupsByTom[102X ([14X70.3-3[114X)).[133X
[33X[0;0YConversely, the lattice of subgroups of a group with known table of marks
can be computed using the table of marks, via the function
[2XLatticeSubgroupsByTom[102X ([14X70.3-3[114X). This is also installed as a method for
[2XLatticeSubgroups[102X ([14X39.20-1[114X).[133X
[1X70.3-2 TableOfMarksByLattice[101X
[33X[1;0Y[29X[2XTableOfMarksByLattice[102X( [3XG[103X ) [32X function[133X
[33X[0;0Y[2XTableOfMarksByLattice[102X computes the table of marks of the group [3XG[103X from the
lattice of subgroups of [3XG[103X. This lattice is computed via [2XLatticeSubgroups[102X
([14X39.20-1[114X) if it is not yet stored in [3XG[103X. The function [2XTableOfMarksByLattice[102X
is installed as a method for [2XTableOfMarks[102X ([14X70.3-1[114X) for solvable groups and
groups with stored subgroup lattice, and is available as a global variable
only in order to provide explicit access to this method.[133X
[1X70.3-3 LatticeSubgroupsByTom[101X
[33X[1;0Y[29X[2XLatticeSubgroupsByTom[102X( [3XG[103X ) [32X function[133X
[33X[0;0Y[2XLatticeSubgroupsByTom[102X computes the lattice of subgroups of [3XG[103X from the table
of marks of [3XG[103X, using [2XRepresentativeTom[102X ([14X70.10-4[114X).[133X
[1X70.4 [33X[0;0YPrinting Tables of Marks[133X[101X
[1X70.4-1 ViewObj[101X
[33X[1;0Y[29X[2XViewObj[102X( [3Xtom[103X ) [32X method[133X
[33X[0;0YThe default [2XViewObj[102X ([14X6.3-5[114X) method for tables of marks prints the string
[10X"TableOfMarks"[110X, followed by –if known– the identifier (see [2XIdentifier[102X
([14X70.7-9[114X)) or the group of the table of marks enclosed in brackets; if
neither group nor identifier are known then just the number of conjugacy
classes of subgroups is printed instead.[133X
[1X70.4-2 PrintObj[101X
[33X[1;0Y[29X[2XPrintObj[102X( [3Xtom[103X ) [32X method[133X
[33X[0;0YThe default [2XPrintObj[102X ([14X6.3-5[114X) method for tables of marks does the same as
[2XViewObj[102X ([14X6.3-5[114X), except that [2XPrintObj[102X ([14X6.3-5[114X) is used for the group instead
of [2XViewObj[102X ([14X6.3-5[114X).[133X
[1X70.4-3 Display[101X
[33X[1;0Y[29X[2XDisplay[102X( [3Xtom[103X[, [3Xarec[103X] ) [32X method[133X
[33X[0;0YThe default [2XDisplay[102X ([14X6.3-6[114X) method for a table of marks [3Xtom[103X produces a
formatted output of the marks in [3Xtom[103X. Each line of output begins with the
number of the corresponding class of subgroups. This number is repeated if
the output spreads over several pages. The number of columns printed at one
time depends on the actual line length, which can be accessed and changed by
the function [2XSizeScreen[102X ([14X6.12-1[114X).[133X
[33X[0;0YAn interactive variant of [2XDisplay[102X ([14X6.3-6[114X) is the [2XBrowse[102X ([14XBrowse???[114X) method
for tables of marks that is provided by the [5XGAP[105X package [5XBrowse[105X, see [2XBrowse[102X
([14XBrowse, for tables of marks???[114X).[133X
[33X[0;0YThe optional second argument [3Xarec[103X of [2XDisplay[102X ([14X6.3-6[114X) can be used to change
the default style for displaying a table of marks. [3Xarec[103X must be a record,
its relevant components are the following.[133X
[8X[10Xclasses[110X[8X[108X
[33X[0;6Ya list of class numbers to select only the rows and columns of the
matrix that correspond to this list for printing,[133X
[8X[10Xform[110X[8X[108X
[33X[0;6Yone of the strings [10X"subgroups"[110X, [10X"supergroups"[110X; in the former case, at
position [22X(i,j)[122X of the matrix the number of conjugates of [22XH_j[122X contained
in [22XH_i[122X is printed, and in the latter case, at position [22X(i,j)[122X the
number of conjugates of [22XH_i[122X which contain [22XH_j[122X is printed.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xtom:= TableOfMarks( "A5" );;[127X[104X
[4X[25Xgap>[125X [27XDisplay( tom );[127X[104X
[4X[28X1: 60[128X[104X
[4X[28X2: 30 2[128X[104X
[4X[28X3: 20 . 2[128X[104X
[4X[28X4: 15 3 . 3[128X[104X
[4X[28X5: 12 . . . 2[128X[104X
[4X[28X6: 10 2 1 . . 1[128X[104X
[4X[28X7: 6 2 . . 1 . 1[128X[104X
[4X[28X8: 5 1 2 1 . . . 1[128X[104X
[4X[28X9: 1 1 1 1 1 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XDisplay( tom, rec( classes:= [ 1, 2, 3, 4, 8 ] ) );[127X[104X
[4X[28X1: 60[128X[104X
[4X[28X2: 30 2[128X[104X
[4X[28X3: 20 . 2[128X[104X
[4X[28X4: 15 3 . 3[128X[104X
[4X[28X8: 5 1 2 1 1[128X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XDisplay( tom, rec( form:= "subgroups" ) );[127X[104X
[4X[28X1: 1[128X[104X
[4X[28X2: 1 1[128X[104X
[4X[28X3: 1 . 1[128X[104X
[4X[28X4: 1 3 . 1[128X[104X
[4X[28X5: 1 . . . 1[128X[104X
[4X[28X6: 1 3 1 . . 1[128X[104X
[4X[28X7: 1 5 . . 1 . 1[128X[104X
[4X[28X8: 1 3 4 1 . . . 1[128X[104X
[4X[28X9: 1 15 10 5 6 10 6 5 1[128X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27XDisplay( tom, rec( form:= "supergroups" ) );[127X[104X
[4X[28X1: 1[128X[104X
[4X[28X2: 15 1[128X[104X
[4X[28X3: 10 . 1[128X[104X
[4X[28X4: 5 1 . 1[128X[104X
[4X[28X5: 6 . . . 1[128X[104X
[4X[28X6: 10 2 1 . . 1[128X[104X
[4X[28X7: 6 2 . . 1 . 1[128X[104X
[4X[28X8: 5 1 2 1 . . . 1[128X[104X
[4X[28X9: 1 1 1 1 1 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[32X[104X
[1X70.5 [33X[0;0YSorting Tables of Marks[133X[101X
[1X70.5-1 SortedTom[101X
[33X[1;0Y[29X[2XSortedTom[102X( [3Xtom[103X, [3Xperm[103X ) [32X operation[133X
[33X[0;0Y[2XSortedTom[102X returns a table of marks where the rows and columns of the table
of marks [3Xtom[103X are reordered according to the permutation [3Xperm[103X.[133X
[33X[0;0Y[13XNote[113X that in each table of marks in [5XGAP[105X, the matrix of marks is assumed to
have lower triangular shape (see [14X70.2[114X). If the permutation [3Xperm[103X does [13Xnot[113X
have this property then the functions for tables of marks might return wrong
results when applied to the output of [2XSortedTom[102X.[133X
[33X[0;0YThe returned table of marks has only those attribute values stored that are
known for [3Xtom[103X and listed in [2XTableOfMarksComponents[102X ([14X70.6-4[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xtom:= TableOfMarksCyclic( 6 );; Display( tom );[127X[104X
[4X[28X1: 6[128X[104X
[4X[28X2: 3 3[128X[104X
[4X[28X3: 2 . 2[128X[104X
[4X[28X4: 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27Xsorted:= SortedTom( tom, (2,3) );; Display( sorted );[127X[104X
[4X[28X1: 6[128X[104X
[4X[28X2: 2 2[128X[104X
[4X[28X3: 3 . 3[128X[104X
[4X[28X4: 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[25Xgap>[125X [27Xwrong:= SortedTom( tom, (1,2) );; Display( wrong );[127X[104X
[4X[28X1: 3[128X[104X
[4X[28X2: . 6[128X[104X
[4X[28X3: . 2 2[128X[104X
[4X[28X4: 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[32X[104X
[1X70.5-2 PermutationTom[101X
[33X[1;0Y[29X[2XPermutationTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YFor the table of marks [3Xtom[103X of the group [22XG[122X stored as [2XUnderlyingGroup[102X ([14X70.7-7[114X)
value of [3Xtom[103X, [2XPermutationTom[102X is a permutation [22Xπ[122X such that the [22Xi[122X-th conjugacy
class of subgroups of [22XG[122X belongs to the [22Xi^π[122X-th column and row of marks in
[3Xtom[103X.[133X
[33X[0;0YThis attribute value is bound only if [3Xtom[103X was obtained from another table of
marks by permuting with [2XSortedTom[102X ([14X70.5-1[114X), and there is no default method
to compute its value.[133X
[33X[0;0YThe attribute is necessary because the original and the sorted table of
marks have the same identifier and the same group, and information computed
from the group may depend on the ordering of marks, for example the fusion
from the ordinary character table of [22XG[122X into [3Xtom[103X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XMarksTom( tom )[2];[127X[104X
[4X[28X[ 3, 3 ][128X[104X
[4X[25Xgap>[125X [27XMarksTom( sorted )[2];[127X[104X
[4X[28X[ 2, 2 ][128X[104X
[4X[25Xgap>[125X [27XHasPermutationTom( sorted );[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XPermutationTom( sorted );[127X[104X
[4X[28X(2,3)[128X[104X
[4X[32X[104X
[1X70.6 [33X[0;0YTechnical Details about Tables of Marks[133X[101X
[1X70.6-1 InfoTom[101X
[33X[1;0Y[29X[2XInfoTom[102X[32X info class[133X
[33X[0;0Yis the info class for computations concerning tables of marks.[133X
[1X70.6-2 IsTableOfMarks[101X
[33X[1;0Y[29X[2XIsTableOfMarks[102X( [3Xobj[103X ) [32X Category[133X
[33X[0;0YEach table of marks belongs to this category.[133X
[1X70.6-3 TableOfMarksFamily[101X
[33X[1;0Y[29X[2XTableOfMarksFamily[102X[32X family[133X
[33X[0;0YEach table of marks belongs to this family.[133X
[1X70.6-4 TableOfMarksComponents[101X
[33X[1;0Y[29X[2XTableOfMarksComponents[102X[32X global variable[133X
[33X[0;0YThe list [2XTableOfMarksComponents[102X is used when a table of marks object is
created from a record via [2XConvertToTableOfMarks[102X ([14X70.6-5[114X).
[2XTableOfMarksComponents[102X contains at position [22X2i-1[122X a name of an attribute and
at position [22X2i[122X the corresponding attribute getter function.[133X
[1X70.6-5 ConvertToTableOfMarks[101X
[33X[1;0Y[29X[2XConvertToTableOfMarks[102X( [3Xrecord[103X ) [32X function[133X
[33X[0;0Y[2XConvertToTableOfMarks[102X converts a record with components from
[2XTableOfMarksComponents[102X ([14X70.6-4[114X) into a table of marks object with the
corresponding attributes.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xrecord:= rec( MarksTom:= [ [ 4 ], [ 2, 2 ], [ 1, 1, 1 ] ],[127X[104X
[4X[25X>[125X [27X SubsTom:= [ [ 1 ], [ 1, 2 ], [ 1, 2, 3 ] ] );;[127X[104X
[4X[25Xgap>[125X [27XConvertToTableOfMarks( record );;[127X[104X
[4X[25Xgap>[125X [27Xrecord;[127X[104X
[4X[28XTableOfMarks( <3 classes> )[128X[104X
[4X[32X[104X
[1X70.7 [33X[0;0YAttributes of Tables of Marks[133X[101X
[1X70.7-1 MarksTom[101X
[33X[1;0Y[29X[2XMarksTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XSubsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YThe matrix of marks (see [14X70.1[114X) of the table of marks [3Xtom[103X is stored in a
compressed form where zeros are omitted, using the attributes [2XMarksTom[102X and
[2XSubsTom[102X. If [22XM[122X is the square matrix of marks of [3Xtom[103X (see [2XMatTom[102X ([14X70.7-10[114X))
then the [2XSubsTom[102X value of [3Xtom[103X is a list that contains at position [22Xi[122X the list
of all positions of nonzero entries of the [22Xi[122X-th row of [22XM[122X, and the [2XMarksTom[102X
value of [3Xtom[103X is a list that contains at position [22Xi[122X the list of the
corresponding marks.[133X
[33X[0;0Y[2XMarksTom[102X and [2XSubsTom[102X are defining attributes of tables of marks (see [14X70.2[114X).
There is no default method for computing the [2XSubsTom[102X value, and the default
[2XMarksTom[102X method needs the values of [2XNrSubsTom[102X ([14X70.7-2[114X) and [2XOrdersTom[102X
([14X70.7-2[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xa5:= TableOfMarks( "A5" );[127X[104X
[4X[28XTableOfMarks( "A5" )[128X[104X
[4X[25Xgap>[125X [27XMarksTom( a5 );[127X[104X
[4X[28X[ [ 60 ], [ 30, 2 ], [ 20, 2 ], [ 15, 3, 3 ], [ 12, 2 ], [128X[104X
[4X[28X [ 10, 2, 1, 1 ], [ 6, 2, 1, 1 ], [ 5, 1, 2, 1, 1 ], [128X[104X
[4X[28X [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ][128X[104X
[4X[25Xgap>[125X [27XSubsTom( a5 );[127X[104X
[4X[28X[ [ 1 ], [ 1, 2 ], [ 1, 3 ], [ 1, 2, 4 ], [ 1, 5 ], [ 1, 2, 3, 6 ], [128X[104X
[4X[28X [ 1, 2, 5, 7 ], [ 1, 2, 3, 4, 8 ], [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ] ][128X[104X
[4X[32X[104X
[1X70.7-2 NrSubsTom[101X
[33X[1;0Y[29X[2XNrSubsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XOrdersTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YInstead of storing the marks (see [2XMarksTom[102X ([14X70.7-1[114X)) of the table of marks
[3Xtom[103X one can use a matrix which contains at position [22X(i,j)[122X the number of
subgroups of conjugacy class [22Xj[122X that are contained in one member of the
conjugacy class [22Xi[122X. These values are stored in the [2XNrSubsTom[102X value in the
same way as the marks in the [2XMarksTom[102X ([14X70.7-1[114X) value.[133X
[33X[0;0Y[2XOrdersTom[102X returns a list that contains at position [22Xi[122X the order of a
representative of the [22Xi[122X-th conjugacy class of subgroups of [3Xtom[103X.[133X
[33X[0;0YOne can compute the [2XNrSubsTom[102X and [2XOrdersTom[102X values from the [2XMarksTom[102X
([14X70.7-1[114X) value of [3Xtom[103X and vice versa.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XNrSubsTom( a5 );[127X[104X
[4X[28X[ [ 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 3, 1 ], [ 1, 1 ], [ 1, 3, 1, 1 ], [128X[104X
[4X[28X [ 1, 5, 1, 1 ], [ 1, 3, 4, 1, 1 ], [ 1, 15, 10, 5, 6, 10, 6, 5, 1 ] [128X[104X
[4X[28X ][128X[104X
[4X[25Xgap>[125X [27XOrdersTom( a5 );[127X[104X
[4X[28X[ 1, 2, 3, 4, 5, 6, 10, 12, 60 ][128X[104X
[4X[32X[104X
[1X70.7-3 LengthsTom[101X
[33X[1;0Y[29X[2XLengthsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YFor a table of marks [3Xtom[103X, [2XLengthsTom[102X returns a list of the lengths of the
conjugacy classes of subgroups.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XLengthsTom( a5 );[127X[104X
[4X[28X[ 1, 15, 10, 5, 6, 10, 6, 5, 1 ][128X[104X
[4X[32X[104X
[1X70.7-4 ClassTypesTom[101X
[33X[1;0Y[29X[2XClassTypesTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0Y[2XClassTypesTom[102X distinguishes isomorphism types of the classes of subgroups of
the table of marks [3Xtom[103X as far as this is possible from the [2XSubsTom[102X ([14X70.7-1[114X)
and [2XMarksTom[102X ([14X70.7-1[114X) values of [3Xtom[103X.[133X
[33X[0;0YTwo subgroups are clearly not isomorphic if they have different orders.
Moreover, isomorphic subgroups must contain the same number of subgroups of
each type.[133X
[33X[0;0YEach type is represented by a positive integer. [2XClassTypesTom[102X returns the
list which contains for each class of subgroups its corresponding type.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xa6:= TableOfMarks( "A6" );;[127X[104X
[4X[25Xgap>[125X [27XClassTypesTom( a6 );[127X[104X
[4X[28X[ 1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 9, 10, 11, 11, 12, 13, 13, 14, 15, [128X[104X
[4X[28X 15, 16 ][128X[104X
[4X[32X[104X
[1X70.7-5 ClassNamesTom[101X
[33X[1;0Y[29X[2XClassNamesTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0Y[2XClassNamesTom[102X constructs generic names for the conjugacy classes of
subgroups of the table of marks [3Xtom[103X. In general, the generic name of a class
of non-cyclic subgroups consists of three parts and has the form [10X"([110X[3Xo[103X[10X)_{[110X[3Xt[103X[10X}[110X[3Xl[103X[10X"[110X,
where [3Xo[103X indicates the order of the subgroup, [3Xt[103X is a number that
distinguishes different types of subgroups of the same order, and [3Xl[103X is a
letter that distinguishes classes of subgroups of the same type and order.
The type of a subgroup is determined by the numbers of its subgroups of
other types (see [2XClassTypesTom[102X ([14X70.7-4[114X)). This is slightly weaker than
isomorphism.[133X
[33X[0;0YThe letter is omitted if there is only one class of subgroups of that order
and type, and the type is omitted if there is only one class of that order.
Moreover, the braces [10X{}[110X around the type are omitted if the type number has
only one digit.[133X
[33X[0;0YFor classes of cyclic subgroups, the parentheses round the order and the
type are omitted. Hence the most general form of their generic names is
[10X"[3Xo[103X[10X,[3Xl[103X[10X"[110X. Again, the letter is omitted if there is only one class of cyclic
subgroups of that order.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XClassNamesTom( a6 );[127X[104X
[4X[28X[ "1", "2", "3a", "3b", "5", "4", "(4)_2a", "(4)_2b", "(6)a", "(6)b", [128X[104X
[4X[28X "(8)", "(9)", "(10)", "(12)a", "(12)b", "(18)", "(24)a", "(24)b", [128X[104X
[4X[28X "(36)", "(60)a", "(60)b", "(360)" ][128X[104X
[4X[32X[104X
[1X70.7-6 FusionsTom[101X
[33X[1;0Y[29X[2XFusionsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YFor a table of marks [3Xtom[103X, [2XFusionsTom[102X is a list of fusions into other tables
of marks. Each fusion is a list of length two, the first entry being the
[2XIdentifier[102X ([14X70.7-9[114X)) value of the image table, the second entry being the
list of images of the class positions of [3Xtom[103X in the image table.[133X
[33X[0;0YThis attribute is mainly used for tables of marks in the [5XGAP[105X library
(see [14X70.13[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xfus:= FusionsTom( a6 );;[127X[104X
[4X[25Xgap>[125X [27Xfus[1];[127X[104X
[4X[28X[ "L3(4)", [128X[104X
[4X[28X [ 1, 2, 3, 3, 14, 5, 9, 7, 15, 15, 24, 26, 27, 32, 33, 50, 57, 55, [128X[104X
[4X[28X 63, 73, 77, 90 ] ][128X[104X
[4X[32X[104X
[1X70.7-7 UnderlyingGroup[101X
[33X[1;0Y[29X[2XUnderlyingGroup[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0Y[2XUnderlyingGroup[102X is used to access an underlying group that is stored on the
table of marks [3Xtom[103X. There is no default method to compute an underlying
group if it is not stored.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XUnderlyingGroup( a6 );[127X[104X
[4X[28XGroup([ (1,2)(3,4), (1,2,4,5)(3,6) ])[128X[104X
[4X[32X[104X
[1X70.7-8 IdempotentsTom[101X
[33X[1;0Y[29X[2XIdempotentsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XIdempotentsTomInfo[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0Y[2XIdempotentsTom[102X encodes the idempotents of the integral Burnside ring
described by the table of marks [3Xtom[103X. The return value is a list [22Xl[122X of
positive integers such that each row vector describing a primitive
idempotent has value [22X1[122X at all positions with the same entry in [22Xl[122X, and [22X0[122X at
all other positions.[133X
[33X[0;0YAccording to A. Dress [Dre69] (see also [Pfe97]), these idempotents
correspond to the classes of perfect subgroups, and each such idempotent is
the characteristic function of all those subgroups that arise by cyclic
extension from the corresponding perfect subgroup (see [2XCyclicExtensionsTom[102X
([14X70.9-7[114X)).[133X
[33X[0;0Y[2XIdempotentsTomInfo[102X returns a record with components [10Xfixpointvectors[110X and
[10Xprimidems[110X, both bound to lists. The [22Xi[122X-th entry of the [10Xfixpointvectors[110X list
is the [22X0-1[122X-vector describing the [22Xi[122X-th primitive idempotent, and the [22Xi[122X-th
entry of [10Xprimidems[110X is the decomposition of this idempotent in the rows of
[3Xtom[103X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIdempotentsTom( a5 );[127X[104X
[4X[28X[ 1, 1, 1, 1, 1, 1, 1, 1, 9 ][128X[104X
[4X[25Xgap>[125X [27XIdempotentsTomInfo( a5 );[127X[104X
[4X[28Xrec( [128X[104X
[4X[28X fixpointvectors := [ [ 1, 1, 1, 1, 1, 1, 1, 1, 0 ], [128X[104X
[4X[28X [ 0, 0, 0, 0, 0, 0, 0, 0, 1 ] ], [128X[104X
[4X[28X primidems := [ [ 1, -2, -1, 0, 0, 1, 1, 1 ], [128X[104X
[4X[28X [ -1, 2, 1, 0, 0, -1, -1, -1, 1 ] ] )[128X[104X
[4X[32X[104X
[1X70.7-9 Identifier[101X
[33X[1;0Y[29X[2XIdentifier[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YThe identifier of a table of marks [3Xtom[103X is a string. It is used for printing
the table of marks (see [14X70.4[114X) and in fusions between tables of marks
(see [2XFusionsTom[102X ([14X70.7-6[114X)).[133X
[33X[0;0YIf [3Xtom[103X is a table of marks from the [5XGAP[105X library of tables of marks
(see [14X70.13[114X) then it has an identifier, and if [3Xtom[103X was constructed from a
group with [2XName[102X ([14X12.8-2[114X) then this name is chosen as [2XIdentifier[102X value. There
is no default method to compute an identifier in all other cases.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIdentifier( a5 );[127X[104X
[4X[28X"A5"[128X[104X
[4X[32X[104X
[1X70.7-10 MatTom[101X
[33X[1;0Y[29X[2XMatTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0Y[2XMatTom[102X returns the square matrix of marks (see [14X70.1[114X) of the table of marks
[3Xtom[103X which is stored in a compressed form using the attributes [2XMarksTom[102X
([14X70.7-1[114X) and [2XSubsTom[102X ([14X70.7-1[114X) This may need substantially more space than
the values of [2XMarksTom[102X ([14X70.7-1[114X) and [2XSubsTom[102X ([14X70.7-1[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XMatTom( a5 );[127X[104X
[4X[28X[ [ 60, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 30, 2, 0, 0, 0, 0, 0, 0, 0 ], [128X[104X
[4X[28X [ 20, 0, 2, 0, 0, 0, 0, 0, 0 ], [ 15, 3, 0, 3, 0, 0, 0, 0, 0 ], [128X[104X
[4X[28X [ 12, 0, 0, 0, 2, 0, 0, 0, 0 ], [ 10, 2, 1, 0, 0, 1, 0, 0, 0 ], [128X[104X
[4X[28X [ 6, 2, 0, 0, 1, 0, 1, 0, 0 ], [ 5, 1, 2, 1, 0, 0, 0, 1, 0 ], [128X[104X
[4X[28X [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ][128X[104X
[4X[32X[104X
[1X70.7-11 MoebiusTom[101X
[33X[1;0Y[29X[2XMoebiusTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0Y[2XMoebiusTom[102X computes the Möbius values both of the subgroup lattice of the
group [22XG[122X with table of marks [3Xtom[103X and of the poset of conjugacy classes of
subgroups of [22XG[122X. It returns a record where the component [10Xmu[110X contains the
Möbius values of the subgroup lattice, and the component [10Xnu[110X contains the
Möbius values of the poset.[133X
[33X[0;0YMoreover, according to an observation of Isaacs et al. (see [HIÖ89],
[Pah93]), the values on the subgroup lattice often can be derived from those
of the poset of conjugacy classes. These [21Xexpected values[121X are returned in the
component [10Xex[110X, and the list of numbers of those subgroups where the expected
value does not coincide with the actual value are returned in the component
[10Xhyp[110X. For the computation of these values, the position of the derived
subgroup of [22XG[122X is needed (see [2XDerivedSubgroupTom[102X ([14X70.9-2[114X)). If it is not
uniquely determined then the result does not have the components [10Xex[110X and [10Xhyp[110X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XMoebiusTom( a5 );[127X[104X
[4X[28Xrec( ex := [ -60, 4, 2,,, -1, -1, -1, 1 ], hyp := [ ], [128X[104X
[4X[28X mu := [ -60, 4, 2,,, -1, -1, -1, 1 ], [128X[104X
[4X[28X nu := [ -1, 2, 1,,, -1, -1, -1, 1 ] )[128X[104X
[4X[25Xgap>[125X [27Xtom:= TableOfMarks( "M12" );;[127X[104X
[4X[25Xgap>[125X [27Xmoebius:= MoebiusTom( tom );;[127X[104X
[4X[25Xgap>[125X [27Xmoebius.hyp;[127X[104X
[4X[28X[ 1, 2, 4, 16, 39, 45, 105 ][128X[104X
[4X[25Xgap>[125X [27Xmoebius.mu[1]; moebius.ex[1];[127X[104X
[4X[28X95040[128X[104X
[4X[28X190080[128X[104X
[4X[32X[104X
[1X70.7-12 WeightsTom[101X
[33X[1;0Y[29X[2XWeightsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0Y[2XWeightsTom[102X extracts the [13Xweights[113X from the table of marks [3Xtom[103X, i.e., the
diagonal entries of the matrix of marks (see [2XMarksTom[102X ([14X70.7-1[114X)), indicating
the index of a subgroup in its normalizer.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xwt:= WeightsTom( a5 );[127X[104X
[4X[28X[ 60, 2, 2, 3, 2, 1, 1, 1, 1 ][128X[104X
[4X[32X[104X
[33X[0;0YThis information may be used to obtain the numbers of conjugate supergroups
from the marks.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xmarks:= MarksTom( a5 );;[127X[104X
[4X[25Xgap>[125X [27XList( [ 1 .. 9 ], x -> marks[x] / wt[x] );[127X[104X
[4X[28X[ [ 1 ], [ 15, 1 ], [ 10, 1 ], [ 5, 1, 1 ], [ 6, 1 ], [ 10, 2, 1, 1 ],[128X[104X
[4X[28X [ 6, 2, 1, 1 ], [ 5, 1, 2, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1, 1 ] ][128X[104X
[4X[32X[104X
[1X70.8 [33X[0;0YProperties of Tables of Marks[133X[101X
[33X[0;0YFor a table of marks [3Xtom[103X of a group [22XG[122X, the following properties have the
same meaning as the corresponding properties for [22XG[122X. Additionally, if a
positive integer [3Xsub[103X is given as the second argument then the value of the
corresponding property for the [3Xsub[103X-th class of subgroups of [3Xtom[103X is returned.[133X
[1X70.8-1 IsAbelianTom[101X
[33X[1;0Y[29X[2XIsAbelianTom[102X( [3Xtom[103X[, [3Xsub[103X] ) [32X property[133X
[33X[1;0Y[29X[2XIsCyclicTom[102X( [3Xtom[103X[, [3Xsub[103X] ) [32X property[133X
[33X[1;0Y[29X[2XIsNilpotentTom[102X( [3Xtom[103X[, [3Xsub[103X] ) [32X property[133X
[33X[1;0Y[29X[2XIsPerfectTom[102X( [3Xtom[103X[, [3Xsub[103X] ) [32X property[133X
[33X[1;0Y[29X[2XIsSolvableTom[102X( [3Xtom[103X[, [3Xsub[103X] ) [32X property[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xtom:= TableOfMarks( "A5" );;[127X[104X
[4X[25Xgap>[125X [27XIsAbelianTom( tom ); IsPerfectTom( tom );[127X[104X
[4X[28Xfalse[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XIsAbelianTom( tom, 3 ); IsNilpotentTom( tom, 7 );[127X[104X
[4X[28Xtrue[128X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27XIsPerfectTom( tom, 7 ); IsSolvableTom( tom, 7 );[127X[104X
[4X[28Xfalse[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xfor i in [ 1 .. 6 ] do[127X[104X
[4X[25X>[125X [27XPrint( i, ": ", IsCyclicTom(a5, i), " " );[127X[104X
[4X[25X>[125X [27Xod; Print( "\n" );[127X[104X
[4X[28X1: true 2: true 3: true 4: false 5: true 6: false [128X[104X
[4X[32X[104X
[1X70.9 [33X[0;0YOther Operations for Tables of Marks[133X[101X
[1X70.9-1 IsInternallyConsistent[101X
[33X[1;0Y[29X[2XIsInternallyConsistent[102X( [3Xtom[103X ) [32X method[133X
[33X[0;0YFor a table of marks [3Xtom[103X, [2XIsInternallyConsistent[102X decomposes all tensor
products of rows of [3Xtom[103X. It returns [9Xtrue[109X if all decomposition numbers are
nonnegative integers, and [9Xfalse[109X otherwise. This provides a strong
consistency check for a table of marks.[133X
[1X70.9-2 DerivedSubgroupTom[101X
[33X[1;0Y[29X[2XDerivedSubgroupTom[102X( [3Xtom[103X, [3Xsub[103X ) [32X operation[133X
[33X[1;0Y[29X[2XDerivedSubgroupsTom[102X( [3Xtom[103X ) [32X function[133X
[33X[0;0YFor a table of marks [3Xtom[103X and a positive integer [3Xsub[103X, [2XDerivedSubgroupTom[102X
returns either a positive integer [22Xi[122X or a list [22Xl[122X of positive integers. In the
former case, the result means that the derived subgroups of the subgroups in
the [3Xsub[103X-th class of [3Xtom[103X lie in the [22Xi[122X-th class. In the latter case, the class
of the derived subgroups could not be uniquely determined, and the position
of the class of derived subgroups is an entry of [22Xl[122X.[133X
[33X[0;0YValues computed with [2XDerivedSubgroupTom[102X are stored using the attribute
[2XDerivedSubgroupsTomPossible[102X ([14X70.9-3[114X).[133X
[33X[0;0Y[2XDerivedSubgroupsTom[102X is just the list of [2XDerivedSubgroupTom[102X values for all
values of [3Xsub[103X.[133X
[1X70.9-3 DerivedSubgroupsTomPossible[101X
[33X[1;0Y[29X[2XDerivedSubgroupsTomPossible[102X( [3Xtom[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XDerivedSubgroupsTomUnique[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YLet [3Xtom[103X be a table of marks. The value of the attribute
[2XDerivedSubgroupsTomPossible[102X is a list in which the value at position [22Xi[122X –if
bound– is a positive integer or a list; the meaning of the entry is the same
as in [2XDerivedSubgroupTom[102X ([14X70.9-2[114X).[133X
[33X[0;0YIf the value of the attribute [2XDerivedSubgroupsTomUnique[102X is known for [3Xtom[103X
then it is a list of positive integers, the value at position [22Xi[122X being the
position of the class of derived subgroups of the [22Xi[122X-th class of subgroups in
[3Xtom[103X.[133X
[33X[0;0YThe derived subgroups are in general not uniquely determined by the table of
marks if no [2XUnderlyingGroup[102X ([14X70.7-7[114X) value is stored, so there is no default
method for [2XDerivedSubgroupsTomUnique[102X. But in some cases the derived
subgroups are explicitly set when the table of marks is constructed. In this
case, [2XDerivedSubgroupTom[102X ([14X70.9-2[114X) does not set values in the
[2XDerivedSubgroupsTomPossible[102X list.[133X
[33X[0;0YThe [2XDerivedSubgroupsTomUnique[102X value is automatically set when the last
missing unique value is entered in the [2XDerivedSubgroupsTomPossible[102X list by
[2XDerivedSubgroupTom[102X ([14X70.9-2[114X).[133X
[1X70.9-4 NormalizerTom[101X
[33X[1;0Y[29X[2XNormalizerTom[102X( [3Xtom[103X, [3Xsub[103X ) [32X operation[133X
[33X[1;0Y[29X[2XNormalizersTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YLet [3Xtom[103X be the table of marks of a group [22XG[122X, say. [2XNormalizerTom[102X tries to find
the conjugacy class of the normalizer [22XN[122X in [22XG[122X of a subgroup [22XU[122X in the [3Xsub[103X-th
class of [3Xtom[103X. The return value is either the list of class numbers of those
subgroups that have the right size and contain the subgroup and all
subgroups that clearly contain it as a normal subgroup, or the class number
of the normalizer if it is uniquely determined by these conditions. If [3Xtom[103X
knows the subgroup lattice of [22XG[122X (see [2XIsTableOfMarksWithGens[102X ([14X70.10-3[114X)) then
all normalizers are uniquely determined. [2XNormalizerTom[102X should never return
an empty list.[133X
[33X[0;0Y[2XNormalizersTom[102X returns the list of positions of the classes of normalizers
of subgroups in [3Xtom[103X. In addition to the criteria for a single class of
subgroup used by [2XNormalizerTom[102X, the approximations of normalizers for
several classes are used and thus [2XNormalizersTom[102X may return better
approximations than [2XNormalizerTom[102X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XNormalizerTom( a5, 4 );[127X[104X
[4X[28X8[128X[104X
[4X[25Xgap>[125X [27XNormalizersTom( a5 );[127X[104X
[4X[28X[ 9, 4, 6, 8, 7, 6, 7, 8, 9 ][128X[104X
[4X[32X[104X
[33X[0;0YThe example shows that a subgroup with class number 4 in [22XA_5[122X (which is a
Kleinian four group) is normalized by a subgroup in class 8. This class
contains the subgroups of [22XA_5[122X which are isomorphic to [22XA_4[122X.[133X
[1X70.9-5 ContainedTom[101X
[33X[1;0Y[29X[2XContainedTom[102X( [3Xtom[103X, [3Xsub1[103X, [3Xsub2[103X ) [32X operation[133X
[33X[0;0Y[2XContainedTom[102X returns the number of subgroups in class [3Xsub1[103X of the table of
marks [3Xtom[103X that are contained in one fixed member of the class [3Xsub2[103X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XContainedTom( a5, 3, 5 ); ContainedTom( a5, 3, 8 );[127X[104X
[4X[28X0[128X[104X
[4X[28X4[128X[104X
[4X[32X[104X
[1X70.9-6 ContainingTom[101X
[33X[1;0Y[29X[2XContainingTom[102X( [3Xtom[103X, [3Xsub1[103X, [3Xsub2[103X ) [32X operation[133X
[33X[0;0Y[2XContainingTom[102X returns the number of subgroups in class [3Xsub2[103X of the table of
marks [3Xtom[103X that contain one fixed member of the class [3Xsub1[103X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XContainingTom( a5, 3, 5 ); ContainingTom( a5, 3, 8 );[127X[104X
[4X[28X0[128X[104X
[4X[28X2[128X[104X
[4X[32X[104X
[1X70.9-7 CyclicExtensionsTom[101X
[33X[1;0Y[29X[2XCyclicExtensionsTom[102X( [3Xtom[103X, [3Xp[103X ) [32X operation[133X
[33X[1;0Y[29X[2XCyclicExtensionsTom[102X( [3Xtom[103X[, [3Xlist[103X] ) [32X attribute[133X
[33X[0;0YAccording to A. Dress [Dre69], two columns of the table of marks [3Xtom[103X are
equal modulo the prime [3Xp[103X if and only if the corresponding subgroups are
connected by a chain of normal extensions of order [3Xp[103X.[133X
[33X[0;0YCalled with [3Xtom[103X and [3Xp[103X, [2XCyclicExtensionsTom[102X returns the classes of this
equivalence relation.[133X
[33X[0;0YIn the second form, [3Xlist[103X must be a list of primes, and the return value is
the list of classes of the relation obtained by considering chains of normal
extensions of prime order where all primes are in [3Xlist[103X. The default value
for [3Xlist[103X is the set of prime divisors of the order of the group of [3Xtom[103X.[133X
[33X[0;0Y(This information is [13Xnot[113X used by [2XNormalizerTom[102X ([14X70.9-4[114X) although it might
give additional restrictions in the search of normalizers.)[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XCyclicExtensionsTom( a5, 2 );[127X[104X
[4X[28X[ [ 1, 2, 4 ], [ 3, 6 ], [ 5, 7 ], [ 8 ], [ 9 ] ][128X[104X
[4X[32X[104X
[1X70.9-8 DecomposedFixedPointVector[101X
[33X[1;0Y[29X[2XDecomposedFixedPointVector[102X( [3Xtom[103X, [3Xfix[103X ) [32X operation[133X
[33X[0;0YLet [3Xtom[103X be the table of marks of the group [22XG[122X, say, and let [3Xfix[103X be a vector
of fixed point numbers w.r.t. an action of [22XG[122X, i.e., a vector which contains
for each class of subgroups the number of fixed points under the given
action. [2XDecomposedFixedPointVector[102X returns the decomposition of [3Xfix[103X into
rows of the table of marks. This decomposition corresponds to a
decomposition of the action into transitive constituents. Trailing zeros in
[3Xfix[103X may be omitted.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XDecomposedFixedPointVector( a5, [ 16, 4, 1, 0, 1, 1, 1 ] );[127X[104X
[4X[28X[ 0, 0, 0, 0, 0, 1, 1 ][128X[104X
[4X[32X[104X
[33X[0;0YThe vector [3Xfix[103X may be any vector of integers. The resulting decomposition,
however, will not be integral, in general.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XDecomposedFixedPointVector( a5, [ 0, 0, 0, 0, 1, 1 ] );[127X[104X
[4X[28X[ 2/5, -1, -1/2, 0, 1/2, 1 ][128X[104X
[4X[32X[104X
[1X70.9-9 EulerianFunctionByTom[101X
[33X[1;0Y[29X[2XEulerianFunctionByTom[102X( [3Xtom[103X, [3Xn[103X[, [3Xsub[103X] ) [32X operation[133X
[33X[0;0YCalled with two arguments, [2XEulerianFunctionByTom[102X computes the Eulerian
function (see [2XEulerianFunction[102X ([14X39.16-3[114X)) of the underlying group [22XG[122X of the
table of marks [3Xtom[103X, that is, the number of [3Xn[103X-tuples of elements in [22XG[122X that
generate [22XG[122X. If the optional argument [3Xsub[103X is given then [2XEulerianFunctionByTom[102X
computes the Eulerian function of each subgroup in the [3Xsub[103X-th class of
subgroups of [3Xtom[103X.[133X
[33X[0;0YFor a group [22XG[122X whose table of marks is known, [2XEulerianFunctionByTom[102X is
installed as a method for [2XEulerianFunction[102X ([14X39.16-3[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XEulerianFunctionByTom( a5, 2 );[127X[104X
[4X[28X2280[128X[104X
[4X[25Xgap>[125X [27XEulerianFunctionByTom( a5, 3 );[127X[104X
[4X[28X200160[128X[104X
[4X[25Xgap>[125X [27XEulerianFunctionByTom( a5, 2, 3 );[127X[104X
[4X[28X8[128X[104X
[4X[32X[104X
[1X70.9-10 IntersectionsTom[101X
[33X[1;0Y[29X[2XIntersectionsTom[102X( [3Xtom[103X, [3Xsub1[103X, [3Xsub2[103X ) [32X operation[133X
[33X[0;0YThe intersections of the groups in the [3Xsub1[103X-th conjugacy class of subgroups
of the table of marks [3Xtom[103X with the groups in the [3Xsub2[103X-th conjugacy classes
of subgroups of [3Xtom[103X are determined up to conjugacy by the decomposition of
the tensor product of their rows of marks. [2XIntersectionsTom[102X returns a list [22Xl[122X
that describes this decomposition. The [22Xi[122X-th entry in [22Xl[122X is the multiplicity
of groups in the [22Xi[122X-th conjugacy class as an intersection.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIntersectionsTom( a5, 8, 8 );[127X[104X
[4X[28X[ 0, 0, 1, 0, 0, 0, 0, 1 ][128X[104X
[4X[32X[104X
[33X[0;0YAny two subgroups of class number 8 ([22XA_4[122X) of [22XA_5[122X are either equal and their
intersection has again class number 8, or their intersection has class
number [22X3[122X, and is a cyclic subgroup of order 3.[133X
[1X70.9-11 FactorGroupTom[101X
[33X[1;0Y[29X[2XFactorGroupTom[102X( [3Xtom[103X, [3Xn[103X ) [32X operation[133X
[33X[0;0YFor a table of marks [3Xtom[103X of the group [22XG[122X, say, and the normal subgroup [22XN[122X of [22XG[122X
corresponding to the [3Xn[103X-th class of subgroups of [3Xtom[103X, [2XFactorGroupTom[102X returns
the table of marks of the factor group [22XG / N[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xs4:= TableOfMarks( SymmetricGroup( 4 ) );[127X[104X
[4X[28XTableOfMarks( Sym( [ 1 .. 4 ] ) )[128X[104X
[4X[25Xgap>[125X [27XLengthsTom( s4 );[127X[104X
[4X[28X[ 1, 3, 6, 4, 1, 3, 3, 4, 3, 1, 1 ][128X[104X
[4X[25Xgap>[125X [27XOrdersTom( s4 );[127X[104X
[4X[28X[ 1, 2, 2, 3, 4, 4, 4, 6, 8, 12, 24 ][128X[104X
[4X[25Xgap>[125X [27Xs3:= FactorGroupTom( s4, 5 );[127X[104X
[4X[28XTableOfMarks( Group([ f1, f2 ]) )[128X[104X
[4X[25Xgap>[125X [27XDisplay( s3 );[127X[104X
[4X[28X1: 6[128X[104X
[4X[28X2: 3 1[128X[104X
[4X[28X3: 2 . 2[128X[104X
[4X[28X4: 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[32X[104X
[1X70.9-12 MaximalSubgroupsTom[101X
[33X[1;0Y[29X[2XMaximalSubgroupsTom[102X( [3Xtom[103X[, [3Xsub[103X] ) [32X attribute[133X
[33X[0;0YCalled with a table of marks [3Xtom[103X, [2XMaximalSubgroupsTom[102X returns a list of
length two, the first entry being the list of positions of the classes of
maximal subgroups of the whole group of [3Xtom[103X, the second entry being the list
of class lengths of these groups.[133X
[33X[0;0YCalled with a table of marks [3Xtom[103X and a position [3Xsub[103X, the same information
for the [3Xsub[103X-th class of subgroups is returned.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XMaximalSubgroupsTom( s4 );[127X[104X
[4X[28X[ [ 10, 9, 8 ], [ 1, 3, 4 ] ][128X[104X
[4X[25Xgap>[125X [27XMaximalSubgroupsTom( s4, 10 );[127X[104X
[4X[28X[ [ 5, 4 ], [ 1, 4 ] ][128X[104X
[4X[32X[104X
[1X70.9-13 MinimalSupergroupsTom[101X
[33X[1;0Y[29X[2XMinimalSupergroupsTom[102X( [3Xtom[103X, [3Xsub[103X ) [32X operation[133X
[33X[0;0YFor a table of marks [3Xtom[103X, [2XMinimalSupergroupsTom[102X returns a list of length
two, the first entry being the list of positions of the classes containing
the minimal supergroups of the groups in the [3Xsub[103X-th class of subgroups of
[3Xtom[103X, the second entry being the list of class lengths of these groups.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XMinimalSupergroupsTom( s4, 5 );[127X[104X
[4X[28X[ [ 9, 10 ], [ 3, 1 ] ][128X[104X
[4X[32X[104X
[1X70.10 [33X[0;0YAccessing Subgroups via Tables of Marks[133X[101X
[33X[0;0YLet [3Xtom[103X be the table of marks of the group [22XG[122X, and assume that [3Xtom[103X has access
to [22XG[122X via the [2XUnderlyingGroup[102X ([14X70.7-7[114X) value. Then it makes sense to use [3Xtom[103X
and its ordering of conjugacy classes of subgroups of [22XG[122X for storing
information for constructing representatives of these classes. The group [22XG[122X
is in general not sufficient for this, [3Xtom[103X needs more information; this is
available if and only if the [2XIsTableOfMarksWithGens[102X ([14X70.10-3[114X) value of [3Xtom[103X
is [9Xtrue[109X. In this case, [2XRepresentativeTom[102X ([14X70.10-4[114X) can be used to get a
subgroup of the [22Xi[122X-th class, for all [22Xi[122X.[133X
[33X[0;0Y[5XGAP[105X provides two different possibilities to store generators of the
representatives of classes of subgroups. The first is implemented by the
attribute [2XGeneratorsSubgroupsTom[102X ([14X70.10-1[114X), which uses explicit generators
of the subgroups. The second, more general, possibility is implemented by
the attribute [2XStraightLineProgramsTom[102X ([14X70.10-2[114X), which encodes the
generators as straight line programs (see [14X37.8[114X) that evaluate to the
generators in question when applied to [13Xstandard generators[113X of [22XG[122X. This means
that on the one hand, standard generators of [22XG[122X must be known in order to use
[2XStraightLineProgramsTom[102X ([14X70.10-2[114X). On the other hand, the straight line
programs allow one to compute easily generators not only of a subgroup [22XU[122X of
[22XG[122X but also generators of the image of [22XU[122X in any representation of [22XG[122X, provided
that one knows standard generators of the image of [22XG[122X under this
representation. See the manual of the package [5XTomLib[105X for details and an
example.[133X
[1X70.10-1 GeneratorsSubgroupsTom[101X
[33X[1;0Y[29X[2XGeneratorsSubgroupsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YLet [3Xtom[103X be a table of marks with [2XIsTableOfMarksWithGens[102X ([14X70.10-3[114X) value
[9Xtrue[109X. Then [2XGeneratorsSubgroupsTom[102X returns a list of length two, the first
entry being a list [22Xl[122X of elements of the group stored as [2XUnderlyingGroup[102X
([14X70.7-7[114X) value of [3Xtom[103X, the second entry being a list that contains at
position [22Xi[122X a list of positions in [22Xl[122X of generators of a representative of a
subgroup in class [22Xi[122X.[133X
[33X[0;0YThe [2XGeneratorsSubgroupsTom[102X value is known for all tables of marks that have
been computed with [2XTableOfMarks[102X ([14X70.3-1[114X) from a group, and there is a method
to compute the value for a table of marks that admits [2XRepresentativeTom[102X
([14X70.10-4[114X).[133X
[1X70.10-2 StraightLineProgramsTom[101X
[33X[1;0Y[29X[2XStraightLineProgramsTom[102X( [3Xtom[103X ) [32X attribute[133X
[33X[0;0YFor a table of marks [3Xtom[103X with [2XIsTableOfMarksWithGens[102X ([14X70.10-3[114X) value [9Xtrue[109X,
[2XStraightLineProgramsTom[102X returns a list that contains at position [22Xi[122X either a
list of straight line programs or a straight line program (see [14X37.8[114X),
encoding the generators of a representative of the [22Xi[122X-th conjugacy class of
subgroups of [10XUnderlyingGroup( [3Xtom[103X[10X )[110X; in the former case, each straight line
program returns a generator, in the latter case, the program returns the
list of generators.[133X
[33X[0;0YThere is no default method to compute the [2XStraightLineProgramsTom[102X value of a
table of marks if they are not yet stored. The value is known for all tables
of marks that belong to the [5XGAP[105X library of tables of marks (see [14X70.13[114X).[133X
[1X70.10-3 IsTableOfMarksWithGens[101X
[33X[1;0Y[29X[2XIsTableOfMarksWithGens[102X( [3Xtom[103X ) [32X filter[133X
[33X[0;0YThis filter shall express the union of the filters [10XIsTableOfMarks and
HasStraightLineProgramsTom[110X and [10XIsTableOfMarks and HasGeneratorsSubgroupsTom[110X.
If a table of marks [3Xtom[103X has this filter set then [3Xtom[103X can be asked to compute
information that is in general not uniquely determined by a table of marks,
for example the positions of derived subgroups or normalizers of subgroups
(see [2XDerivedSubgroupTom[102X ([14X70.9-2[114X), [2XNormalizerTom[102X ([14X70.9-4[114X)).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xa5:= TableOfMarks( "A5" );; IsTableOfMarksWithGens( a5 );[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XHasGeneratorsSubgroupsTom( a5 ); HasStraightLineProgramsTom( a5 );[127X[104X
[4X[28Xfalse[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xalt5:= TableOfMarks( AlternatingGroup( 5 ) );;[127X[104X
[4X[25Xgap>[125X [27XIsTableOfMarksWithGens( alt5 );[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XHasGeneratorsSubgroupsTom(alt5); HasStraightLineProgramsTom(alt5);[127X[104X
[4X[28Xtrue[128X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27Xprogs:= StraightLineProgramsTom( a5 );;[127X[104X
[4X[25Xgap>[125X [27XOrdersTom( a5 );[127X[104X
[4X[28X[ 1, 2, 3, 4, 5, 6, 10, 12, 60 ][128X[104X
[4X[25Xgap>[125X [27XIsCyclicTom( a5, 4 );[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27XLength( progs[4] );[127X[104X
[4X[28X2[128X[104X
[4X[25Xgap>[125X [27Xprogs[4][1];[127X[104X
[4X[28X<straight line program>[128X[104X
[4X[25Xgap>[125X [27X# first generator of an el. ab group of order 4:[127X[104X
[4X[25Xgap>[125X [27XDisplay( progs[4][1] );[127X[104X
[4X[28X# input:[128X[104X
[4X[28Xr:= [ g1, g2 ];[128X[104X
[4X[28X# program:[128X[104X
[4X[28Xr[3]:= r[2]*r[1];[128X[104X
[4X[28Xr[4]:= r[3]*r[2]^-1*r[1]*r[3]*r[2]^-1*r[1]*r[2];[128X[104X
[4X[28X# return value:[128X[104X
[4X[28Xr[4][128X[104X
[4X[25Xgap>[125X [27Xx:= [ [ Z(2)^0, 0*Z(2) ], [ Z(2^2), Z(2)^0 ] ];;[127X[104X
[4X[25Xgap>[125X [27Xy:= [ [ Z(2^2), Z(2)^0 ], [ 0*Z(2), Z(2^2)^2 ] ];;[127X[104X
[4X[25Xgap>[125X [27Xres1:= ResultOfStraightLineProgram( progs[4][1], [ x, y ] );[127X[104X
[4X[28X[ [ Z(2)^0, 0*Z(2) ], [ Z(2^2)^2, Z(2)^0 ] ][128X[104X
[4X[25Xgap>[125X [27Xres2:= ResultOfStraightLineProgram( progs[4][2], [ x, y ] );[127X[104X
[4X[28X[ [ Z(2)^0, 0*Z(2) ], [ Z(2^2), Z(2)^0 ] ][128X[104X
[4X[25Xgap>[125X [27Xw:= y*x;;[127X[104X
[4X[25Xgap>[125X [27Xres1 = w*y^-1*x*w*y^-1*x*y;[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xsubgrp:= Group( res1, res2 );; Size( subgrp ); IsCyclic( subgrp );[127X[104X
[4X[28X4[128X[104X
[4X[28Xfalse[128X[104X
[4X[32X[104X
[1X70.10-4 RepresentativeTom[101X
[33X[1;0Y[29X[2XRepresentativeTom[102X( [3Xtom[103X, [3Xsub[103X ) [32X operation[133X
[33X[1;0Y[29X[2XRepresentativeTomByGenerators[102X( [3Xtom[103X, [3Xsub[103X, [3Xgens[103X ) [32X operation[133X
[33X[1;0Y[29X[2XRepresentativeTomByGeneratorsNC[102X( [3Xtom[103X, [3Xsub[103X, [3Xgens[103X ) [32X operation[133X
[33X[0;0YLet [3Xtom[103X be a table of marks with [2XIsTableOfMarksWithGens[102X ([14X70.10-3[114X) value
[9Xtrue[109X, and [3Xsub[103X a positive integer. [2XRepresentativeTom[102X returns a representative
of the [3Xsub[103X-th conjugacy class of subgroups of [3Xtom[103X.[133X
[33X[0;0YIf the attribute [2XStraightLineProgramsTom[102X ([14X70.10-2[114X) is set in [3Xtom[103X then
methods for the operations [2XRepresentativeTomByGenerators[102X and
[2XRepresentativeTomByGeneratorsNC[102X are available, which return a representative
of the [3Xsub[103X-th conjugacy class of subgroups of [3Xtom[103X, as a subgroup of the
group generated by [3Xgens[103X. This means that the standard generators of [3Xtom[103X are
replaced by [3Xgens[103X.[133X
[33X[0;0Y[2XRepresentativeTomByGenerators[102X checks whether mapping the standard generators
of [3Xtom[103X to [3Xgens[103X extends to a group isomorphism, and returns [9Xfail[109X if not.
[2XRepresentativeTomByGeneratorsNC[102X omits all checks. So
[2XRepresentativeTomByGenerators[102X is thought mainly for debugging purposes; note
that when several representatives are constructed, it is cheaper to
construct (and check) the isomorphism once, and to map the groups returned
by [2XRepresentativeTom[102X under this isomorphism. The idea behind
[2XRepresentativeTomByGeneratorsNC[102X, however, is to avoid the overhead of using
isomorphisms when [3Xgens[103X are known to be standard generators. In order to
proceed like this, the attribute [2XStraightLineProgramsTom[102X ([14X70.10-2[114X) is
needed.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XRepresentativeTom( a5, 4 );[127X[104X
[4X[28XGroup([ (2,3)(4,5), (2,4)(3,5) ])[128X[104X
[4X[32X[104X
[1X70.11 [33X[0;0YThe Interface between Tables of Marks and Character Tables[133X[101X
[33X[0;0YThe following examples require the [5XGAP[105X Character Table Library to be
available. If it is not yet loaded then we load it now.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XLoadPackage( "ctbllib" );[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X70.11-1 FusionCharTableTom[101X
[33X[1;0Y[29X[2XFusionCharTableTom[102X( [3Xtbl[103X, [3Xtom[103X ) [32X operation[133X
[33X[1;0Y[29X[2XPossibleFusionsCharTableTom[102X( [3Xtbl[103X, [3Xtom[103X[, [3Xoptions[103X] ) [32X operation[133X
[33X[0;0YLet [3Xtbl[103X be the ordinary character table of the group [22XG[122X, say, and [3Xtom[103X the
table of marks of [22XG[122X. [2XFusionCharTableTom[102X determines the fusion of the classes
of elements from [3Xtbl[103X to the classes of cyclic subgroups on [3Xtom[103X, that is, a
list that contains at position [22Xi[122X the position of the class of cyclic
subgroups in [3Xtom[103X that are generated by elements in the [22Xi[122X-th conjugacy class
of elements in [3Xtbl[103X.[133X
[33X[0;0YThree cases are handled differently.[133X
[31X1[131X [33X[0;6YThe fusion is explicitly stored on [3Xtbl[103X. Then nothing has to be done.
This happens only if both [3Xtbl[103X and [3Xtom[103X are tables from the [5XGAP[105X library
(see [14X70.13[114X and the manual of the [5XGAP[105X Character Table Library).[133X
[31X2[131X [33X[0;6YThe [2XUnderlyingGroup[102X ([14X70.7-7[114X) values of [3Xtbl[103X and [3Xtom[103X are known and
equal. Then the group is used to compute the fusion.[133X
[31X3[131X [33X[0;6YThere is neither fusion nor group information available. In this case
only necessary conditions can be checked, and if they are not
sufficient to determine the fusion uniquely then [9Xfail[109X is returned by
[2XFusionCharTableTom[102X.[133X
[33X[0;0Y[2XPossibleFusionsCharTableTom[102X computes the list of possible fusions from [3Xtbl[103X
to [3Xtom[103X, according to the criteria that have been checked. So if
[2XFusionCharTableTom[102X returns a unique fusion then the list returned by
[2XPossibleFusionsCharTableTom[102X for the same arguments contains exactly this
fusion, and if [2XFusionCharTableTom[102X returns [9Xfail[109X then the length of this list
is different from [22X1[122X.[133X
[33X[0;0YThe optional argument [3Xoptions[103X must be a record that may have the following
components.[133X
[8X[10Xfusionmap[110X[8X[108X
[33X[0;6Ya parametrized map which is an approximation of the desired map,[133X
[8X[10Xquick[110X[8X[108X
[33X[0;6Ya Boolean; if [9Xtrue[109X then as soon as only one possibility remains this
possibility is returned immediately; the default value is [9Xfalse[109X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xa5c:= CharacterTable( "A5" );;[127X[104X
[4X[25Xgap>[125X [27Xfus:= FusionCharTableTom( a5c, a5 );[127X[104X
[4X[28X[ 1, 2, 3, 5, 5 ][128X[104X
[4X[32X[104X
[1X70.11-2 PermCharsTom[101X
[33X[1;0Y[29X[2XPermCharsTom[102X( [3Xfus[103X, [3Xtom[103X ) [32X operation[133X
[33X[1;0Y[29X[2XPermCharsTom[102X( [3Xtbl[103X, [3Xtom[103X ) [32X operation[133X
[33X[0;0Y[2XPermCharsTom[102X returns the list of transitive permutation characters from the
table of marks [3Xtom[103X. In the first form, [3Xfus[103X must be the fusion map from the
ordinary character table of the group of [3Xtom[103X to [3Xtom[103X (see [2XFusionCharTableTom[102X
([14X70.11-1[114X)). In the second form, [3Xtbl[103X must be the character table of the group
of which [3Xtom[103X is the table of marks. If the fusion map is not uniquely
determined (see [2XFusionCharTableTom[102X ([14X70.11-1[114X)) then [9Xfail[109X is returned.[133X
[33X[0;0YIf the fusion map [3Xfus[103X is given as first argument then each transitive
permutation character is represented by its values list. If the character
table [3Xtbl[103X is given then the permutation characters are class function
objects (see Chapter [14X72[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XPermCharsTom( a5c, a5 );[127X[104X
[4X[28X[ Character( CharacterTable( "A5" ), [ 60, 0, 0, 0, 0 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 30, 2, 0, 0, 0 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 20, 0, 2, 0, 0 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 15, 3, 0, 0, 0 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 12, 0, 0, 2, 2 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 10, 2, 1, 0, 0 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 6, 2, 0, 1, 1 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 5, 1, 2, 0, 0 ] ), [128X[104X
[4X[28X Character( CharacterTable( "A5" ), [ 1, 1, 1, 1, 1 ] ) ][128X[104X
[4X[25Xgap>[125X [27XPermCharsTom( fus, a5 )[1];[127X[104X
[4X[28X[ 60, 0, 0, 0, 0 ][128X[104X
[4X[32X[104X
[1X70.12 [33X[0;0YGeneric Construction of Tables of Marks[133X[101X
[33X[0;0YThe following three operations construct a table of marks only from the data
given, i.e., without underlying group.[133X
[1X70.12-1 TableOfMarksCyclic[101X
[33X[1;0Y[29X[2XTableOfMarksCyclic[102X( [3Xn[103X ) [32X operation[133X
[33X[0;0Y[2XTableOfMarksCyclic[102X returns the table of marks of the cyclic group of order
[3Xn[103X.[133X
[33X[0;0YA cyclic group of order [3Xn[103X has as its subgroups for each divisor [22Xd[122X of [3Xn[103X a
cyclic subgroup of order [22Xd[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XDisplay( TableOfMarksCyclic( 6 ) );[127X[104X
[4X[28X1: 6[128X[104X
[4X[28X2: 3 3[128X[104X
[4X[28X3: 2 . 2[128X[104X
[4X[28X4: 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[32X[104X
[1X70.12-2 TableOfMarksDihedral[101X
[33X[1;0Y[29X[2XTableOfMarksDihedral[102X( [3Xn[103X ) [32X operation[133X
[33X[0;0Y[2XTableOfMarksDihedral[102X returns the table of marks of the dihedral group of
order [3Xm[103X.[133X
[33X[0;0YFor each divisor [22Xd[122X of [3Xm[103X, a dihedral group of order [22Xm = 2n[122X contains subgroups
of order [22Xd[122X according to the following rule. If [22Xd[122X is odd and divides [22Xn[122X then
there is only one cyclic subgroup of order [22Xd[122X. If [22Xd[122X is even and divides [22Xn[122X
then there are a cyclic subgroup of order [22Xd[122X and two classes of dihedral
subgroups of order [22Xd[122X (which are cyclic, too, in the case [22Xd = 2[122X, see the
example below). Otherwise (i.e., if [22Xd[122X does not divide [22Xn[122X) there is just one
class of dihedral subgroups of order [22Xd[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XDisplay( TableOfMarksDihedral( 12 ) );[127X[104X
[4X[28X 1: 12[128X[104X
[4X[28X 2: 6 6[128X[104X
[4X[28X 3: 6 . 2[128X[104X
[4X[28X 4: 6 . . 2[128X[104X
[4X[28X 5: 4 . . . 4[128X[104X
[4X[28X 6: 3 3 1 1 . 1[128X[104X
[4X[28X 7: 2 2 . . 2 . 2[128X[104X
[4X[28X 8: 2 . 2 . 2 . . 2[128X[104X
[4X[28X 9: 2 . . 2 2 . . . 2[128X[104X
[4X[28X10: 1 1 1 1 1 1 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[32X[104X
[1X70.12-3 TableOfMarksFrobenius[101X
[33X[1;0Y[29X[2XTableOfMarksFrobenius[102X( [3Xp[103X, [3Xq[103X ) [32X operation[133X
[33X[0;0Y[2XTableOfMarksFrobenius[102X computes the table of marks of a Frobenius group of
order [22Xp q[122X, where [22Xp[122X is a prime and [22Xq[122X divides [22Xp-1[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XDisplay( TableOfMarksFrobenius( 5, 4 ) );[127X[104X
[4X[28X1: 20[128X[104X
[4X[28X2: 10 2[128X[104X
[4X[28X3: 5 1 1[128X[104X
[4X[28X4: 4 . . 4[128X[104X
[4X[28X5: 2 2 . 2 2[128X[104X
[4X[28X6: 1 1 1 1 1 1[128X[104X
[4X[28X[128X[104X
[4X[32X[104X
[1X70.13 [33X[0;0YThe Library of Tables of Marks[133X[101X
[33X[0;0YThe [5XGAP[105X package [5XTomLib[105X provides access to several hundred tables of marks of
almost simple groups and their maximal subgroups. If this package is
installed then the tables from this database can be accessed via
[2XTableOfMarks[102X ([14X70.3-1[114X) with argument a string. If also the [5XGAP[105X Character
Table Library is installed and contains the ordinary character table of the
group for which one wants to fetch the table of marks then one can also call
[2XTableOfMarks[102X ([14X70.3-1[114X) with argument the character table.[133X
[33X[0;0YA list of all names of tables of marks that are provided by the [5XTomLib[105X
package can be obtained via [2XAllLibTomNames[102X ([14XTomLib: AllLibTomNames[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xnames:= AllLibTomNames();;[127X[104X
[4X[25Xgap>[125X [27X"A5" in names;[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X