Skip to content

RotationOrbitSize ​

The number of distinct partitions rotation i -> i + 1 (mod n) makes of this one.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000543via BinaryWord✓St000820via IntegerComposition✓St000780via PerfectMatching✓St000163via SetPartition✓
RotationOrbitSize(partition)The number of distinct partitions rotation i -> i + 1 (mod n) makes of this one.
Typed signatures
TypePackageApplies
(composition | set_partition) -> numbercombinatoricsalways

Domain: Set partition statistics

Details
  • Defined over SetPartition as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a SetPartition 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 SetPartition, over _x

0 if Length(_x) < 1 else Min(Filter(
                                     Range(1, Length(Flatten(_x))),
                                     Function(Sum(Map(Function(Count(Filter(
                                                                             Range(1, Length(Flatten(_x))),
                                                                             Function(Abs((1 if Sum(Map(
                                                                                                         Function(q if Contains(_x[q], i) else 0, q),
                                                                                                         Range(1, Length(_x)),
                                                                                                       )) ==
                                                                                                Sum(Map(
                                                                                                         Function(q if Contains(_x[q], j) else 0, q),
                                                                                                         Range(1, Length(_x)),
                                                                                                       )) else 0) -
                                                                                          (1 if Sum(Map(
                                                                                                         Function(q if Contains(_x[q], (i + k -
                                                                                                                                        1) %
                                                                                                                                       Length(Flatten(_x)) +
                                                                                                                                       1) else 0, q),
                                                                                                         Range(1, Length(_x)),
                                                                                                       )) ==
                                                                                                Sum(Map(
                                                                                                         Function(q if Contains(_x[q], (j + k -
                                                                                                                                        1) %
                                                                                                                                       Length(Flatten(_x)) +
                                                                                                                                       1) else 0, q),
                                                                                                         Range(1, Length(_x)),
                                                                                                       )) else 0)) >
                                                                                      0, j),
                                                                           )), i), Range(1, Length(Flatten(_x))))) ==
                                              0, k),
                                   ))

on IntegerComposition, over _x

0 if Length(_x) < 1 else Min(Filter(
                                     Range(1, Length(_x)),
                                     Function(Count(Filter(
                                                            Range(1, Length(_x)),
                                                            Function(Abs(_x[i] -
                                                                         _x[(i +
                                                                             r -
                                                                             1) %
                                                                            Length(_x) + 1]) > 0, i),
                                                          )) == 0, r),
                                   ))

Examples

Basic #

the partition {1,3}∣{2}\{1,3\} \mid \{2\}

live ↗
InRotationOrbitSize(SetPartition⁡([[1,3],[2]]))\mathrm{RotationOrbitSize}({\operatorname{SetPartition}}([[1, 3], [2]]))Out33

the partition {1}∣{2,4}∣{3}\{1\} \mid \{2,4\} \mid \{3\}

live ↗
InRotationOrbitSize(SetPartition⁡([[1],[2,4],[3]]))\mathrm{RotationOrbitSize}({\operatorname{SetPartition}}([[1], [2, 4], [3]]))Out22
Properties #

FindStat's value for {{1}}

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

Known value · FindStat St000163

FindStat's value for {{1,2}}

live ↗
InCombinatorialStat(SetPartition⁡([[1,2]]),RotationOrbitSize)\mathrm{CombinatorialStat}({\operatorname{SetPartition}}([[1, 2]]), \text{RotationOrbitSize})Out11

Known value · FindStat St000163

FindStat's value for {{1,2,3}}

live ↗
InCombinatorialStat(SetPartition⁡([[1,2,3]]),RotationOrbitSize)\mathrm{CombinatorialStat}({\operatorname{SetPartition}}([[1, 2, 3]]), \text{RotationOrbitSize})Out11

Known value · FindStat St000163

About
Examples5
CrosswalkFindStat ×4