Skip to content

RowRemovalGrundyValue ​

The Grundy value of the game that removes cells from the end of a row while the diagram stays a partition: staircase nim, the nim-sum of the differences of consecutive parts at odd positions.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt001055via IntegerPartition✓
RowRemovalGrundyValue(partition)The Grundy value of the game that removes cells from the end of a row while the diagram stays a partition: staircase nim, the nim-sum of the differences of consecutive parts at odd positions.
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

0 if Length(_x) < 1 else Fold(
                               Function(a + b - 2 * Sum(Map(
                                                             Function(2 ^ k *
                                                                      ((a - a %
                                                                            2 ^
                                                                            k) /
                                                                       2 ^ k % 2) *
                                                                      ((b - b %
                                                                            2 ^
                                                                            k) /
                                                                       2 ^ k % 2), k),
                                                             Range(0, Sum(_x)),
                                                           )), a, b),
                               0,
                               Map(Function(
                                             (_x[i] if i == Length(_x) else _x[i] -
                                                                            _x[i +
                                                                               1]) if i % 2 ==
                                                                                 1 else 0,
                                             i,
                                           ), Range(1, Length(_x))),
                             )

Examples

Basic #

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

live ↗
InRowRemovalGrundyValue(IntegerPartition⁡([4,2,1]))\mathrm{RowRemovalGrundyValue}({\operatorname{IntegerPartition}}([4, 2, 1]))Out33

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

live ↗
InRowRemovalGrundyValue(IntegerPartition⁡([3,3,1]))\mathrm{RowRemovalGrundyValue}({\operatorname{IntegerPartition}}([3, 3, 1]))Out11
Properties #

FindStat's value for [1]

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

Known value · FindStat St001055

FindStat's value for [2]

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

Known value · FindStat St001055

FindStat's value for [3]

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

Known value · FindStat St001055

About
Examples5
CrosswalkFindStat