我有两个大的方形稀疏矩阵 A 和 B,需要计算以下内容:A * B^-1
以最有效的方式。我有一种感觉,答案涉及使用scipy.sparse
,但我一生都无法弄清楚。
经过广泛的搜索,我遇到了以下线程:Efficient numpy / lapack routine for product of inverse and sparse matrix? 但无法弄清楚最有效的方法是什么。
有人建议使用 scipy 的稀疏模块中内置的 LU 分解,但是当我尝试对样本矩阵执行 LU 时,结果是奇异的(尽管当我只执行 * B^-1 时我得到了答案)。我也听说有人建议使用linalg.spsolve()
,但我不知道如何实现它,因为它需要一个向量作为第二个参数。
如果有帮助,一旦我有了解决方案 st A * B^-1 = C
,我只需要知道矩阵 C 的一行的值。矩阵大约为 1000x1000 到 1500x1500。