英特尔MKL和行乘法

时间:2016-05-27 17:33:02

标签: c intel-mkl

我有一个矩阵S(n x m)和一个向量Sigma(n),我想将每一行S(i)乘以Sigma(i)。

我想到了三件事: - >将Sigma转换为方形对角矩阵并计算S = Sigma * S,但似乎函数仅存在于一般或三角矩阵中... - >在循环中使用DSCAL将每一行乘以标量Sigma [i] - > mkl_ddiamm,但对我来说似乎有些模糊。

关于我应该如何实现的任何建议?谢谢!

1 个答案:

答案 0 :(得分:2)

这是一个非常简单的操作,MKL / BLAS不提供它的功能。您可以使用for循环自己实现它。

for(int i=0; i<nrow; ++i) {
  for(int j=0; j<ncols; ++j) {
    s[i][j] += sigma[i];
  }
}