Из-за проблем с памятью я хочу разделить вычисление записей моей разреженной матрицы на небольшие пакеты строк.Размерность моей матрицы 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))