SortCharTable( tbl, kernel )
SortCharTable( tbl, normalseries )
SortCharTable( tbl, facttbl, kernel )
sorts classes and irreducibles of the character table tbl,
and returns a record with components columns and rows,
which are the permutations applied to classes and characters.
The first form sorts the classes at positions contained in the list kernel
to the beginning, and sorts all characters in tbl.irreducibles
such that the first characters are those that contain kernel in
their kernel.
The second form does the same successively for all kernels k_i in
the list normalseries = [ k_1, k_2, ldots,
k_n ] where k_i must be a sublist of k_(i+1) for 1
leqi leqn-1.
The third form computes the table F of the factor group of tbl
modulo the normal subgroup formed by the classes whose positions are
contained in the list kernel; F must be permutation
equivalent to the table facttbl (in the sense of
TransformingPermutationsCharTables), else false is returned. The
classes of tbl are sorted such that the preimages of a class of
F are consecutive, and that the succession of preimages is that of
facttbl. tbl.irreducibles is sorted as by
SortCharTable( tbl, kernel ). (Note
that the transformation is only unique up to table automorphisms of F,
and this need not be unique up to table automorphisms of tbl.)
All rearrangements of classes and characters are stable, i.e., the relative positions of classes and characters that are not distinguished by any relevant property is not changed.
SortCharTable uses SortClassesCharTable SortClassesCharTable
and SortCharactersCharTable SortCharactersCharTable.
gap> t:= CharTable("Symmetric",4);;
gap> Set( List( t.irreducibles, KernelChar ) );
[ [ 1 ], [ 1, 2, 3, 4, 5 ], [ 1, 3 ], [ 1, 3, 4 ] ]
gap> SortCharTable( t, Permuted( last, (2,4,3) ) );
rec(
columns := (2,4,3),
rows := (1,2,4,5) )
gap> DisplayCharTable( t );
S4
2 3 3 . 2 2
3 1 . 1 . .
1a 2a 3a 2b 4a
2P 1a 1a 3a 1a 2a
3P 1a 2a 1a 2b 4a
X.1 1 1 1 1 1
X.2 1 1 1 -1 -1
X.3 2 2 -1 . .
X.4 3 -1 . -1 1
X.5 3 -1 . 1 -1