稀疏矩阵乘法复杂度

时间:2018-01-30 06:54:05

标签: algorithm matrix complexity-theory sparse-matrix eigen

我想表达两种算法的计算复杂性:稀疏矩阵稀疏向量乘法和稀疏矩阵稀疏矩阵乘法,如在Eigen或Cusparse中使用CSR表示。

我知道这取决于几个参数,尤其是每个元素中非零值的数量。

但是,我无法找到详细说明此类算法复杂性的出版物,并使用O()表示法表达。

1 个答案:

答案 0 :(得分:2)

假设您将A*BA m*k矩阵相乘,每列a非零,B k*n矩阵每列b非零。然后,操作次数(*和+)为:

2*n*b*a

因为对于n的每个B列,我们必须遍历b AB的{​​{1}}对应元素非零,然后乘以相应的a非零。如果正确实现,如在Eigen或Cusparse中,我们有三个嵌套循环,具有完全nba次迭代,因此复杂度为O(a*b*n)