Safe Haskell | None |
---|---|
Language | Haskell2010 |
Skew tableaux are skew partitions filled with numbers.
For example:
- 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])] |
Functor SkewTableau Source | |
Eq a => Eq (SkewTableau a) Source | |
Ord a => Ord (SkewTableau a) Source | |
Show a => Show (SkewTableau a) Source | |
HasDuality (SkewTableau a) Source | |
HasWeight (SkewTableau a) Source | |
Show a => DrawASCII (SkewTableau a) Source | |
HasShape (SkewTableau a) SkewPartition Source |
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