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)FindStat
St001965via 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
| Type | Package | Applies |
|---|---|---|
(alternating_sign_matrix) -> number | combinatorics | always |
Details
- Defined over
AlternatingSignMatrixas an expression in_x, evaluated by compute-engine — the definition IS the implementation. - Takes a
AlternatingSignMatrixand 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
Properties #
About
| Examples | 4 |
|---|---|
| Crosswalk | FindStat |