Есть ли интеллектуальная и пространственно-эффективная симметричная матрица в numpy, которая автоматически (и прозрачно) заполняет позицию в [j][i]
, когда [i][j]
записывается на?
import numpy
a = numpy.symmetric((3, 3))
a[0][1] = 1
a[1][0] == a[0][1]
# True
print(a)
# [[0 1 0], [1 0 0], [0 0 0]]
assert numpy.all(a == a.T) # for any symmetric matrix
Автоматический эрмитов тоже будет приятным, хотя мне и не понадобится это на момент написания.