Skip to content

PositiveMatrixInversionNumber ​

The inversion number less the number of entries equal to -1.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000332via AlternatingSignMatrix✓
PositiveMatrixInversionNumber(tableau)The inversion number less the number of entries equal to -1.
Typed signatures
TypePackageApplies
(alternating_sign_matrix) -> numbercombinatoricsalways

Domain: Alternating sign matrix statistics

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

Definition

Epsil, as the implementation runs it.

on AlternatingSignMatrix, over _x

0 if Length(_x) < 1 else Apply((cells: list<integer>) => Apply((side: integer) => Max(Sum(Map(Function(cells[u] *
                                                                                                       Max(Sum(Map(
                                                                                                                    Function(cells[v] if (v -
                                                                                                                                          ((v - 1) %
                                                                                                                                           side +
                                                                                                                                           1)) /
                                                                                                                                         side +
                                                                                                                                         1 <
                                                                                                                                         (u -
                                                                                                                                          ((u - 1) %
                                                                                                                                           side +
                                                                                                                                           1)) /
                                                                                                                                         side +
                                                                                                                                         1 &&
                                                                                                                                         (v - 1) %
                                                                                                                                         side +
                                                                                                                                         1 >
                                                                                                                                         (u - 1) %
                                                                                                                                         side +
                                                                                                                                         1 else 0, v),
                                                                                                                    Range(1, side * side),
                                                                                                                  )), 0), u), Range(1, side * side))), 0) -
                                                                                  Count(Filter(cells, Function(e == -1, e))), Length(_x)), Flatten(_x))

Examples

Basic #

the alternating sign matrix [[0,1,0],[1,−1,1],[0,1,0]][[0,1,0],[1,-1,1],[0,1,0]]

live ↗
InPositiveMatrixInversionNumber(AlternatingSignMatrix⁡([[0,1,0],[1,−1,1],[0,1,0]]))\mathrm{PositiveMatrixInversionNumber}({\operatorname{AlternatingSignMatrix}}([[0, 1, 0], [1, -1, 1], [0, 1, 0]]))Out11
Properties #

FindStat's value for [[1]]

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

Known value · FindStat St000332

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

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

Known value · FindStat St000332

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

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

Known value · FindStat St000332

About
Examples4
CrosswalkFindStat