Skip to content

Denert ​

Sum of the excedance positions, plus the inversions within each of the excedance and non-excedance subwords.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000156via Permutation✓
Denert(p)Sum of the excedance positions, plus the inversions within each of the excedance and non-excedance subwords.
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.
  • Foata–Zeilberger's den (FindStat St000156). Mahonian, and (Excedances, Denert) is equidistributed with (Descents, MajorIndex) — checked in tests/permutation.test.ts. Moved off the frontier: it needs no fold, just same-block inversion counting.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

0 if Length(_x) < 1 else Sum(Filter(
                                     Range(1, Length(_x)),
                                     Function(_x[i] > i, i),
                                   )) + Sum(Map(
                                                Function(Count(Filter(
                                                                       Range(i +
                                                                             1, Length(_x)),
                                                                       Function(_x[j] > j &&
                                                                                _x[i] > _x[j], j),
                                                                     )) if _x[i] >
                                                                          i else 0, i),
                                                Range(1, Length(_x)),
                                              )) + Sum(Map(Function(
                                                                    Count(Filter(
                                                                                  Range(i + 1, Length(_x)),
                                                                                  Function(_x[j] <= j &&
                                                                                           _x[i] > _x[j], j),
                                                                                )) if _x[i] <= i else 0,
                                                                    i,
                                                                  ), Range(
                                                                           1,
                                                                           Length(_x),
                                                                         )))

Examples

Basic #

the one-line word 312312

live ↗
InDenert(Permutation⁡([3,1,2]))\mathrm{Denert}({\operatorname{Permutation}}([3, 1, 2]))Out11

the one-line word 24132413

live ↗
InDenert(Permutation⁡([2,4,1,3]))\mathrm{Denert}({\operatorname{Permutation}}([2, 4, 1, 3]))Out33
Properties #

FindStat's value for [1]

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

Known value · FindStat St000156

FindStat's value for [1,2]

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

Known value · FindStat St000156

FindStat's value for [2,1]

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

Known value · FindStat St000156

About
Examples5
CrosswalkFindStat