Macaulay2 » Documentation
Packages » Tableaux :: Tableaux
next | previous | forward | backward | up | index | toc

Tableaux -- a package for computing with Young tableaux

Description

This package provides the classes YoungTableau, MutableYoungTableau, and Tabloid. These classes can be used to construct (skew) tableaux, and entries in the boxes may be any class. See the constructor's page youngTableau for some basics of this class.

Author

Version

This documentation describes version 0.6 of Tableaux, released January 13, 2026.

Citation

If you have used this package in your research, please cite it as follows:

@misc{TableauxSource,
  title = {{Tableaux: constructing Young tableaux. Version~0.6}},
  author = {John Graf},
  howpublished = {A \emph{Macaulay2} package available at
    \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}}
}

Exports

  • Types
    • MutableYoungTableau -- a type of HashTable representing a Young tableau, with mutable entries
    • Tabloid -- a type of HashTable representing a Young tabloid
    • YoungTableau -- a type of HashTable representing a Young tableau
  • Functions and commands
  • Methods
    • allSemistandardTableaux(List) -- see allSemistandardTableaux -- list all semistandard Young tableaux of a given shape
    • allSemistandardTableaux(Partition) -- see allSemistandardTableaux -- list all semistandard Young tableaux of a given shape
    • allSemistandardTableaux(Partition,Partition) -- see allSemistandardTableaux -- list all semistandard Young tableaux of a given shape
    • allSemistandardTableaux(Partition,Partition,ZZ) -- see allSemistandardTableaux -- list all semistandard Young tableaux of a given shape
    • allSemistandardTableaux(Partition,ZZ) -- see allSemistandardTableaux -- list all semistandard Young tableaux of a given shape
    • allStandardTableaux(Partition) -- see allStandardTableaux -- list all standard Young tableaux of a given shape
    • allSubPartitions(Partition) -- see allSubPartitions -- list all partitions whose Young diagrams are contained in another
    • allSubPartitions(Partition,Partition) -- see allSubPartitions -- list all partitions whose Young diagrams are contained in another
    • allTabloids(Partition) -- see allTabloids -- list all tabloids of a given shape
    • allTabloids(Partition,Partition) -- see allTabloids -- list all tabloids of a given shape
    • applyEntries(YoungTableau,Function) -- see applyEntries -- apply a function to all entries in the tableau
    • applyPositions(YoungTableau,Function) -- see applyPositions -- apply a function to all positions of boxes in a tableau
    • boxContent(ZZ,ZZ) -- see boxContent -- compute the content of a box of a tableau
    • columnEntries(YoungTableau,ZZ) -- see columnEntries -- get the entries in a column
    • columnEntries(ZZ,YoungTableau) -- see columnEntries -- get the entries in a column
    • columnRange(YoungTableau) -- see columnRange -- the range of column indices of a tableau
    • columnStabilizer(YoungTableau) -- see columnStabilizer -- the column stabilizer of a tableau
    • components(YoungTableau) -- get the connected components of a tableau
    • conjugate(YoungTableau) -- conjugate a tableau
    • drawInnerShape(Boolean) -- see drawInnerShape -- option to draw the inner shape of a tableau
    • entries(YoungTableau) -- the filling of a tableau
    • ferrersDiagram(Partition) -- see ferrersDiagram -- a net of the Ferrers diagram
    • ferrersDiagram(Partition,Partition) -- see ferrersDiagram -- a net of the Ferrers diagram
    • ferrersDiagram(YoungTableau) -- see ferrersDiagram -- a net of the Ferrers diagram
    • hookLength(Partition) -- see hookLength -- compute the hook length of a box of a tableau
    • hookLength(Sequence,YoungTableau) -- see hookLength -- compute the hook length of a box of a tableau
    • innerShape(YoungTableau) -- see innerShape -- the inner shape of a (skew) Young tableau
    • isCorner(Sequence,Partition) -- see isCorner -- checks if a box is a corner of a tableau
    • isCorner(Sequence,YoungTableau) -- see isCorner -- checks if a box is a corner of a tableau
    • isNonnegative(Partition) -- see isNonnegative -- check if shapes are nonnegative
    • isNonnegative(Partition,Partition) -- see isNonnegative -- check if shapes are nonnegative
    • isNonnegative(YoungTableau) -- see isNonnegative -- check if shapes are nonnegative
    • isSemistandard(YoungTableau) -- see isSemistandard -- checks if a Young tableau is semistandard
    • isSkew(YoungTableau) -- see isSkew -- checks if a Young tableau is skew
    • isStandard(YoungTableau) -- see isStandard -- checks if a Young tableau is standard
    • isWeaklyDecreasing(Partition) -- see isWeaklyDecreasing -- check if shapes are weakly decreasing
    • isWeaklyDecreasing(Partition,Partition) -- see isWeaklyDecreasing -- check if shapes are weakly decreasing
    • isWeaklyDecreasing(YoungTableau) -- see isWeaklyDecreasing -- check if shapes are weakly decreasing
    • mutableYoungTableau(Partition) -- see mutableYoungTableau -- constructor for type MutableYoungTableau
    • mutableYoungTableau(Partition,List) -- see mutableYoungTableau -- constructor for type MutableYoungTableau
    • mutableYoungTableau(Partition,Partition) -- see mutableYoungTableau -- constructor for type MutableYoungTableau
    • mutableYoungTableau(Partition,Partition,List) -- see mutableYoungTableau -- constructor for type MutableYoungTableau
    • mutableYoungTableau(Sequence,List) -- see mutableYoungTableau -- constructor for type MutableYoungTableau
    • MutableYoungTableau _ Sequence = Thing -- change an entry of a mutable Young tableau
    • numColumns(YoungTableau) -- the number of columns in a tableau
    • numRows(YoungTableau) -- the number of rows in a tableau
    • numSemistandardTableaux(Partition) -- see numSemistandardTableaux -- compute the number of semistandard Young tableaux of a given shape
    • numSemistandardTableaux(Partition,ZZ) -- see numSemistandardTableaux -- compute the number of semistandard Young tableaux of a given shape
    • numStandardTableaux(Partition) -- see numStandardTableaux -- compute the number of standard Young tableaux of a given shape
    • numTabloids(Partition) -- see numTabloids -- compute the number of tabloids of a given shape
    • numTabloids(Partition,Partition) -- see numTabloids -- compute the number of tabloids of a given shape
    • outerShape(YoungTableau) -- see outerShape -- the outer shape of a (skew) Young tableau
    • positionList(YoungTableau) -- see positionList -- get the positions of all the boxes in a tableau
    • positionList(YoungTableau,Function) -- see positionList -- get the positions of all the boxes in a tableau
    • randomSemistandardTableau(Partition) -- see randomSemistandardTableau -- get a random semistandard Young Tableau
    • randomSemistandardTableau(Partition,Partition) -- see randomSemistandardTableau -- get a random semistandard Young Tableau
    • randomSemistandardTableau(Partition,Partition,ZZ) -- see randomSemistandardTableau -- get a random semistandard Young Tableau
    • randomSemistandardTableau(Partition,ZZ) -- see randomSemistandardTableau -- get a random semistandard Young Tableau
    • randomStandardTableau(Partition) -- see randomStandardTableau -- get a random standard Young Tableau
    • randomTabloid(Partition) -- see randomTabloid -- get a random tabloid
    • randomTabloid(Partition,Partition) -- see randomTabloid -- get a random tabloid
    • readingWord(YoungTableau) -- see readingWord -- get the reading word of a tableau
    • representative(Tabloid) -- see representative -- get a canonical representative of a tabloid
    • rowEntries(YoungTableau,ZZ) -- see rowEntries -- get the entries in a row
    • rowEntries(ZZ,YoungTableau) -- see rowEntries -- get the entries in a row
    • rowRange(YoungTableau) -- see rowRange -- the range of row indices of a tableau
    • rowStabilizer(YoungTableau) -- see rowStabilizer -- the row stabilizer of a tableau
    • shape(YoungTableau) -- see shape -- the shape of a Young tableau
    • trim(Partition) -- see shape -- the shape of a Young tableau
    • shift(YoungTableau) -- see shift -- shift a tableau
    • shift(YoungTableau,ZZ) -- see shift -- shift a tableau
    • size(YoungTableau) -- the number of boxes in a tableau
    • pad(Partition,Partition) -- see skewShape -- the shape of a skew tableau
    • skewShape(YoungTableau) -- see skewShape -- the shape of a skew tableau
    • trim(Partition,Partition) -- see skewShape -- the shape of a skew tableau
    • standardize(Partition,Partition) -- see standardize -- standardize the lengths of a pair of partitions
    • tabloid(Partition,List) -- see tabloid -- constructor for type Tabloid
    • tabloid(Partition,Partition,List) -- see tabloid -- constructor for type Tabloid
    • tabloid(Sequence,List) -- see tabloid -- constructor for type Tabloid
    • tabloid(YoungTableau) -- see tabloid -- constructor for type Tabloid
    • Tabloid == Tabloid -- check if two tabloids are equal
    • tex(YoungTableau) -- LaTeX output for a tableau
    • toIndex(Sequence,YoungTableau) -- see toIndex -- get the index of a box, given its position
    • toIndex(YoungTableau,Sequence) -- see toIndex -- get the index of a box, given its position
    • toList(Tabloid) -- list representation of a tabloid
    • toPartitionChain(YoungTableau) -- see toPartitionChain -- decompose a tableau into a chain of partitions
    • toPosition(YoungTableau,ZZ) -- see toPosition -- get the position of a box, given its index
    • toPosition(ZZ,YoungTableau) -- see toPosition -- get the position of a box, given its index
    • unshift(YoungTableau) -- see unshift -- unshift a tableau
    • unshift(YoungTableau,ZZ) -- see unshift -- unshift a tableau
    • verticalConcatenate(List) -- see verticalConcatenate -- vertical concatenation of a list of tableaux
    • youngDiagram(Partition) -- see youngDiagram -- a net of the Young diagram
    • youngDiagram(Partition,Partition) -- see youngDiagram -- a net of the Young diagram
    • youngDiagram(YoungTableau) -- see youngDiagram -- a net of the Young diagram
    • net(YoungTableau) -- see YoungTableau -- a type of HashTable representing a Young tableau
    • youngTableau(Partition) -- see youngTableau -- constructor for type YoungTableau
    • youngTableau(Partition,List) -- see youngTableau -- constructor for type YoungTableau
    • youngTableau(Partition,Partition) -- see youngTableau -- constructor for type YoungTableau
    • youngTableau(Partition,Partition,List) -- see youngTableau -- constructor for type YoungTableau
    • youngTableau(Sequence,List) -- see youngTableau -- constructor for type YoungTableau
    • youngTableau(Tabloid) -- see youngTableau -- constructor for type YoungTableau
    • YoungTableau ++ YoungTableau -- direct sum of tableaux
    • YoungTableau == YoungTableau -- check if two Young tableaux are equal
    • YoungTableau ^ ZZ -- get the entries in a row
    • YoungTableau _ Sequence -- get the entry at a specific position
    • YoungTableau _ ZZ -- get the entries in a column
    • YoungTableau || YoungTableau -- vertical concatenation of two tableaux

For the programmer

The object Tableaux is a package, defined in Tableaux.m2, with auxiliary files in Tableaux/.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/Tableaux/documentation.m2:14:0.