Young tableaux and similar gadgets. See e.g. William Fulton: Young Tableaux, with Applications to Representation theory and Geometry (CUP 1997).
The convention is that we use the English notation, and we store the tableaux as lists of the rows.
That is, the following standard tableau of shape [5,4,1]
1 3 4 6 7 2 5 8 10 9
is encoded conveniently as
[ [ 1 , 3 , 4 , 6 , 7 ] , [ 2 , 5 , 8 ,10 ] , [ 9 ] ]
- type Tableau a = [[a]]
- _shape :: Tableau a -> [Int]
- shape :: Tableau a -> Partition
- dualTableau :: Tableau a -> Tableau a
- hooks :: Partition -> Tableau Int
- rowWord :: Tableau a -> [a]
- rowWordToTableau :: Ord a => [a] -> Tableau a
- columnWord :: Tableau a -> [a]
- columnWordToTableau :: Ord a => [a] -> Tableau a
- standardYoungTableaux :: Partition -> [Tableau Int]
- countStandardYoungTableaux :: Partition -> Integer
Basic stuff
dualTableau :: Tableau a -> Tableau aSource
Row and column words
rowWordToTableau :: Ord a => [a] -> Tableau aSource
columnWord :: Tableau a -> [a]Source
columnWordToTableau :: Ord a => [a] -> Tableau aSource
Standard Young tableaux
standardYoungTableaux :: Partition -> [Tableau Int]Source
Standard Young tableaux of a given shape. Adapted from John Stembridge, http://www.math.lsa.umich.edu/~jrs/software/SFexamples/tableaux.
countStandardYoungTableaux :: Partition -> IntegerSource
hook-length formula