如何从2个向量中创建特征矩阵

How to create Eigen matrix out of 2 vectors

本文关键字:创建 特征 向量 2个      更新时间:2023-10-16

我有两个向量和一个矩阵:

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仅对矩阵乘积有意义。