Skip to content

StandardTableauCount ​

The number of standard Young tableaux of the shape: the size factorial over the hook product.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000003via IntegerPartition✓St001595via SkewPartition✓
StandardTableauCount(partition)The number of standard Young tableaux of the shape: the size factorial over the hook product.
Typed signatures
TypePackageApplies
(integer_partition | skew_partition) -> numbercombinatoricsalways

Domain: Partition statistics

Details
  • Defined over IntegerPartition as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a IntegerPartition and nothing else — it reads values against their positions, or walks the orbits, so it needs the bijection. Applying it to a bare list is a type error, not a wrong answer.
  • Defined by the hook-length formula; PlancherelCount is its square.

Definition

Epsil, as the implementation runs it.

on IntegerPartition, over _x

1 if Length(_x) < 1 else (1 if Sum(_x) == 0 else Product(Range(1, Sum(_x)))) /
                         Product(Map(Function(Product(Map(
                                                           Function(_x[i] - j +
                                                                    (Map(
                                                                          Function(Count(Filter(
                                                                                                 Range(1, Length(_x)),
                                                                                                 Function(_x[j] >= i, j),
                                                                                               )), i),
                                                                          Range(1, Max(_x)),
                                                                        )[j] - i) + 1, j),
                                                           Range(1, _x[i]),
                                                         )), i), Range(
                                                                       1,
                                                                       Length(_x),
                                                                     )))

on SkewPartition, over _x

1 if Length(_x[1]) == 0 else Apply((lam: list<integer>) => Apply((raw: list<integer>) => Apply(
                                                                                                (mu: list<integer>) => Apply(
                                                                                                                              (radix: list<integer>) => Apply(
                                                                                                                                                               (stride: list<integer>) => 1 if Product(radix) == 1 else Fold(
                                                                                                                                                                                                                              Function(Join(a, [Max(Sum(Map(Function(0 if (b %
                                                                                                                                                                                                                                                                           (stride[i] * radix[i]) -
                                                                                                                                                                                                                                                                           b % stride[i]) /
                                                                                                                                                                                                                                                                          stride[i] <
                                                                                                                                                                                                                                                                          1 else a[b - stride[i] +
                                                                                                                                                                                                                                                                                  1] if i == Length(lam) ||
                                                                                                                                                                                                                                                                                       mu[i] +
                                                                                                                                                                                                                                                                                       (b %
                                                                                                                                                                                                                                                                                        (stride[i] * radix[i]) -
                                                                                                                                                                                                                                                                                        b % stride[i]) /
                                                                                                                                                                                                                                                                                       stride[i] -
                                                                                                                                                                                                                                                                                       1 >=
                                                                                                                                                                                                                                                                                       mu[i + 1] +
                                                                                                                                                                                                                                                                                       (b %
                                                                                                                                                                                                                                                                                        (stride[i + 1] *
                                                                                                                                                                                                                                                                                         radix[i + 1]) -
                                                                                                                                                                                                                                                                                        b %
                                                                                                                                                                                                                                                                                        stride[i + 1]) /
                                                                                                                                                                                                                                                                                       stride[i + 1] else 0, i), Range(1, Length(lam)))), 0)]), a, b),
                                                                                                                                                                                                                              [1],
                                                                                                                                                                                                                              Range(1, Product(radix) - 1),
                                                                                                                                                                                                                            )[Product(radix)],
                                                                                                                                                               Map(
                                                                                                                                                                    Function(1 if i == 1 else Product(Map(Function(radix[q], q), Range(1, i - 1))), i),
                                                                                                                                                                    Range(1, Length(lam)),
                                                                                                                                                                  ),
                                                                                                                                                             ),
                                                                                                                              Map(Function(lam[i] - mu[i] +
                                                                                                                                           1, i), Range(1, Length(lam))),
                                                                                                                            ),
                                                                                                Map(
                                                                                                     Function(raw[i] if i <= Length(raw) else 0, i),
                                                                                                     Range(1, Length(lam)),
                                                                                                   ),
                                                                                              ), _x[2]), _x[1])

Examples

Basic #

the partition 4+2+14 + 2 + 1 of 77

live ↗
InStandardTableauCount(IntegerPartition⁡([4,2,1]))\mathrm{StandardTableauCount}({\operatorname{IntegerPartition}}([4, 2, 1]))Out3535

the partition 3+3+13 + 3 + 1 of 77

live ↗
InStandardTableauCount(IntegerPartition⁡([3,3,1]))\mathrm{StandardTableauCount}({\operatorname{IntegerPartition}}([3, 3, 1]))Out2121
Properties #

FindStat's value for [1]

live ↗
InCombinatorialStat(IntegerPartition⁡([1]),StandardTableauCount)\mathrm{CombinatorialStat}({\operatorname{IntegerPartition}}([1]), \text{StandardTableauCount})Out11

Known value · FindStat St000003

FindStat's value for [2]

live ↗
InCombinatorialStat(IntegerPartition⁡([2]),StandardTableauCount)\mathrm{CombinatorialStat}({\operatorname{IntegerPartition}}([2]), \text{StandardTableauCount})Out11

Known value · FindStat St000003

FindStat's value for [3]

live ↗
InCombinatorialStat(IntegerPartition⁡([3]),StandardTableauCount)\mathrm{CombinatorialStat}({\operatorname{IntegerPartition}}([3]), \text{StandardTableauCount})Out11

Known value · FindStat St000003

About
Examples5
CrosswalkFindStat ×2