A
はMxK
行列、B
はサイズのベクトル、K
はC
行列KxN
です。以下の行列を計算するには、どのBLAS演算子のセットを使用する必要がありますか?
M = A*diag(B)*C
これを実装する1つの方法は、以下のような3つのforループを使用することです。
for (int i=0; i<M; ++i)
for (int j=0; j<N; ++j)
for (int k=0; k<K; ++k)
M(i,j) = A(i,k)*B(k)*C(k,j);
より良い速度効率を得るために、これをBLASに実装することは実際に価値がありますか?