Skip to content

SytTwoRow ​

A name from the enumeratio catalogue with no kernel of its own yet; this page carries its crosswalk only.

Catalogued in the enumeratio database, with crosswalk rows in oeis, sage; not yet written up here.

SytTwoRow(...)Catalogued in the enumeratio database, with crosswalk rows in oeis, sage; not yet written up here.
Typed signatures
TypePackageApplies
(integer<0..>) -> indexed_collection<standard_tableau>combinatoricsalways

Domain: Combinatorics

Definition

Epsil, as the implementation runs it.

count(_n)

_tables[_n * (_n + 1) + 0 + 1]

unrank(_n, _r)

Apply(
       (tw: list<integer>) => [
                                Filter(Range(1, _n, 1), Function(tw[w] == 1, w)),
                                Filter(Range(1, _n, 1), Function(tw[w] == 2, w)),
                              ],
       Drop(Fold(Function(Apply(
                                 (tu: integer) => Join(
                                                        [ts[1], ts[2] + 1],
                                                        Drop(ts, 2),
                                                        [1],
                                                      ) if ts[1] < tu else Join(
                                                                                [
                                                                                  ts[1] - tu,
                                                                                  ts[2] - 1,
                                                                                ],
                                                                                Drop(ts, 2),
                                                                                [2],
                                                                              ),
                                 _tables[(_n - ti) * (_n + 1) + ts[2] + 1 + 1],
                               ), ts, ti), [_r, 0], Range(1, _n, 1)), 2),
     )

rank(_n, _x)

Fold(Function(
               [rs[1], rs[2] + 1] if Fold(
                                           Function(
                                                     mo || _x[1][mj] == ri,
                                                     mo,
                                                     mj,
                                                   ),
                                           False,
                                           Range(1, Length(_x[1]), 1),
                                         ) else [rs[1] + _tables[(_n - ri) * (_n +
                                                                             1) +
                                                                rs[2] + 1 + 1], rs[2] - 1],
               rs,
               ri,
             ), [0, 0], Range(1, _n, 1))[1]

valid(_n, _x)

Length(_x) == 2 && Length(_x[1]) + Length(_x[2]) == _n && Length(_x[1]) >=
                                                          Length(_x[2]) && Fold(
                                                                    Function(ok_ja &&
                                                                             1 <=
                                                                             _x[1][ja] &&
                                                                             _x[1][ja] <=
                                                                             _n, ok_ja, ja),
                                                                    True,
                                                                    Range(
                                                                           1,
                                                                           Length(_x[1]),
                                                                           1,
                                                                         ),
                                                                  ) && Fold(
                                                                            Function(ok_jb &&
                                                                                     1 <= _x[2][jb] &&
                                                                                     _x[2][jb] <= _n, ok_jb, jb),
                                                                            True,
                                                                            Range(1, Length(_x[2]), 1),
                                                                          ) &&
Fold(
      Function(ok_ka && _x[1][ka - 1] < _x[1][ka], ok_ka, ka),
      True,
      Range(2, Length(_x[1]), 1),
    ) && Fold(
              Function(ok_kb && _x[2][kb - 1] < _x[2][kb], ok_kb, kb),
              True,
              Range(2, Length(_x[2]), 1),
            ) && Fold(
                      Function(ok_jc && _x[1][jc] < _x[2][jc], ok_jc, jc),
                      True,
                      Range(1, Length(_x[2]), 1),
                    ) && Fold(
                              Function(ok_je && Fold(
                                                      Function(
                                                                ok_kd && _x[1][je] !=
                                                                         _x[2][kd],
                                                                ok_kd,
                                                                kd,
                                                              ),
                                                      True,
                                                      Range(1, Length(_x[2]), 1),
                                                    ), ok_je, je),
                              True,
                              Range(1, Length(_x[1]), 1),
                            )

tables(_n)

Fold(
      Function(Join(
                     sy_t,
                     Fold(
                           Function(
                                     ReplaceAt(
                                                sy_row,
                                                sy_c + 1,
                                                (sy_t[(sy_s - 1) * (_n + 1) +
                                                      sy_c + 1 + 1] if sy_c + 1 < _n + 1 else 0) +
                                                (sy_t[(sy_s - 1) * (_n + 1) +
                                                      (sy_c - 1) + 1] if sy_c > 0 else 0),
                                              ),
                                     sy_row,
                                     sy_c,
                                   ),
                           Map(Function(0, sy_z), Range(0, _n + 1 - 1, 1)),
                           Range(0, _n + 1 - 1, 1),
                         ),
                   ), sy_t, sy_s),
      Fold(
            Function(ReplaceAt(sy_row, sy_c + 1, 1), sy_row, sy_c),
            Map(Function(0, sy_z), Range(0, _n + 1 - 1, 1)),
            Range(0, _n + 1 - 1, 1),
          ),
      Range(1, _n + 1 - 1, 1),
    )

