Skip to content

StandardizedBiAlternatingInversionNumber ​

Half of floor(n/2)^2 plus the signed inversions, each pair i < j weighted by (-1)^(i+j).

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000677via Permutation✓
StandardizedBiAlternatingInversionNumber(p)Half of floor(n/2)^2 plus the signed inversions, each pair i < j weighted by (-1)^(i+j).
Typed signatures
TypePackageApplies
(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.
  • Half of the sum of (-1)^(i+j) sgn(p(j) - p(i)) over i < j, shifted by floor(n/2)^2.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

0 if Length(_x) < 2 else (Length(_x) - Length(_x) % 2) / 2 * ((Length(_x) - Length(_x) %
                                                                            2) /
                                                              2 + 1) / 2 + (Sum(Map(
                                                                                    Function(Sum(Map(
                                                                                                      Function(1, j),
                                                                                                      Filter(
                                                                                                              Range(i + 1, Length(_x)),
                                                                                                              Function(_x[i] < _x[j] &&
                                                                                                                       (j - i) %
                                                                                                                       2 ==
                                                                                                                       0, j),
                                                                                                            ),
                                                                                                    )), i),
                                                                                    Range(1, Length(_x) - 1),
                                                                                  )) -
                                                                           Sum(Map(
                                                                                    Function(Sum(Map(
                                                                                                      Function(1, j),
                                                                                                      Filter(
                                                                                                              Range(i + 1, Length(_x)),
                                                                                                              Function(_x[i] < _x[j] &&
                                                                                                                       (j - i) %
                                                                                                                       2 ==
                                                                                                                       1, j),
                                                                                                            ),
                                                                                                    )), i),
                                                                                    Range(1, Length(_x) - 1),
                                                                                  )))

Examples

Basic #

the one-line word 312312

live ↗
InStandardizedBiAlternatingInversionNumber(Permutation⁡([3,1,2]))\mathrm{StandardizedBiAlternatingInversionNumber}({\operatorname{Permutation}}([3, 1, 2]))Out00

the one-line word 312312, as a plain list

live ↗
InStandardizedBiAlternatingInversionNumber([3,1,2])\mathrm{StandardizedBiAlternatingInversionNumber}(\bigl\lbrack3, 1, 2\bigr\rbrack)Out00

the one-line word 24132413

live ↗
InStandardizedBiAlternatingInversionNumber(Permutation⁡([2,4,1,3]))\mathrm{StandardizedBiAlternatingInversionNumber}({\operatorname{Permutation}}([2, 4, 1, 3]))Out00
Properties #

FindStat's value for [1,2]

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

Known value · FindStat St000677

FindStat's value for [2,1]

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

Known value · FindStat St000677

FindStat's value for [1,2,3]

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

Known value · FindStat St000677

About
Examples6
CrosswalkFindStat