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.