Statistics

On StandardTableau, called as CombinatorialStat(x, "Name").

Maps

Into and out of StandardTableau, called as CombinatorialMap(x, "Name"). Properties are the laws we state and what FindStat records.

From StandardTableau

  • CatabolismStandardTableau → StandardTableauGraded mapMp00106Remove the first row and column-insert its entries back into the rest, largest first.
  • EvacuationStandardTableau → StandardTableauinvolutionBijectionGraded mapInvolutionMp00085Schützenberger's evacuation (involution): remove the entry 1, slide the rest in, and give the cell that empties the largest label, until nothing is left.
  • InverseTableauPromotionStandardTableau → StandardTableauinverseBijectionGraded mapMp00153Inverse promotion: replace the entry 1 by n + 1, slide it out to the rim, and subtract one from every entry.
  • PeakCompositionStandardTableau → IntegerCompositionGraded mapMp00294The composition cut at the peaks: entries i that are descents after an ascent.
  • ReadingWordStandardTableau → PermutationInjectionGraded mapMp00081The rows read left to right, from the bottom row up, as a permutation.
  • RowDescentsToColumnDescentsStandardTableau → StandardTableaubijectionBijectionGraded mapMp00226A standard tableau of the same shape whose column descents are the original's row descents.
  • RowSetPartitionStandardTableau → SetPartitionInjectionGraded mapMp00284The set partition whose blocks are the rows of the tableau.
  • TableauDescentWordStandardTableau → BinaryWordsurjectionSurjectionGraded mapMp00134Letter i is 1 when entry i + 1 sits in a lower row than entry i.
  • TableauPromotionStandardTableau → StandardTableauinverseBijectionGraded mapMp00155Promotion: replace the largest entry by a hole, slide it to the corner at the origin, and add one to every entry.
  • TableauShapeStandardTableau → IntegerPartitionsurjectionSurjectionGraded mapMp00083The shape of a standard tableau: its row lengths.
  • TransposeTableauStandardTableau → StandardTableauinvolutionBijectionGraded mapInvolutionMp00084The conjugate tableau: rows and columns exchanged.
  • ValleyCompositionStandardTableau → IntegerCompositionGraded mapMp00295The composition cut at the valleys: entries i that are ascents after a descent.

To StandardTableau

  • AssociatedStandardTableauSetPartition → StandardTableauSurjectionMp00258The standard tableau whose j-th column holds the j-th smallest elements of the blocks, in increasing order.
  • InitialTableauIntegerPartition → StandardTableauInjectionGraded mapMp00042The standard tableau of the shape filled row by row with 1, 2, ..., n.
  • ReadingTableauIntegerPartition → StandardTableauInjectionGraded mapMp00045The recording tableau of the row reading word of the shape filled row by row.
  • RskInsertionPermutation → StandardTableausurjectionSurjectionGraded mapMp00059The insertion tableau of the RSK correspondence.
  • RskRecordingPermutation → StandardTableausurjectionSurjectionGraded mapMp00070The recording tableau of the RSK correspondence, as its rows.
  • TwoRowTableauDyckPath → StandardTableauInjectionGraded mapMp00033The standard tableau of shape (n, n) with the positions of the up steps in its first row and of the down steps in its second.
2 more in FindStat, not implemented here
  • Mp00082StandardTableau → GelfandTsetlinPatternInjectionGraded mapto Gelfand-Tsetlin pattern
  • Mp00207StandardTableau → IntegerCompositionSurjectionGraded maphorizontal strip sizes

Enumeration

Examples

Basic #

The standard tableaux of two-row shape with 55 cells

live ↗
InCount(SytTwoRow(5))\mathrm{Count}(\mathrm{SytTwoRow}(5))Out1010

The tableaux with 33 cells

live ↗
InTake(SytTwoRow(3),3)\mathrm{Take}(\mathrm{SytTwoRow}(3), 3)Out[StandardTableau⁡([[1,2,3],[]]),StandardTableau⁡([[1,2],[3]]),StandardTableau⁡([[1,3],[2]])]\bigl\lbrack{\operatorname{StandardTableau}}([[1, 2, 3], []]), {\operatorname{StandardTableau}}([[1, 2], [3]]), {\operatorname{StandardTableau}}([[1, 3], [2]])\bigr\rbrack
About
Examples2
CrosswalkOEISSageMath