# Partitions, Words and Young Tableaux

- [Introduction](introduction.md)

- [Partitions](partitions.md)

  - [`NumberOfPartitions(n): RngIntElt → RngIntElt`](partitions.md#function-numberofpartitions-rngintelt)

  - [`Partitions(n): RngIntElt → [ [ RngIntElt ] ]`](partitions.md#function-partitions-rngintelt)

  - [`Partitions(n, k): RngIntElt, RngIntElt → [ [ RngIntElt ] ]`](partitions.md#function-partitions-rngintelt-rngintelt)

  - [`RestrictedPartitions(n, M): RngIntElt, SetEnum → [ [ RngIntElt ] ]`](partitions.md#function-restrictedpartitions-rngintelt-setenum)

  - [`RestrictedPartitions(n, k, M): RngIntElt, RngIntElt, SetEnum → [ [ RngIntElt ] ]`](partitions.md#function-restrictedpartitions-rngintelt-rngintelt-setenum)

  - [`WeightedPartitions(n, w): RngIntElt, [ RngIntElt ] → [ [ RngIntElt ] ]`](partitions.md#function-weightedpartitions-rngintelt-rngintelt)

  - [`WeightedRestrictedPartitions(n, S, w): RngIntElt, [ { RngIntElt }], [ RngIntElt ] → [ [ RngIntElt ] ]`](partitions.md#function-weightedrestrictedpartitions-rngintelt-rngintelt-rngintelt)

  - [`IsPartition(S): SeqEnum → BoolElt`](partitions.md#function-ispartition-seqenum)

  - [`RandomPartition(n): RngIntElt → SeqEnum`](partitions.md#function-randompartition-rngintelt)

  - [`Weight(P): SeqEnum → RngIntElt`](partitions.md#function-weight-seqenum)

  - [`IndexOfPartition(P): SeqEnum → RngIntElt`](partitions.md#function-indexofpartition-seqenum)

  - [`Example: Partitions`](partitions.md#example-ex-071b39)

  - [`Example: Restricted Partitions`](partitions.md#example-ex-d58f82)

- [Words](words.md)

  - [Ordered Monoids](words.md#ordered-monoids)

    - [`OrderedMonoid(n): RngIntElt → MonOrd`](words.md#function-orderedmonoid-rngintelt)

    - [`OrderedIntegerMonoid() → MonOrd`](words.md#function-orderedintegermonoid)

    - [`Id(O): MonOrd → MonOrdElt`](words.md#function-id-monord)

    - [`O ! 1: MonOrd, RngInt → MonOrdElt`](words.md#operation-op-monord-rngint)

    - [`O . i: MonOrd, RngIntElt → MonOrdElt`](words.md#operation-operation-monord-rngintelt-monordelt)

    - [`O ! [w₁, ..., wₙ]: MonOrd, [MonOrdElt] → MonOrdElt`](words.md#operation-op-monord-monordelt)

    - [`O ! [i₁, ..., iₙ]: MonOrd, [RngIntElt] → MonOrdElt`](words.md#operation-op-monord-rngintelt)

    - [`w1 eq w2: MonOrdElt, MonOrdElt → BoolElt`](words.md#operation-op-eq-monordelt-monordelt)

    - [`w1 * w2: MonOrdElt, MonOrdElt → MonOrdElt`](words.md#operation-op-times-monordelt-monordelt)

    - [`IsKnuthEquivalent(w1, w2): MonOrdElt, MonOrdElt → BoolElt`](words.md#function-isknuthequivalent-monordelt-monordelt)

    - [`w[i]: MonOrdElt, RngIntElt → RngElt`](words.md#indexed-indexed-w-monordelt-rngintelt-rngelt)

    - [`ElementToSequence(w): MonOrdElt → SeqEnum`](words.md#function-elementtosequence-monordelt)

    - [`Eltseq(w): MonOrdElt → SeqEnum`](words.md#function-eltseq-monordelt)

    - [`Length(w): MonOrdElt → RngIntElt`](words.md#function-length-monordelt)

    - [`# w: MonOrdElt → RngIntElt`](words.md#operation-operation-monordelt-rngintelt)

    - [`Content(w): MonOrdElt → SeqEnum[RngIntElt]`](words.md#function-content-monordelt)

    - [`IsReverseLatticeWord(w): MonOrdElt → BoolElt`](words.md#function-isreverselatticeword-monordelt)

    - [`MaximalIncreasingSequence(w): MonOrdElt → RngIntElt`](words.md#function-maximalincreasingsequence-monordelt)

    - [`MaximalIncreasingSequences(w, k): SeqEnum, RngIntElt → RngIntElt`](words.md#function-maximalincreasingsequences-seqenum-rngintelt)

    - [`Example: OrderedMonoid Creation`](words.md#example-ex-9cc372)

    - [`Example: Orderedmon Fingen`](words.md#example-ex-18b21e)

    - [`Example: OrderedMonoid Longest`](words.md#example-ex-31d600)

  - [Plactic Monoids](words.md#plactic-monoids)

    - [`PlacticMonoid(O): MonOrd → MonOrd`](words.md#function-placticmonoid-monord)

    - [`PlacticIntegerMonoid() → MonOrd`](words.md#function-placticintegermonoid)

    - [`OrderedMonoid(P): MonPlc → MonOrd`](words.md#function-orderedmonoid-monplc)

    - [`Id(P): MonPlc → MonPlcElt`](words.md#function-id-monplc)

    - [`P ! 1: MonPlc, RngIntElt → MonPlcElt`](words.md#operation-op-monplc-rngintelt)

    - [`P . i: MonPlc, RngIntElt → MonPlcElt`](words.md#operation-operation-monplc-rngintelt-monplcelt)

    - [`P ! [u₁, ..., uₙ]: MonPlc, [MonPlcElt] → MonPlcElt`](words.md#operation-op-monplc-monplcelt)

    - [`P ! [i₁, ..., iₙ]: MonPlc, [RngIntElt] → MonPlcElt`](words.md#operation-op-monplc-rngintelt-2)

    - [`P ! w: MonPlc, MonOrdElt → MonPlcElt`](words.md#operation-op-monplc-monordelt)

    - [`P ! [w₁, ..., wₙ]: MonPlc, [MonOrdElt] → MonPlcElt`](words.md#operation-op-monplc-monordelt-2)

    - [`P ! t: MonPlc, Tbl → MonPlcElt`](words.md#operation-op-monplc-tbl)

    - [`u1 eq u2: MonPlcElt, MonPlcElt → BoolElt`](words.md#operation-op-eq-monplcelt-monplcelt)

    - [`u1 * u2: MonPlcElt, MonPlcElt → MonPlcElt`](words.md#operation-op-times-monplcelt-monplcelt)

    - [`Length(u): MonPlcElt → RngIntElt`](words.md#function-length-monplcelt)

    - [`# u: MonPlcElt → RngIntElt`](words.md#operation-operation-monplcelt-rngintelt)

    - [`Content(u): MonPlcElt → SeqEnum[RngIntElt]`](words.md#function-content-monplcelt)

    - [`Example: OrderedMonoid Basic`](words.md#example-ex-0e6aa3)

    - [`Example: OrderedMonoid Fingen`](words.md#example-ex-b4e54f)

- [Tableaux](tableaux.md)

  - [Tableau Monoids](tableaux.md#tableau-monoids)

    - [`TableauMonoid(O): MonOrd → MonTbl`](tableaux.md#function-tableaumonoid-monord)

    - [`TableauMonoid(P): MonPlc → MonTbl`](tableaux.md#function-tableaumonoid-monplc)

    - [`TableauIntegerMonoid() → MonTbl`](tableaux.md#function-tableauintegermonoid)

    - [`OrderedMonoid(M): MonPlc → MonOrd;`](tableaux.md#function-orderedmonoid-monplc-2)

    - [`Example: TabMonoid Standard`](tableaux.md#example-ex-c8d8f5)

    - [`Example: TabMonoid Fingen`](tableaux.md#example-ex-a88070)

  - [Creation of Tableaux](tableaux.md#creation-of-tableaux)

    - [`Tableau(Q): SeqEnum[RngIntElt/2] → Tbl`](tableaux.md#function-tableau-seqenum-rngintelt-2)

    - [`Tableau(Q): SeqEnum[MonOrdElt] → Tbl`](tableaux.md#function-tableau-seqenum-monordelt)

    - [`Tableau(S, Q): SeqEnum[RngIntElt], SeqEnum[RngIntElt/2] → Tbl`](tableaux.md#function-tableau-seqenum-rngintelt-seqenum-rngintelt-2)

    - [`Tableau(S, Q): SeqEnum[RngIntElt], SeqEnum[MonOrdElt] → Tbl`](tableaux.md#function-tableau-seqenum-rngintelt-seqenum-monordelt)

    - [`WordToTableau(w): MonOrdElt → Tbl`](tableaux.md#function-wordtotableau-monordelt)

    - [`WordToTableau(u): MonPlcElt → Tbl`](tableaux.md#function-wordtotableau-monplcelt)

    - [`M ! w: MonTbl, MonOrdElt → Tbl`](tableaux.md#operation-op-montbl-monordelt)

    - [`M ! u: MonTbl, MonPlcElt → Tbl`](tableaux.md#operation-op-montbl-monplcelt)

    - [`M ! [i₁, ..., iₙ]: MonPlc, [MonPlcElt] → MonPlcElt`](tableaux.md#operation-op-monplc-monplcelt-2)

    - [`M ! Q: MonPlc, SeqEnum → MonPlcElt`](tableaux.md#operation-op-monplc-seqenum)

    - [`M ! Q: MonPlc, SeqEnum → MonPlcElt`](tableaux.md#operation-op-monplc-seqenum-2)

    - [`Example: Tabcreate Basic`](tableaux.md#example-ex-2aa4e3)

    - [`Example: Tabcreate Fingen`](tableaux.md#example-ex-53a2a5)

    - [`Example: Tabcreate Bang`](tableaux.md#example-ex-4125d0)

  - [Enumeration of Tableaux](tableaux.md#enumeration-of-tableaux)

    - [`StandardTableaux(P): SeqEnum[RngIntElt] → SetEnum`](tableaux.md#function-standardtableaux-seqenum-rngintelt)

    - [`StandardTableaux(M, P): MonTbl, SeqEnum[RngIntElt] → SetEnum`](tableaux.md#function-standardtableaux-montbl-seqenum-rngintelt)

    - [`StandardTableauxOfWeight(n): RngIntElt → SetEnum`](tableaux.md#function-standardtableauxofweight-rngintelt)

    - [`StandardTableauxOfWeight(M, n): MonTbl, RngIntElt → SetEnum`](tableaux.md#function-standardtableauxofweight-montbl-rngintelt)

    - [`TableauxOfShape(S, m): SeqEnum[RngIntElt], RngIntElt → SetEnum`](tableaux.md#function-tableauxofshape-seqenum-rngintelt-rngintelt)

    - [`TableauxOfShape(M, S, m): MonTbl, SeqEnum[RngIntElt], RngIntElt → SetEnum`](tableaux.md#function-tableauxofshape-montbl-seqenum-rngintelt-rngintelt)

    - [`TableauxOnShapeWithContent(S, C): SeqEnum[RngIntElt], SeqEnum[RngIntElt] → SetEnum`](tableaux.md#function-tableauxonshapewithcontent-seqenum-rngintelt-seqenum-rngintelt)

    - [`TableauxOnShapeWithContent(M, S, C): MonTbl, SeqEnum[RngIntElt], SeqEnum[RngIntElt] → SetEnum`](tableaux.md#function-tableauxonshapewithcontent-montbl-seqenum-rngintelt-seqenum-rngintelt)

    - [`TableauxWithContent(C): SeqEnum[RngIntElt] → SetEnum`](tableaux.md#function-tableauxwithcontent-seqenum-rngintelt)

    - [`TableauxWithContent(M, C): MonTbl, SeqEnum[RngIntElt] → SetEnum`](tableaux.md#function-tableauxwithcontent-montbl-seqenum-rngintelt)

    - [`Example: Mult Tab Create1`](tableaux.md#example-ex-85d504)

    - [`Example: MultTabcreate Fingen`](tableaux.md#example-ex-6d01fb)

  - [Random Tableaux](tableaux.md#random-tableaux)

    - [`RandomHookWalk(P, i, j): SeqEnum[RngIntElt], RngIntElt, RngIntElt → RngIntElt, RngIntElt`](tableaux.md#function-randomhookwalk-seqenum-rngintelt-rngintelt-rngintelt)

    - [`RandomHookWalk(t, i, j): Tbl, RngIntElt, RngIntElt → RngIntElt, RngIntElt`](tableaux.md#function-randomhookwalk-tbl-rngintelt-rngintelt)

    - [`RandomTableau(S): SeqEnum[RngIntElt] → Tbl`](tableaux.md#function-randomtableau-seqenum-rngintelt)

    - [`RandomTableau(M, S): MonTbl, SeqEnum[RngIntElt] → Tbl`](tableaux.md#function-randomtableau-montbl-seqenum-rngintelt)

    - [`RandomTableau(n): RngIntElt → Tbl`](tableaux.md#function-randomtableau-rngintelt)

    - [`RandomTableau(M, n): MonTbl, RngIntElt → Tbl`](tableaux.md#function-randomtableau-montbl-rngintelt)

    - [`Example: Tab Random`](tableaux.md#example-ex-809609)

  - [Basic Access Functions](tableaux.md#basic-access-functions)

    - [`Shape(t): Tbl → SeqEnum[RngIntElt]`](tableaux.md#function-shape-tbl)

    - [`OuterShape(t): Tbl → SeqEnum`](tableaux.md#function-outershape-tbl)

    - [`SkewShape(t): Tbl → SeqEnum[RngIntElt]`](tableaux.md#function-skewshape-tbl)

    - [`InnerShape(t): Tbl → SeqEnum[RngIntElt]`](tableaux.md#function-innershape-tbl)

    - [`PartitionCovers(P1, P2): SeqEnum, SeqEnum → BoolElt`](tableaux.md#function-partitioncovers-seqenum-seqenum)

    - [`ConjugatePartition(P): SeqEnum → SeqEnum`](tableaux.md#function-conjugatepartition-seqenum)

    - [`Weight(t): Tbl → RngIntElt`](tableaux.md#function-weight-tbl)

    - [`SkewWeight(t): Tbl → RngIntElt`](tableaux.md#function-skewweight-tbl)

    - [`NumberOfRows(t): Tbl → RngIntElt`](tableaux.md#function-numberofrows-tbl)

    - [`NumberOfSkewRows(t): Tbl → RngIntElt`](tableaux.md#function-numberofskewrows-tbl)

    - [`Row(t, i): Tbl, RngIntElt → MonOrdElt`](tableaux.md#function-row-tbl-rngintelt)

    - [`Rows(t): Tbl → SeqEnum[MonOrdElt]`](tableaux.md#function-rows-tbl)

    - [`Column(t, j): Tbl, RngIntElt → MonOrdElt`](tableaux.md#function-column-tbl-rngintelt)

    - [`Columns(t): Tbl → SeqEnum[MonOrdElt]`](tableaux.md#function-columns-tbl)

    - [`RowSkewLength(t, i): Tbl, RngIntElt → RngIntElt`](tableaux.md#function-rowskewlength-tbl-rngintelt)

    - [`ColumnSkewLength(t, j): Tbl, RngIntElt → RngIntElt`](tableaux.md#function-columnskewlength-tbl-rngintelt)

    - [`FirstIndexOfRow(t, i): Tbl, RngIntElt → RngIntElt`](tableaux.md#function-firstindexofrow-tbl-rngintelt)

    - [`LastIndexOfRow(t, i): Tbl, RngIntElt → RngIntElt`](tableaux.md#function-lastindexofrow-tbl-rngintelt)

    - [`RowLength(t, i): Tbl, RngIntElt → RngIntElt`](tableaux.md#function-rowlength-tbl-rngintelt)

    - [`FirstIndexOfColumn(t, j): Tbl, RngIntElt → RngIntElt`](tableaux.md#function-firstindexofcolumn-tbl-rngintelt)

    - [`LastIndexOfColumn(t, j): Tbl, RngIntElt → RngIntElt`](tableaux.md#function-lastindexofcolumn-tbl-rngintelt)

    - [`ColumnLength(t, j): Tbl, RngIntElt → RnfIntElt`](tableaux.md#function-columnlength-tbl-rngintelt)

    - [`Example: Tab Access`](tableaux.md#example-ex-ac4145)

  - [Properties](tableaux.md#properties)

    - [`HookLength(t, i, j): Tbl, RngIntElt, RngIntElt → RngIntElt`](tableaux.md#function-hooklength-tbl-rngintelt-rngintelt)

    - [`HookLength(P, i, j): SeqEnum[RngIntElt], RngIntElt, RngIntElt → RngIntElt`](tableaux.md#function-hooklength-seqenum-rngintelt-rngintelt-rngintelt)

    - [`Content(t): Tbl → SeqEnum`](tableaux.md#function-content-tbl)

    - [`Word(t): Tbl → MonOrdElt`](tableaux.md#function-word-tbl)

    - [`RowWord(t): Tbl → MonOrdElt`](tableaux.md#function-rowword-tbl)

    - [`ColumnWord(t): Tbl → SeqEnum`](tableaux.md#function-columnword-tbl)

    - [`IsStandard(t): Tbl → BoolElt`](tableaux.md#function-isstandard-tbl)

    - [`IsSkew(t): Tbl → BoolElt`](tableaux.md#function-isskew-tbl)

    - [`IsLittlewoodRichardson(t): Tbl → BoolElt`](tableaux.md#function-islittlewoodrichardson-tbl)

    - [`Example: Tab Check Standard`](tableaux.md#example-ex-9a2ad2)

    - [`Example: Tab Check Words`](tableaux.md#example-ex-61310d)

  - [Operations](tableaux.md#operations)

    - [`t1 eq t2: MonPlcElt, MonPlcElt → BoolElt`](tableaux.md#operation-op-eq-monplcelt-monplcelt-2)

    - [`t1 * t2: Tbl, Tbl → Tbl`](tableaux.md#operation-op-times-tbl-tbl)

    - [`DiagonalSum(t1, t2): Tbl, Tbl → Tbl`](tableaux.md#function-diagonalsum-tbl-tbl)

    - [`Conjugate(t): Tbl → Tbl`](tableaux.md#function-conjugate-tbl)

    - [`JeuDeTaquin(~t, i, j): Tbl, RngIntElt, RngIntElt`](tableaux.md#function-jeudetaquin-tbl-rngintelt-rngintelt-ref)

    - [`JeuDeTaquin(t, i, j): Tbl, RngIntElt, RngIntElt → Tbl`](tableaux.md#function-jeudetaquin-tbl-rngintelt-rngintelt)

    - [`JeuDeTaquin(~t): Tbl`](tableaux.md#function-jeudetaquin-tbl-ref)

    - [`JeuDeTaquin(t): Tbl → Tbl`](tableaux.md#function-jeudetaquin-tbl)

    - [`Rectify(~t): Tbl`](tableaux.md#function-rectify-tbl-ref)

    - [`Rectify(t): Tbl → Tbl`](tableaux.md#function-rectify-tbl)

    - [`InverseJeuDeTaquin(~t, i, j): Tbl, RngIntElt, RngIntElt`](tableaux.md#function-inversejeudetaquin-tbl-rngintelt-rngintelt-ref)

    - [`InverseJeuDeTaquin(t, i, j): Tbl, RngIntElt, RngIntElt → Tbl`](tableaux.md#function-inversejeudetaquin-tbl-rngintelt-rngintelt)

    - [`RowInsert(~t, w): Tbl, MonOrdElt`](tableaux.md#function-rowinsert-tbl-monordelt-ref)

    - [`RowInsert(t, w): Tbl, MonOrdElt → Tbl`](tableaux.md#function-rowinsert-tbl-monordelt)

    - [`RowInsert(~t, u): Tbl, MonPlcElt`](tableaux.md#function-rowinsert-tbl-monplcelt-ref)

    - [`RowInsert(t, u): Tbl, MonPlcElt → Tbl`](tableaux.md#function-rowinsert-tbl-monplcelt)

    - [`RowInsert(~t, x): Tbl, RngIntElt`](tableaux.md#function-rowinsert-tbl-rngintelt-ref)

    - [`RowInsert(t, x): Tbl, RngIntElt → Tbl`](tableaux.md#function-rowinsert-tbl-rngintelt)

    - [`InverseRowInsert(~t, i, j): Tbl, RngIntElt, RngIntElt`](tableaux.md#function-inverserowinsert-tbl-rngintelt-rngintelt-ref)

    - [`InverseRowInsert(t, i, j): Tbl, RngIntElt, RngIntElt → Tbl, MonOrdElt`](tableaux.md#function-inverserowinsert-tbl-rngintelt-rngintelt)

    - [`Example: Tab Jeu`](tableaux.md#example-ex-00f593)

    - [`Example: Tab Comp Mult`](tableaux.md#example-ex-3dbdc0)

  - [The Robinson-Schensted-Knuth Correspondence](tableaux.md#the-robinson-schensted-knuth-correspondence)

    - [`LexicographicalOrdering(~w1, ~w2): MonOrdElt, MonOrdElt`](tableaux.md#function-lexicographicalordering-monordelt-monordelt-ref)

    - [`LexicographicalOrdering(w1, w2): MonOrdElt, MonOrdElt → MonOrdElt, MonOrdElt`](tableaux.md#function-lexicographicalordering-monordelt-monordelt)

    - [`IsLexicographicallyOrdered(w1, w2): MonOrdElt, MonOrdElt → boolean`](tableaux.md#function-islexicographicallyordered-monordelt-monordelt)

    - [`RSKCorrespondence(w): SeqEnum[RngIntElt] → Tbl, Tbl`](tableaux.md#function-rskcorrespondence-seqenum-rngintelt)

    - [`InverseRSKCorrespondenceSingleWord(t1, t2): Tbl, Tbl → MonOrdElt`](tableaux.md#function-inverserskcorrespondencesingleword-tbl-tbl)

    - [`RSKCorrespondence(w1, w2): SeqEnum[RngIntElt], SeqEnum[RngIntElt] → Tbl, Tbl`](tableaux.md#function-rskcorrespondence-seqenum-rngintelt-seqenum-rngintelt)

    - [`InverseRSKCorrespondenceDoubleWord(t1, t2): Tbl, Tbl → MonOrdElt, MonOrdElt`](tableaux.md#function-inverserskcorrespondencedoubleword-tbl-tbl)

    - [`RSKCorrespondence(M): Mtrx → Tbl, Tbl`](tableaux.md#function-rskcorrespondence-mtrx)

    - [`InverseRSKCorrespondenceMatrix(t1, t2): Tbl, Tbl → Mat`](tableaux.md#function-inverserskcorrespondencematrix-tbl-tbl)

    - [`Example: RSK Singleword`](tableaux.md#example-ex-195c23)

    - [`Example: RSK Doubleword`](tableaux.md#example-ex-af7728)

    - [`Example: RSK Matrix`](tableaux.md#example-ex-379af5)

    - [`Example: RSK Perms`](tableaux.md#example-ex-48940b)

  - [Counting Tableaux](tableaux.md#counting-tableaux)

    - [`NumberOfStandardTableaux(P): SeqEnum → RngIntElt`](tableaux.md#function-numberofstandardtableaux-seqenum)

    - [`NumberOfStandardTableauxOnWeight(n): RngIntElt → RngIntElt`](tableaux.md#function-numberofstandardtableauxonweight-rngintelt)

    - [`NumberOfTableauxOnAlphabet(P, m): SeqEnum, RngIntElt → RngIntElt`](tableaux.md#function-numberoftableauxonalphabet-seqenum-rngintelt)

    - [`KostkaNumber(S, C): SeqEnum[RngIntElt], SeqEnum[RngIntElt] → RngIntElt`](tableaux.md#function-kostkanumber-seqenum-rngintelt-seqenum-rngintelt)

    - [`Example: Count Standard Tab`](tableaux.md#example-ex-d0a453)

    - [`Example: CountTabAlph Binomial`](tableaux.md#example-ex-3167f1)
