我正在尝试将两个稀疏矩阵或一个稀疏矩阵与一个密集矩阵相乘。矩阵的大小大约为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]
此代码适用于稀疏矩阵,但用于密集矩阵需要花费更多时间。是否存在任何适用于稀疏和密集矩阵的优化代码