Skip to content

InversionSum ​

The sum of j - i over the inversions i < j.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000347via BinaryWord✓St000055via Permutation✓
InversionSum(p)The sum of j - i over the inversions i < j.
Typed signatures
TypePackageApplies
(binary_word | list<integer> | 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 also a bare list of integers: this reading compares entries with each other rather than with their positions, so it stands on any sequence.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

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

on BinaryWord, over _x

0 if Length(_x) < 2 else Max(Sum(Map(
                                      Function(Max(Sum(Map(
                                                            Function((j - i) *
                                                                     (1 if _x[i] >
                                                                           _x[j] else 0), j),
                                                            Range(
                                                                   i + 1,
                                                                   Length(_x),
                                                                   1,
                                                                 ),
                                                          )), 0), i),
                                      Range(1, Length(_x) - 1),
                                    )), 0)

Examples

Basic #

the one-line word 312312

live ↗
InInversionSum(Permutation⁡([3,1,2]))\mathrm{InversionSum}({\operatorname{Permutation}}([3, 1, 2]))Out33

the one-line word 312312, as a plain list

live ↗
InInversionSum([3,1,2])\mathrm{InversionSum}(\bigl\lbrack3, 1, 2\bigr\rbrack)Out33

the one-line word 24132413

live ↗
InInversionSum(Permutation⁡([2,4,1,3]))\mathrm{InversionSum}({\operatorname{Permutation}}([2, 4, 1, 3]))Out55
Properties #

FindStat's value for [1]

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

Known value · FindStat St000055

FindStat's value for [1,2]

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

Known value · FindStat St000055

FindStat's value for [2,1]

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

Known value · FindStat St000055

About
Examples6
CrosswalkFindStat ×2