我想知道如何在Python中高效地添加稀疏矩阵。
我有一个将大任务分解为子任务并将它们分配到几个CPU上的程序。每个子任务都会产生一个结果(格式为lil_matrix
的scipy稀疏矩阵)。
稀疏矩阵的维数是:100000x500000,非常巨大,所以我真的需要最有效的方法将所有产生的稀疏矩阵相加成单个稀疏矩阵,使用一些C编译的方法或类似东西。
我想知道如何在Python中高效地添加稀疏矩阵。
我有一个将大任务分解为子任务并将它们分配到几个CPU上的程序。每个子任务都会产生一个结果(格式为lil_matrix
的scipy稀疏矩阵)。
稀疏矩阵的维数是:100000x500000,非常巨大,所以我真的需要最有效的方法将所有产生的稀疏矩阵相加成单个稀疏矩阵,使用一些C编译的方法或类似东西。
你尝试过计算最简单的方法所需的时间吗?
matrix_result = matrix_a + matrix_b
文档警告说这对LIL矩阵可能很慢,建议使用以下方法可能更快:
matrix_result = (matrix_a.tocsr() + matrix_b.tocsr()).tolil()