FrobeniusRank
The fewest border strips that the shape divides into.
✓ checked against that system · ! checked, with disagreements (hover a chip)FindStat
St001597via SkewPartition✓FrobeniusRank(shape)The fewest border strips that the shape divides into.Typed signatures
| Type | Package | Applies |
|---|---|---|
(skew_partition) -> number | combinatorics | always |
Details
- Defined over
SkewPartitionas an expression in_x, evaluated by compute-engine — the definition IS the implementation. - Takes a
SkewPartitionand 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 St001597. A strip is a path of cells going up or right, so the fewest strips are the cells less the most pairs of neighbors that no cell takes twice as the one before and as the one after. Those pairs lie between consecutive diagonals, in runs, and a run of m cells gives floor(m / 2). A connected shape of one strip is a border strip. The empty shape gives 0.
Definition
Epsil, as the implementation runs it.
on SkewPartition, over _x
0 if Length(_x[1]) == 0 else Apply((lam: list<integer>) => Apply((raw: list<integer>) => Apply(
(mu: list<integer>) => Max(Sum(lam), 0) -
Max(Sum(mu), 0) -
Max(Sum(Map(Function(Fold(
Function([
a[1] + 1 if b == 1 else 0,
a[2] + 1 if b == 1 &&
a[1] % 2 ==
1 else a[2],
], a, b),
[0, 0],
Flatten(Map(Function([1 if mu[r] <=
r - 1 +
k &&
r - 1 +
k <
lam[r] else 0, 1 if mu[r] <=
r + k &&
r + k <
lam[r] else 0], r), Range(1, Length(lam)))),
)[2], k), Range(0 - Length(lam), Max(lam)))), 0),
Map(
Function(raw[i] if i <= Length(raw) else 0, i),
Range(1, Length(lam)),
),
), _x[2]), _x[1])Examples
Properties #
About
| Examples | 4 |
|---|---|
| Crosswalk | FindStat |