Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Skew tableaux are skew partitions filled with numbers.
For example:
Synopsis
- newtype SkewTableau a = SkewTableau [(Int, [a])]
- skewTableauShape :: SkewTableau a -> SkewPartition
- skewTableauWeight :: SkewTableau a -> Int
- dualSkewTableau :: forall a. SkewTableau a -> SkewTableau a
- isSemiStandardSkewTableau :: SkewTableau Int -> Bool
- isStandardSkewTableau :: SkewTableau Int -> Bool
- semiStandardSkewTableaux :: Int -> SkewPartition -> [SkewTableau Int]
- asciiSkewTableau :: Show a => SkewTableau a -> ASCII
- asciiSkewTableau' :: Show a => String -> PartitionConvention -> SkewTableau a -> ASCII
- skewTableauRowWord :: SkewTableau a -> [a]
- skewTableauColumnWord :: SkewTableau a -> [a]
- fillSkewPartitionWithRowWord :: SkewPartition -> [a] -> SkewTableau a
- fillSkewPartitionWithColumnWord :: SkewPartition -> [a] -> SkewTableau a
- skewTableauRowContent :: SkewTableau Int -> Maybe Partition
Basics
newtype SkewTableau a Source #
A skew tableau is represented by a list of offsets and entries
SkewTableau [(Int, [a])] |
Instances
skewTableauShape :: SkewTableau a -> SkewPartition Source #
The shape of a skew tableau
skewTableauWeight :: SkewTableau a -> Int Source #
The weight of a tableau is the weight of its shape, or the number of entries
dualSkewTableau :: forall a. SkewTableau a -> SkewTableau a Source #
The dual of a skew tableau, that is, its mirror image to the main diagonal
Semistandard tableau
isSemiStandardSkewTableau :: SkewTableau Int -> Bool Source #
A tableau is semistandard if its entries are weekly increasing horizontally and strictly increasing vertically
isStandardSkewTableau :: SkewTableau Int -> Bool Source #
A tableau is standard if it is semistandard and its content is exactly [1..n]
,
where n
is the weight.
semiStandardSkewTableaux :: Int -> SkewPartition -> [SkewTableau Int] Source #
All semi-standard skew tableaux filled with the numbers [1..n]
ASCII
asciiSkewTableau :: Show a => SkewTableau a -> ASCII Source #
ASCII drawing of a skew tableau (using the English notation)
:: Show a | |
=> String | string representing the elements of the inner (unfilled) partition |
-> PartitionConvention | orientation |
-> SkewTableau a | |
-> ASCII |
Row / column words
skewTableauRowWord :: SkewTableau a -> [a] Source #
The reversed (right-to-left) rows, concatenated
skewTableauColumnWord :: SkewTableau a -> [a] Source #
The reversed (bottom-to-top) columns, concatenated
fillSkewPartitionWithRowWord :: SkewPartition -> [a] -> SkewTableau a Source #
Fills a skew partition with content, in row word order
fillSkewPartitionWithColumnWord :: SkewPartition -> [a] -> SkewTableau a Source #
Fills a skew partition with content, in column word order
skewTableauRowContent :: SkewTableau Int -> Maybe Partition Source #
If the skew tableau's row word is a lattice word, we can make a partition from its content