This type represents the character table of a symmetric group. It is implemented as a hash table that stores the list of partitions, the size of the table and a matrix which stores the values of the table.
i1 : charTable = characterTable 5 o1 = | 1 1 1 1 1 1 1 | | -1 0 -1 1 0 2 4 | | 0 -1 1 -1 1 1 5 | | 1 0 0 0 -2 0 6 | | 0 1 -1 -1 1 -1 5 | | -1 0 1 1 0 -2 4 | | 1 -1 -1 1 1 -1 1 | o1 : CharacterTable |
i2 : a = new Partition from {3,1,1}; b = new Partition from {1,1,1,1,1} o3 = Partition{1, 1, 1, 1, 1} o3 : Partition |
i4 : peek charTable o4 = CharacterTable{degree => 5 } index => HashTable{Partition{1, 1, 1, 1, 1} => 6} Partition{2, 1, 1, 1} => 5 Partition{2, 2, 1} => 4 Partition{3, 1, 1} => 3 Partition{3, 2} => 2 Partition{4, 1} => 1 Partition{5} => 0 length => 7 values => | 1 1 1 1 1 1 1 | | -1 0 -1 1 0 2 4 | | 0 -1 1 -1 1 1 5 | | 1 0 0 0 -2 0 6 | | 0 1 -1 -1 1 -1 5 | | -1 0 1 1 0 -2 4 | | 1 -1 -1 1 1 -1 1 | |
The object CharacterTable is a type, with ancestor classes MutableHashTable < HashTable < Thing.