Корректная индексация данных в scipy bsr_matrix - PullRequest
0 голосов
/ 25 марта 2019

Из-за проблем с памятью я хочу разделить вычисление записей моей разреженной матрицы на небольшие пакеты строк.Размерность моей матрицы dim(nat=10000,nat=10000).

Я рассчитал данные и столбцы, в которые я хочу поместить данные, например данные в строках 250-260. Затем, за исключением строк 250-260, матрица пуста.Если я установил nat1 = nat в следующем коде, он завершится с сообщением об ошибке:

ValueError: index pointer size (11) should be (10001)

Что верно, поскольку мои значения first_i работают от 0 до 10. Если я установил nat1=10 все работает нормально (что не удивительно), но индексация моих данных неверна.Значения, которые должны быть на (row,column) = (252,500), теперь на (0,500).У меня вопрос, могу ли я каким-то образом изменить или заполнить мой массив, чтобы индексация моих данных была выполнена правильно.Заранее большое спасибо!

H = bsr_matrix((H_ncc, j_n, first_i), shape=(nat1, nat))
...