如何在Python中高效地添加稀疏矩阵
问题描述
我想知道如何在Python中高效地添加稀疏矩阵。
我有一个程序,它将一个大任务分成多个子任务,并将它们分布在几个CPU上。每个子任务产生一个结果(格式为:lil_matrix
的稀疏矩阵)。
稀疏矩阵的维度是:100000x500000,这是相当大的,所以我真的需要一种最有效的方法来将所有产生的稀疏矩阵求和为一个单一的稀疏矩阵,使用一些C编译的方法之类的。
解决方案
您尝试过用最简单的方法计时吗?
matrix_result = matrix_a + matrix_b
文档警告说,对于LIL矩阵,这可能会很慢,这表明以下操作可能会更快:
matrix_result = (matrix_a.tocsr() + matrix_b.tocsr()).tolil()
相关文章