BraceletCount
The colorings of a polygon with these color multiplicities, up to rotation and reflection: the necklaces and the colorings fixed by the reflections, over twice the size.
✓ checked against that system · ! checked, with disagreements (hover a chip)FindStat
St001603via IntegerPartition✓BraceletCount(partition)The colorings of a polygon with these color multiplicities, up to rotation and reflection: the necklaces and the colorings fixed by the reflections, over twice the size.Typed signatures
| Type | Package | Applies |
|---|---|---|
(integer_partition) -> number | combinatorics | always |
Details
- Defined over
IntegerPartitionas an expression in_x, evaluated by compute-engine — the definition IS the implementation. - Takes a
IntegerPartitionand 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. - FindStat's St001603 (the dihedral group); its title says colourings of a polygon. It is only defined there for sizes of at least 3.
Definition
Epsil, as the implementation runs it.
on IntegerPartition, over _x
0 if Length(_x) < 1 else Apply(
(o: number) => (Apply(
(g: number) => Sum(Map(Function(Count(Filter(
Range(1, d),
Function(k * d /
LCM(k, d) ==
1, k),
)) *
(1 if Sum(_x) / d ==
0 else Product(Range(1, Sum(_x) / d))) /
Product(Map(
Function(1 if _x[i] / d ==
0 else Product(Range(1, _x[i] / d)), i),
Range(1, Length(_x)),
)) if g % d ==
0 else 0, d), Range(1, g))),
Fold(
Function(a * b /
LCM(a, b), a, b),
_x[1],
Rest(_x),
),
) + (0 if o > 2 else Sum(_x) *
((1 if (Sum(_x) - o) /
2 ==
0 else Product(Range(1, (Sum(_x) - o) /
2))) /
Product(Map(
Function(1 if (_x[i] -
_x[i] % 2) /
2 ==
0 else Product(Range(1, (_x[i] -
_x[i] % 2) /
2)), i),
Range(1, Length(_x)),
))))) / (2 *
Sum(_x)),
Count(Filter(
Range(1, Length(_x)),
Function(_x[i] % 2 == 1, i),
)),
)Examples
Properties #
About
| Examples | 5 |
|---|---|
| Crosswalk | FindStat |