Scipy.sparse.csr_matrix在具有浮点值的矩阵上缓慢

时间:2019-07-04 09:16:48

标签: python scipy matrix-multiplication

我正在尝试将两个稀疏矩阵或一个稀疏矩阵与一个密集矩阵相乘。矩阵的大小大约为128x256。它们的80%值是0,其余是大约8位精度的浮点值。

我知道函数scipy.sparse。但是我不想使用此功能。谁能帮忙python中的代码。

WW_sp=numpy.zeros([len(X),Y.shape[1]])
for i in range(len(X)):
A=numpy.where(X[i]!=0)
for j in range(Y.shape[1]):
    B=numpy.where(Y[:,j]!=0)
    for k in numpy.intersect1d(A,B):
        WW_sp[i][j]+=X[i][k]*Y[k][j]

此代码适用于稀疏矩阵,但用于密集矩阵需要花费更多时间。是否存在任何适用于稀疏和密集矩阵的优化代码

0 个答案:

没有答案