Skip to content

CoarseningCount ​

The partitions that coarsen this one, whose parts subdivide to give its. Itself included.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000346via IntegerPartition✓
CoarseningCount(partition)The partitions that coarsen this one, whose parts subdivide to give its. Itself included.
Typed signatures
TypePackageApplies
(integer_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.

Definition

Epsil, as the implementation runs it.

on IntegerPartition, over _x

1 if Length(_x) < 1 else 1 if Sum(_x) < 2 else Length(Apply(
                                                             (pw: list<integer>) => Fold(Function(Unique(Map(
                                                                                                              Function(Apply(
                                                                                                                              (cc: integer) => Apply(
                                                                                                                                                      (cs: integer) => Apply((cp: integer) => cc -
                                                                                                                                                                                              pw[cs + 1] +
                                                                                                                                                                                              pw[cs + cp +
                                                                                                                                                                                                 1] if 0 < cs &&
                                                                                                                                                                                                  (cc -
                                                                                                                                                                                                   cc %
                                                                                                                                                                                                   pw[cs + 1]) /
                                                                                                                                                                                                  pw[cs + 1] %
                                                                                                                                                                                                  (Sum(_x) + 1) >=
                                                                                                                                                                                                  1 else cc +
                                                                                                                                                                                                        pw[cp + 1], b),
                                                                                                                                                      (e - 1) %
                                                                                                                                                      (Sum(_x) + 1),
                                                                                                                                                    ),
                                                                                                                              a[1 +
                                                                                                                                (e - 1 -
                                                                                                                                 (e - 1) %
                                                                                                                                 (Sum(_x) + 1)) /
                                                                                                                                (Sum(_x) + 1)],
                                                                                                                            ), e),
                                                                                                              Range(1, Length(a) *
                                                                                                                       (Sum(_x) + 1)),
                                                                                                            )), a, b), [0], _x),
                                                             Fold(
                                                                   Function(Join(
                                                                                  a,
                                                                                  [a[Length(a)] *
                                                                                   (Sum(_x) + 1)],
                                                                                ), a, b),
                                                                   [1],
                                                                   Range(
                                                                          1,
                                                                          Sum(_x),
                                                                          1,
                                                                        ),
                                                                 ),
                                                           ))

Examples

Basic #

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

live ↗
InCoarseningCount(IntegerPartition⁡([4,2,1]))\mathrm{CoarseningCount}({\operatorname{IntegerPartition}}([4, 2, 1]))Out55

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

live ↗
InCoarseningCount(IntegerPartition⁡([3,3,1]))\mathrm{CoarseningCount}({\operatorname{IntegerPartition}}([3, 3, 1]))Out44
Properties #

FindStat's value for [1]

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

Known value · FindStat St000346

FindStat's value for [2]

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

Known value · FindStat St000346

FindStat's value for [3]

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

Known value · FindStat St000346

About
Examples5
CrosswalkFindStat