我有2个向量和一个矩阵:
VectorXd A;
VectorXd B;
MatrixXd C;
我应该如何有效(没有明确的循环和快速工作)
计算矩阵C值,以便
C(i,k) = A(i) * B(k);
假设矩阵C已经具有适当的尺寸.
重要提示:我只需要帮助使用内置的Eigen语法.请不要CUDA / MKL / BLAS建议.
谢谢.
解决方法:
您正在寻找一种外部产品,它只是一种标准的矩阵产品:
C = A * B.transpose();
由于目标c不与产品的操作数别名,因此您可以使用以下命令保存一个临时值:
C.noalias() = A * B.transpose();
noalias仅适用于矩阵产品.