我有一个矩阵S(n x m)和一个向量Sigma(n),我想将每一行S(i)乘以Sigma(i)。
我想到了三件事: - >将Sigma转换为方形对角矩阵并计算S = Sigma * S,但似乎函数仅存在于一般或三角矩阵中... - >在循环中使用DSCAL将每一行乘以标量Sigma [i] - > mkl_ddiamm,但对我来说似乎有些模糊。
关于我应该如何实现的任何建议?谢谢!
答案 0 :(得分:2)
这是一个非常简单的操作,MKL / BLAS不提供它的功能。您可以使用for循环自己实现它。
for(int i=0; i<nrow; ++i) {
for(int j=0; j<ncols; ++j) {
s[i][j] += sigma[i];
}
}