NoncrossingMergeableSingletonPairs
Pairs of singleton blocks of the path's noncrossing partition that can be merged into one block, leaving the partition noncrossing.
✓ checked against that system · ! checked, with disagreements (hover a chip)FindStat
St001932via DyckPath✓NoncrossingMergeableSingletonPairs(path)Pairs of singleton blocks of the path's noncrossing partition that can be merged into one block, leaving the partition noncrossing.Typed signatures
| Type | Package | Applies |
|---|---|---|
(dyck_path) -> number | combinatorics | always |
Details
- Defined over
DyckPathas an expression in_x, evaluated by compute-engine — the definition IS the implementation. - Takes a
DyckPathand 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 St001932, under Biane's bijection (
NoncrossingPartition): the ups whose matching downs share a run form a block.
Definition
Epsil, as the implementation runs it.
on DyckPath, over _x
0 if Length(_x) < 1 else Apply((ups: list<integer>) => Apply(
(h: list<integer>) => Apply(
(block: list<integer>) => Apply(
(low: list<integer>) => Apply(
(high: list<integer>) => Sum(Map(Function(Count(Filter(
Range(1, Length(_x) / 2),
Function(t > s &&
Count(Filter(Range(1, Length(_x) / 2), Function(block[l] == block[s], l))) ==
1 &&
Count(Filter(Range(1, Length(_x) / 2), Function(block[l] == block[t], l))) ==
1 &&
Count(Filter(
Range(1, Length(_x) / 2),
Function(k > s &&
k < t &&
(low[k] < s ||
high[k] > t), k),
)) ==
0, t),
)), s), Range(1, Length(_x) / 2))),
Map(
Function(Max(Filter(Range(1, Length(_x) / 2), Function(block[l] == block[k], l))), k),
Range(1, Length(_x) / 2),
),
),
Map(
Function(Min(Filter(
Range(1, Length(_x) / 2),
Function(block[l] == block[k], l),
)), k),
Range(1, Length(_x) / 2),
),
),
Map(Function(Apply(
(close: integer) => Count(Filter(Filter(
Range(1, Length(_x) - 1),
Function(_x[i] == 1 &&
_x[i + 1] ==
0, i),
), Function(r < close, r))),
Min(Filter(
Range(ups[j] + 1, Length(_x), 1),
Function(h[q] ==
h[ups[j]] - 1, q),
)),
), j), Range(1, Length(_x) / 2)),
),
Map(
Function(Sum(Map(
Function(2 * _x[k] -
1, k),
Range(1, i),
)), i),
Range(
1,
Length(_x),
),
),
), Filter(
Range(
1,
Length(_x),
),
Function(_x[i] ==
1, i),
))Examples
Properties #
About
| Examples | 5 |
|---|---|
| Crosswalk | FindStat |