Для обхода матриц любой размерности в numpy можно использовать функцию -- многомерный индексовый итератор np.ndenumerate(), предоставляющий пару:
- набор координат (кортеж)
- и значение элемента матрицы
рассмотрим пример:
>>> a = np.array([[1, 2], [3, 4]])
>>> for index, x in np.ndenumerate(a):
... print index, x
(0, 0) 1
(0, 1) 2
(1, 0) 3
(1, 1) 4
Пример обхода двумерной матрицы, self.mtx, и превращения её в симметричную: