Если вам не нравится скорость умножения матриц, то вам следует рассмотреть вопрос об изменении атрибутов матрицы напрямую.Но в зависимости от формата, который может быть медленнее.
К zero-out
столбцам csr
, вы можете найти соответствующие ненулевые элементы и установить значения data
в ноль.Затем запустите метод eliminate_zeros
, чтобы удалить эти элементы из разреженной структуры.
Установка столбцов формата csc
может быть проще - найдите соответствующее значение в indptr
.По крайней мере элементы, которые вы хотите удалить, будут сгруппированы вместе.Я не буду вдаваться в подробности.
Обнуление строк в формате lil
должно быть довольно простым - замените соответствующие списки на []
.
В любом случае со знакомостью форматов этоДолжна быть возможность разработать альтернативы умножению матриц.Но не делая этого, а иногда делая, я мог бы сказать, какие из них быстрее.