如何在Python中高效地相加稀疏矩阵
我想知道如何在Python中高效地相加稀疏矩阵。
我有一个程序,它把一个大任务拆分成多个小任务,并把这些小任务分配到几个CPU上去处理。每个小任务都会产生一个结果(一个格式为:lil_matrix
的scipy稀疏矩阵)。
这些稀疏矩阵的尺寸是:100000x500000,真的是非常大,所以我真的需要一种最有效的方法,把所有生成的稀疏矩阵加起来,合并成一个稀疏矩阵,最好是用一些C语言编写的高效方法之类的。
1 个回答
11
你有没有试过给最简单的方法计时呢?
matrix_result = matrix_a + matrix_b
文档里提醒说,对于LIL矩阵,这种方法可能会比较慢,所以建议你可以试试下面的方法,这样可能会更快:
matrix_result = (matrix_a.tocsr() + matrix_b.tocsr()).tolil()