特征向量矩阵右除问题

Eigen vector matrix right division issue

我正在尝试在 c++ 中对 vector/matrix 执行右除法,就像在 matlab 中使用 / 运算符所做的那样。 更具体地说,我正在使用 eigen,我尝试进行除法的代码片段如下:

#include <Eigen/Dense>
// Do stuff
// ...
Vector3d instance;
Vector3d mu;
Matrix3d covar;
int dimensionality;
// do stuff initialize here
// Calculate cholesky decomposition
Eigen::Matrix3d normTransform(dimensionality, dimensionality);
Eigen::LLT<Eigen::Matrix3d> cholSolver(covar);
if (cholSolver.info()==Eigen::Success) 
    normTransform = cholSolver.matrixL();
else {
Eigen::SelfAdjointEigenSolver<Eigen::Matrix3d> eigenSolver(covar);
normTransform = eigenSolver.eigenvectors()
               * eigenSolver.eigenvalues().cwiseSqrt().asDiagonal();
}
RowVector3d difference = instance - mu;

difference.transpose().array() * normTransform.inverse().array();
//YOU_MIXED MATRIXES OF DIFFERENT SIZES
difference.array() * normTransform.inverse().array();
//YOU_MIXED MATRIXES OF DIFFERENT SIZES
difference.array() / normTransform.array();
//YOU_MIXED MATRIXES OF DIFFERENT SIZES
etc..

Row 向量是一个 3X1 向量,normTransform 是一个 3X3 矩阵。 我不知道应该如何执行该操作。

有什么线索是我做错了什么吗?

谢谢。

帕诺斯。

在Avi的建议下,我把我的评论作为答案,这样问题就关闭了。 固定它。显然我想得太复杂了。一个简单的

RowVector3d adsf = difference * normTransform.inverse(); 

成功了