Как эффективно добавлять разреженные матрицы в Python - PullRequest
5 голосов
/ 30 декабря 2010

Я хочу знать, как эффективно добавлять разреженные матрицы в Python.

У меня есть программа, которая разбивает большую задачу на подзадачи и распределяет их по нескольким процессорам.Каждая подзадача дает результат (скудная разреженная матрица, отформатированная как: lil_matrix).

Размеры разреженной матрицы: 100000x500000, что довольно много, поэтому мне действительно нужен наиболее эффективный способ суммирования всех полученных результатов.разреженные матрицы в одну разреженную матрицу с использованием некоторого C-скомпилированного метода или чего-то еще.

1 Ответ

9 голосов
/ 31 декабря 2010

Вы пробовали рассчитать время самым простым способом?

matrix_result = matrix_a + matrix_b

Документация предупреждает, что это может быть медленно для матриц LIL, предполагая, что следующее может быть быстрее:

matrix_result = (matrix_a.tocsr() + matrix_b.tocsr()).tolil()
...