Skip to content

DecreasableCornerSumPositions ​

The interior positions of the corner sum matrix whose entry can be lowered by one to give another alternating sign matrix's corner sum matrix.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt001965via AlternatingSignMatrix✓
DecreasableCornerSumPositions(tableau)The interior positions of the corner sum matrix whose entry can be lowered by one to give another alternating sign matrix's corner sum matrix.
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 St001965. The corner sum c(i, j) is the sum of the entries in the first i rows and j columns; a position 0 < i, j < n qualifies when c(i, j) = c(i + 1, j) = c(i, j + 1) = c(i - 1, j) + 1 = c(i, j - 1) + 1.

Definition

Epsil, as the implementation runs it.

on AlternatingSignMatrix, over _x

0 if Length(_x) < 1 else Apply((cells: list<integer>) => Apply((side: integer) => 0 if side < 2 else Max(Sum(Map(Function(Max(Sum(Map(Function(1 if Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j else 0, v), Range(1, side * side))), 0) ==
                                                                                                                                                    Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i + 1 &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j else 0, v), Range(1, side * side))), 0) &&
                                                                                                                                                    Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j else 0, v), Range(1, side * side))), 0) ==
                                                                                                                                                    Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j + 1 else 0, v), Range(1, side * side))), 0) &&
                                                                                                                                                    Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j else 0, v), Range(1, side * side))), 0) ==
                                                                                                                                                    Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i - 1 &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j else 0, v), Range(1, side * side))), 0) +
                                                                                                                                                    1 &&
                                                                                                                                                    Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j else 0, v), Range(1, side * side))), 0) ==
                                                                                                                                                    Max(Sum(Map(Function(cells[v] if (v -
                                                                                                                                                                                      ((v - 1) %
                                                                                                                                                                                       side +
                                                                                                                                                                                       1)) /
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     i &&
                                                                                                                                                                                     (v - 1) %
                                                                                                                                                                                     side +
                                                                                                                                                                                     1 <=
                                                                                                                                                                                     j - 1 else 0, v), Range(1, side * side))), 0) +
                                                                                                                                                    1 else 0, j), Range(1, side - 1))), 0), i), Range(1, side - 1))), 0), 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 ↗
InDecreasableCornerSumPositions(AlternatingSignMatrix⁡([[0,1,0],[1,−1,1],[0,1,0]]))\mathrm{DecreasableCornerSumPositions}({\operatorname{AlternatingSignMatrix}}([[0, 1, 0], [1, -1, 1], [0, 1, 0]]))Out22
Properties #

FindStat's value for [[1]]

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

Known value · FindStat St001965

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

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

Known value · FindStat St001965

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

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

Known value · FindStat St001965

About
Examples4
CrosswalkFindStat