combinat-0.2.10.1: Generate and manipulate various combinatorial objects.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Math.Combinat.Tableaux.Skew

Description

Skew tableaux are skew partitions filled with numbers.

For example:

Synopsis

Basics

newtype SkewTableau a Source #

A skew tableau is represented by a list of offsets and entries

Constructors

SkewTableau [(Int, [a])] 

Instances

Instances details
Functor SkewTableau Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

Methods

fmap :: (a -> b) -> SkewTableau a -> SkewTableau b #

(<$) :: a -> SkewTableau b -> SkewTableau a #

Show a => Show (SkewTableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

Show a => DrawASCII (SkewTableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

Methods

ascii :: SkewTableau a -> ASCII Source #

HasDuality (SkewTableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

HasWeight (SkewTableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

Methods

weight :: SkewTableau a -> Int Source #

Eq a => Eq (SkewTableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

Ord a => Ord (SkewTableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

HasShape (SkewTableau a) SkewPartition Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

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)

asciiSkewTableau' Source #

Arguments

:: 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