OFFSET
0,3
COMMENTS
An alternating sign matrix (ASM) is sparse if it cannot be turned into another ASM by replacing nonzero entries by zeros.
EXAMPLE
The first ASM is not sparse, because it can be turned into the second one by replacing nonzero entries by zeros:
[0 + 0 0] [0 + 0 0]
[+ - + 0] [+ 0 0 0]
[0 + - +] [0 0 0 +]
[0 0 + 0] [0 0 + 0]
PROG
(SageMath)
def is_sparse_ASM(M):
M = M.to_matrix()
n = M.nrows()
E = []
for i in range(1, n-1):
a1, b1 = 0, None
a2, b2 = 0, None
for j in range(1, n):
if M[i][j] == 1:
a1 = j
if b1:
E.append(((i, a1), (i, b1)))
elif M[i][j] == -1:
b1 = j
E.append(((i, a1), (i, b1)))
if M[j][i] == 1:
a2 = j
if b2:
E.append(((b2, i), (a2, i)))
elif M[j][i] == -1:
b2 = j
E.append(((b2, i), (a2, i)))
return DiGraph(E).is_directed_acyclic()
a = lambda n: sum(1 for M in AlternatingSignMatrices(n) if is_sparse_ASM(M))
print([a(k) for k in range(7)])
CROSSREFS
KEYWORD
nonn,more
AUTHOR
Ludovic Schwob, Feb 22 2026
EXTENSIONS
a(8)-a(10) from Christian Sievers, Mar 06 2026
STATUS
approved
