Skip to content

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)FindStatSt001932via 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
TypePackageApplies
(dyck_path) -> numbercombinatoricsalways

Domain: Dyck path statistics

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

Basic #

the step word UUDDUDUUDDUD

live ↗
InNoncrossingMergeableSingletonPairs(DyckPath⁡([1,1,0,0,1,0]))\mathrm{NoncrossingMergeableSingletonPairs}({\operatorname{DyckPath}}([1, 1, 0, 0, 1, 0]))Out00

the step word UDUUDDUDUUDD

live ↗
InNoncrossingMergeableSingletonPairs(DyckPath⁡([1,0,1,1,0,0]))\mathrm{NoncrossingMergeableSingletonPairs}({\operatorname{DyckPath}}([1, 0, 1, 1, 0, 0]))Out00
Properties #

FindStat's value for [1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0]),NoncrossingMergeableSingletonPairs)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0]), \text{NoncrossingMergeableSingletonPairs})Out00

Known value · FindStat St001932

FindStat's value for [1,0,1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0,1,0]),NoncrossingMergeableSingletonPairs)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0, 1, 0]), \text{NoncrossingMergeableSingletonPairs})Out11

Known value · FindStat St001932

FindStat's value for [1,1,0,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,1,0,0]),NoncrossingMergeableSingletonPairs)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 1, 0, 0]), \text{NoncrossingMergeableSingletonPairs})Out00

Known value · FindStat St001932

About
Examples5
CrosswalkFindStat