Skip to content

BreakpointGraphCycles ​

The alternating cycles of the breakpoint graph on 0, ..., n: a black edge from p(i) to p(i-1) and a grey edge from i to i+1, indices cyclic.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000696via Permutation✓
BreakpointGraphCycles(p)The alternating cycles of the breakpoint graph on 0, ..., n: a black edge from p(i) to p(i-1) and a grey edge from i to i+1, indices cyclic.
Typed signatures
TypePackageApplies
(permutation) -> numbercombinatoricsalways

Domain: Permutation statistics

Details
  • Defined over Permutation as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a Permutation 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.
  • Each cycle of the black-then-grey successor is one alternating cycle.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

1 if Length(_x) < 1 else Apply((w: list<integer>) => Apply(
                                                            (q: list<integer>) => Count(Filter(
                                                                                                Range(1, Length(_x) + 1),
                                                                                                Function(Fold(
                                                                                                               Function(w if w <= 0 else 0 if w == i else -1 if w < i else q[w], w, k),
                                                                                                               q[i],
                                                                                                               Range(1, Length(_x) + 1, 1),
                                                                                                             ) ==
                                                                                                         0, i),
                                                                                              )),
                                                            Map(
                                                                 Function(w[(Sum(Map(
                                                                                      Function(m if w[m] == i else 0, m),
                                                                                      Range(1, Length(_x) + 1),
                                                                                    )) +
                                                                             (Length(_x) -
                                                                              1)) %
                                                                            (Length(_x) +
                                                                             1) + 1] %
                                                                          (Length(_x) +
                                                                           1) + 1, i),
                                                                 Range(
                                                                        1,
                                                                        Length(_x) +
                                                                        1,
                                                                      ),
                                                               ),
                                                          ), Join(
                                                                  [1],
                                                                  Map(
                                                                       Function(
                                                                                 _x[i] + 1,
                                                                                 i,
                                                                               ),
                                                                       Range(1, Length(_x)),
                                                                     ),
                                                                ))

Examples

Basic #

the one-line word 312312

live ↗
InBreakpointGraphCycles(Permutation⁡([3,1,2]))\mathrm{BreakpointGraphCycles}({\operatorname{Permutation}}([3, 1, 2]))Out22

the one-line word 24132413

live ↗
InBreakpointGraphCycles(Permutation⁡([2,4,1,3]))\mathrm{BreakpointGraphCycles}({\operatorname{Permutation}}([2, 4, 1, 3]))Out11
Properties #

FindStat's value for [1]

live ↗
InCombinatorialStat(Permutation⁡([1]),BreakpointGraphCycles)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1]), \text{BreakpointGraphCycles})Out22

Known value · FindStat St000696

FindStat's value for [1,2]

live ↗
InCombinatorialStat(Permutation⁡([1,2]),BreakpointGraphCycles)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1, 2]), \text{BreakpointGraphCycles})Out33

Known value · FindStat St000696

FindStat's value for [2,1]

live ↗
InCombinatorialStat(Permutation⁡([2,1]),BreakpointGraphCycles)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([2, 1]), \text{BreakpointGraphCycles})Out11

Known value · FindStat St000696

About
Examples5
CrosswalkFindStat