使用稀疏矩阵蒙版计算两个矩阵的外积

时间:2019-02-12 20:42:13

标签: algorithm

给出:两个列向量ab。令其外积的矩阵为P

P = a * b^T

其中^T表示转置​​。

还给出:稀疏矩阵S,其条目只有1和0。

我要计算以下矩阵:

S % P = S % ( a * b^T )

其中%表示两个矩阵的逐元素相乘。

换句话说,我想要一个矩阵,其元素(i,j)为:

  • a_i * b_j的元素S_ij = 1的乘积,或
  • S_ij = 0为零。

公式S % (a * b^T)涉及计算无论如何都设置为零的许多乘积,因此这似乎不是很有效。做到这一点的另一种方法是遍历稀疏矩阵S的元素并手动计算乘积a_i * b_j,但是我想知道是否有更快的矩阵/矢量计算可以做到这一点。

谢谢

0 个答案:

没有答案