Я пытаюсь создать разреженную матрицу, которая имеет двумерный узор, проходящий по диагонали. Это, вероятно, проще всего объяснить с помощью быстрого примера.Как создать диагональную разреженную матрицу в SciPy
Say мой паттерн: [1,0,2,0,1] ...
Я хочу создать разреженную матрицу:
[[2,0,1,0,0,0,0...0],
[0,2,0,1,0,0,0...0],
[1,0,2,0,1,0,0...0],
[0,1,0,2,0,1,0...0],
[0,0,1,0,2,0,1...0],
[...]]
scipy.sparse.dia_matrix походит хороший кандидат, однако, я просто не могу понять, как выполнить то, что я хочу из доступной документации. Спасибо заранее
Вместо 'np.zeros (N) + 1', это может быть clearer сделать 'np.ones (N)'. :) – Dougal
:) Причина, по которой это np.zeros (N) +1, потому что возможно, что автор захочет иметь там какое-то другое значение (скажем, 100), а затем код будет тем же np.zeros (N) +100. Но, очевидно, это вопрос стиля. –
Действительно, мне нужны значения, отличные от одних и двух. Спасибо! Болезненно, насколько очевидно это решение, я просто не понял конструктор dia_matrix. – user1354372