combinat-0.2.4.1: Generation of various combinatorial objects.Source codeContentsIndex
Math.Combinat.Tableaux
Contents
Basic stuff
Row and column words
Standard Young tableaux
Semistandard Young tableaux
Description

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 ]
 ]
Synopsis
type Tableau a = [[a]]
_shape :: Tableau a -> [Int]
shape :: Tableau a -> Partition
dualTableau :: Tableau a -> Tableau a
content :: Tableau a -> [a]
hooks :: Partition -> Tableau (Int, Int)
hookLengths :: 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
semiStandardYoungTableaux :: Int -> Partition -> [Tableau Int]
countSemiStandardYoungTableaux :: Int -> Partition -> Integer
Basic stuff
type Tableau a = [[a]]Source
_shape :: Tableau a -> [Int]Source
shape :: Tableau a -> PartitionSource
dualTableau :: Tableau a -> Tableau aSource
content :: Tableau a -> [a]Source
hooks :: Partition -> Tableau (Int, Int)Source

An element (i,j) of the resulting tableau (which has shape of the given partition) means that the vertical part of the hook has length i, and the horizontal part j. The hook length is thus i+j-1.

Example:

 > mapM_ print $ hooks $ toPartition [5,4,1]
 [(3,5),(2,4),(2,3),(2,2),(1,1)]
 [(2,4),(1,3),(1,2),(1,1)]
 [(1,1)]
hookLengths :: Partition -> Tableau IntSource
Row and column words
rowWord :: Tableau a -> [a]Source
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
Semistandard Young tableaux
semiStandardYoungTableaux :: Int -> Partition -> [Tableau Int]Source
Semistandard Young tableaux of given shape, "naive" algorithm
countSemiStandardYoungTableaux :: Int -> Partition -> IntegerSource
Stanley's hook formula (cf. Fulton page 55)
Produced by Haddock version 2.6.1