For a character table with underlying group (see UnderlyingGroup),
the interface between table and group consists of three attribute values,
namely the group, the conjugacy classes stored in the table
(see ConjugacyClasses below)
and the identification of the conjugacy classes of table and group
(see IdentificationOfConjugacyClasses below).
Character tables constructed from groups know these values upon construction, and for character tables constructed without groups, these values are usually not known and cannot be computed from the table.
However, given a group G and a character table of a group isomorphic to G (for example a character table from the GAP table library), one can tell GAP to use the given table as the character table of G (see ConnectGroupAndCharacterTable).
Tasks may be delegated from a group to its character table or vice versa only if these three attribute values are stored in the character table.
UnderlyingGroup( ordtbl ) A
For an ordinary character table ordtbl of a finite group,
the group can be stored as value of UnderlyingGroup.
Brauer tables do not store the underlying group, they access it via the ordinary table (see OrdinaryCharacterTable).
ConjugacyClasses( tbl ) A
For a character table tbl with known underlying group G,
the ConjugacyClasses value of tbl is a list of conjugacy classes of
G.
All those lists stored in the table that are related to the orderering
of conjugacy classes (such as sizes of centralizers and conjugacy
classes, orders of representatives, power maps, and all class functions)
refer to the ordering of this list.
This ordering need not coincide with the ordering of conjugacy classes as stored in the underlying group of the table (see Sorted Character Tables). One reason for this is that otherwise we would not be allowed to use a library table as the character table of a group for which the conjugacy classes are stored already. (Another, less important reason is that we can use the same group as underlying group of character tables that differ only w.r.t. the ordering of classes.)
The class of the identity element must be the first class (see Conventions for Character Tables).
If tbl was constructed from G then the conjugacy classes have been
stored at the same time when G was stored.
If G and tbl were connected later than in the construction of tbl,
the recommended way to do this is via ConnectGroupAndCharacterTable
(see ConnectGroupAndCharacterTable).
So there is no method for ConjugacyClasses that computes the value for
tbl if it is not yet stored.
Brauer tables do not store the ( p-regular) conjugacy classes, they access them via the ordinary table (see OrdinaryCharacterTable) if necessary.
IdentificationOfConjugacyClasses( tbl ) A
For an ordinary character table tbl with known underlying group G,
IdentificationOfConjugacyClasses returns a list of positive integers
that contains at position i the position of the i-th conjugacy class
of tbl in the list ConjugacyClasses( G ).
gap> g:= SymmetricGroup( 4 );; gap> repres:= [ (1,2), (1,2,3), (1,2,3,4), (1,2)(3,4), () ];; gap> ccl:= List( repres, x -> ConjugacyClass( g, x ) );; gap> SetConjugacyClasses( g, ccl ); gap> tbl:= CharacterTable( g );; # the table stores already the values gap> HasConjugacyClasses( tbl ); HasUnderlyingGroup( tbl ); true true gap> UnderlyingGroup( tbl ) = g; true gap> HasIdentificationOfConjugacyClasses( tbl ); true gap> IdentificationOfConjugacyClasses( tbl ); [ 5, 1, 2, 3, 4 ]
ConnectGroupAndCharacterTable( G, tbl[, arec] ) F
ConnectGroupAndCharacterTable( G, tbl, bijection ) F
Let G be a group and tbl a character table of (a group isomorphic to)
G, such that G does not store its OrdinaryCharacterTable value
and tbl does not store its UnderlyingGroup value.
ConnectGroupAndCharacterTable calls CompatibleConjugacyClasses,
trying to identify the classes of G with the columns of tbl.
If this identification is unique up to automorphisms of tbl
(see AutomorphismsOfTable) then tbl is stored as CharacterTable
value of G,
in tbl the values of UnderlyingGroup, ConjugacyClasses, and
IdentificationOfConjugacyClasses are set,
and true is returned.
Otherwise, i.e., if GAP cannot identify the classes of G up to
automorphisms of G, false is returned.
If a record arec is present as third argument, its meaning is the
same as for CompatibleConjugacyClasses
(see CompatibleConjugacyClasses).
If a list bijection is entered as third argument,
it is used as value of IdentificationOfConjugacyClasses,
relative to ConjugacyClasses( G ),
without further checking, and true is returned.
CompatibleConjugacyClasses( G, ccl, tbl[, arec] ) O
CompatibleConjugacyClasses( tbl[, arec] ) O
In the first form, ccl must be a list of the conjugacy classes of the
group G, and tbl the ordinary character table of G.
Then CompatibleConjugacyClasses returns a list l of positive integers
that describes an identification of the columns of tbl with the
conjugacy classes ccl in the sense that l[i] is the position in ccl
of the class corresponding to the i-th column of tbl,
if this identification is unique up to automorphisms of tbl
(see AutomorphismsOfTable);
if GAP cannot identify the classes, fail is returned.
In the second form, tbl must be an ordinary character table, and
CompatibleConjugacyClasses checks whether the columns of tbl can be
identified with the conjugacy classes of a group isomorphic to that for
which tbl is the character table;
the return value is a list of all those sets of class positions for which
the columns of tbl cannot be distinguished with the invariants used,
up to automorphisms of tbl.
So the identification is unique if and only if the returned list is
empty.
The usual approach is that one first calls CompatibleConjugacyClasses
in the second form for checking quickly whether the first form will be
successful, and only if this is the case the more time consuming
calculations with both group and character table are done.
The following invariants are used.
If the optional argument arec is present then it must be a record.
Its components describe additional information for the class
identification.
If G is a permutation group or matrix group and the
component natchar is bound in arec then its value is regarded as the
list of values of the natural character (see NaturalCharacter) of G,
w.r.t. the ordering of classes in tbl.
gap> g:= AlternatingGroup( 5 ); Alt( [ 1 .. 5 ] ) gap> tbl:= CharacterTable( "A5" ); CharacterTable( "A5" ) gap> HasUnderlyingGroup( tbl ); HasOrdinaryCharacterTable( g ); false false gap> CompatibleConjugacyClasses( tbl ); # unique identification [ ] gap> ConnectGroupAndCharacterTable( g, tbl ); true gap> HasConjugacyClasses( tbl ); HasUnderlyingGroup( tbl ); true true gap> IdentificationOfConjugacyClasses( tbl ); [ 1, 2, 3, 4, 5 ] gap> # Here is an example where the identification is not unique. gap> CompatibleConjugacyClasses( CharacterTable( "J2" ) ); [ [ 17, 18 ], [ 9, 10 ] ]
[Top] [Previous] [Up] [Next] [Index]
GAP 4 manual