Partitions, Words and Young Tableaux
- Introduction
- Partitions
NumberOfPartitions(n): RngIntElt → RngIntElt
Partitions(n): RngIntElt → [ [ RngIntElt ] ]
Partitions(n, k): RngIntElt, RngIntElt → [ [ RngIntElt ] ]
RestrictedPartitions(n, M): RngIntElt, SetEnum → [ [ RngIntElt ] ]
RestrictedPartitions(n, k, M): RngIntElt, RngIntElt, SetEnum → [ [ RngIntElt ] ]
WeightedPartitions(n, w): RngIntElt, [ RngIntElt ] → [ [ RngIntElt ] ]
WeightedRestrictedPartitions(n, S, w): RngIntElt, [ { RngIntElt }], [ RngIntElt ] → [ [ RngIntElt ] ]
IsPartition(S): SeqEnum → BoolElt
RandomPartition(n): RngIntElt → SeqEnum
Weight(P): SeqEnum → RngIntElt
IndexOfPartition(P): SeqEnum → RngIntElt
Example: Partitions
Example: Restricted Partitions
- Words
- Ordered Monoids
OrderedMonoid(n): RngIntElt → MonOrd
OrderedIntegerMonoid() → MonOrd
Id(O): MonOrd → MonOrdElt
O ! 1: MonOrd, RngInt → MonOrdElt
O . i: MonOrd, RngIntElt → MonOrdElt
O ! [w₁, ..., wₙ]: MonOrd, [MonOrdElt] → MonOrdElt
O ! [i₁, ..., iₙ]: MonOrd, [RngIntElt] → MonOrdElt
w1 eq w2: MonOrdElt, MonOrdElt → BoolElt
w1 * w2: MonOrdElt, MonOrdElt → MonOrdElt
IsKnuthEquivalent(w1, w2): MonOrdElt, MonOrdElt → BoolElt
w[i]: MonOrdElt, RngIntElt → RngElt
ElementToSequence(w): MonOrdElt → SeqEnum
Eltseq(w): MonOrdElt → SeqEnum
Length(w): MonOrdElt → RngIntElt
# w: MonOrdElt → RngIntElt
Content(w): MonOrdElt → SeqEnum[RngIntElt]
IsReverseLatticeWord(w): MonOrdElt → BoolElt
MaximalIncreasingSequence(w): MonOrdElt → RngIntElt
MaximalIncreasingSequences(w, k): SeqEnum, RngIntElt → RngIntElt
Example: OrderedMonoid Creation
Example: Orderedmon Fingen
Example: OrderedMonoid Longest
- Plactic Monoids
PlacticMonoid(O): MonOrd → MonOrd
PlacticIntegerMonoid() → MonOrd
OrderedMonoid(P): MonPlc → MonOrd
Id(P): MonPlc → MonPlcElt
P ! 1: MonPlc, RngIntElt → MonPlcElt
P . i: MonPlc, RngIntElt → MonPlcElt
P ! [u₁, ..., uₙ]: MonPlc, [MonPlcElt] → MonPlcElt
P ! [i₁, ..., iₙ]: MonPlc, [RngIntElt] → MonPlcElt
P ! w: MonPlc, MonOrdElt → MonPlcElt
P ! [w₁, ..., wₙ]: MonPlc, [MonOrdElt] → MonPlcElt
P ! t: MonPlc, Tbl → MonPlcElt
u1 eq u2: MonPlcElt, MonPlcElt → BoolElt
u1 * u2: MonPlcElt, MonPlcElt → MonPlcElt
Length(u): MonPlcElt → RngIntElt
# u: MonPlcElt → RngIntElt
Content(u): MonPlcElt → SeqEnum[RngIntElt]
Example: OrderedMonoid Basic
Example: OrderedMonoid Fingen
- Tableaux
- Tableau Monoids
- Creation of Tableaux
Tableau(Q): SeqEnum[RngIntElt/2] → Tbl
Tableau(Q): SeqEnum[MonOrdElt] → Tbl
Tableau(S, Q): SeqEnum[RngIntElt], SeqEnum[RngIntElt/2] → Tbl
Tableau(S, Q): SeqEnum[RngIntElt], SeqEnum[MonOrdElt] → Tbl
WordToTableau(w): MonOrdElt → Tbl
WordToTableau(u): MonPlcElt → Tbl
M ! w: MonTbl, MonOrdElt → Tbl
M ! u: MonTbl, MonPlcElt → Tbl
M ! [i₁, ..., iₙ]: MonPlc, [MonPlcElt] → MonPlcElt
M ! Q: MonPlc, SeqEnum → MonPlcElt
M ! Q: MonPlc, SeqEnum → MonPlcElt
Example: Tabcreate Basic
Example: Tabcreate Fingen
Example: Tabcreate Bang
- Enumeration of Tableaux
StandardTableaux(P): SeqEnum[RngIntElt] → SetEnum
StandardTableaux(M, P): MonTbl, SeqEnum[RngIntElt] → SetEnum
StandardTableauxOfWeight(n): RngIntElt → SetEnum
StandardTableauxOfWeight(M, n): MonTbl, RngIntElt → SetEnum
TableauxOfShape(S, m): SeqEnum[RngIntElt], RngIntElt → SetEnum
TableauxOfShape(M, S, m): MonTbl, SeqEnum[RngIntElt], RngIntElt → SetEnum
TableauxOnShapeWithContent(S, C): SeqEnum[RngIntElt], SeqEnum[RngIntElt] → SetEnum
TableauxOnShapeWithContent(M, S, C): MonTbl, SeqEnum[RngIntElt], SeqEnum[RngIntElt] → SetEnum
TableauxWithContent(C): SeqEnum[RngIntElt] → SetEnum
TableauxWithContent(M, C): MonTbl, SeqEnum[RngIntElt] → SetEnum
Example: Mult Tab Create1
Example: MultTabcreate Fingen
- Random Tableaux
RandomHookWalk(P, i, j): SeqEnum[RngIntElt], RngIntElt, RngIntElt → RngIntElt, RngIntElt
RandomHookWalk(t, i, j): Tbl, RngIntElt, RngIntElt → RngIntElt, RngIntElt
RandomTableau(S): SeqEnum[RngIntElt] → Tbl
RandomTableau(M, S): MonTbl, SeqEnum[RngIntElt] → Tbl
RandomTableau(n): RngIntElt → Tbl
RandomTableau(M, n): MonTbl, RngIntElt → Tbl
Example: Tab Random
- Basic Access Functions
Shape(t): Tbl → SeqEnum[RngIntElt]
OuterShape(t): Tbl → SeqEnum
SkewShape(t): Tbl → SeqEnum[RngIntElt]
InnerShape(t): Tbl → SeqEnum[RngIntElt]
PartitionCovers(P1, P2): SeqEnum, SeqEnum → BoolElt
ConjugatePartition(P): SeqEnum → SeqEnum
Weight(t): Tbl → RngIntElt
SkewWeight(t): Tbl → RngIntElt
NumberOfRows(t): Tbl → RngIntElt
NumberOfSkewRows(t): Tbl → RngIntElt
Row(t, i): Tbl, RngIntElt → MonOrdElt
Rows(t): Tbl → SeqEnum[MonOrdElt]
Column(t, j): Tbl, RngIntElt → MonOrdElt
Columns(t): Tbl → SeqEnum[MonOrdElt]
RowSkewLength(t, i): Tbl, RngIntElt → RngIntElt
ColumnSkewLength(t, j): Tbl, RngIntElt → RngIntElt
FirstIndexOfRow(t, i): Tbl, RngIntElt → RngIntElt
LastIndexOfRow(t, i): Tbl, RngIntElt → RngIntElt
RowLength(t, i): Tbl, RngIntElt → RngIntElt
FirstIndexOfColumn(t, j): Tbl, RngIntElt → RngIntElt
LastIndexOfColumn(t, j): Tbl, RngIntElt → RngIntElt
ColumnLength(t, j): Tbl, RngIntElt → RnfIntElt
Example: Tab Access
- Properties
- Operations
t1 eq t2: MonPlcElt, MonPlcElt → BoolElt
t1 * t2: Tbl, Tbl → Tbl
DiagonalSum(t1, t2): Tbl, Tbl → Tbl
Conjugate(t): Tbl → Tbl
JeuDeTaquin(~t, i, j): Tbl, RngIntElt, RngIntElt
JeuDeTaquin(t, i, j): Tbl, RngIntElt, RngIntElt → Tbl
JeuDeTaquin(~t): Tbl
JeuDeTaquin(t): Tbl → Tbl
Rectify(~t): Tbl
Rectify(t): Tbl → Tbl
InverseJeuDeTaquin(~t, i, j): Tbl, RngIntElt, RngIntElt
InverseJeuDeTaquin(t, i, j): Tbl, RngIntElt, RngIntElt → Tbl
RowInsert(~t, w): Tbl, MonOrdElt
RowInsert(t, w): Tbl, MonOrdElt → Tbl
RowInsert(~t, u): Tbl, MonPlcElt
RowInsert(t, u): Tbl, MonPlcElt → Tbl
RowInsert(~t, x): Tbl, RngIntElt
RowInsert(t, x): Tbl, RngIntElt → Tbl
InverseRowInsert(~t, i, j): Tbl, RngIntElt, RngIntElt
InverseRowInsert(t, i, j): Tbl, RngIntElt, RngIntElt → Tbl, MonOrdElt
Example: Tab Jeu
Example: Tab Comp Mult
- The Robinson-Schensted-Knuth Correspondence
LexicographicalOrdering(~w1, ~w2): MonOrdElt, MonOrdElt
LexicographicalOrdering(w1, w2): MonOrdElt, MonOrdElt → MonOrdElt, MonOrdElt
IsLexicographicallyOrdered(w1, w2): MonOrdElt, MonOrdElt → boolean
RSKCorrespondence(w): SeqEnum[RngIntElt] → Tbl, Tbl
InverseRSKCorrespondenceSingleWord(t1, t2): Tbl, Tbl → MonOrdElt
RSKCorrespondence(w1, w2): SeqEnum[RngIntElt], SeqEnum[RngIntElt] → Tbl, Tbl
InverseRSKCorrespondenceDoubleWord(t1, t2): Tbl, Tbl → MonOrdElt, MonOrdElt
RSKCorrespondence(M): Mtrx → Tbl, Tbl
InverseRSKCorrespondenceMatrix(t1, t2): Tbl, Tbl → Mat
Example: RSK Singleword
Example: RSK Doubleword
Example: RSK Matrix
Example: RSK Perms
- Counting Tableaux