[eigen] Convert 1x1 matrix to internal type? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
It seems to me that a 1x1 matrix ought to be convertible to its
internal type. Maybe it is, but if so, there's some kind of problem.
Consider the computation for Mahalanobis distance:
Matrix2d covariance, covInverse;
Vector2d data;
covariance.computeInverse(&covInverse);
double mdist = data.transpose()*covInverse*data;
You would think this would work fine, since the result ix 1x1. However,
it gives an error that an Eigen::Multiply cannot be converted to a
double.
I can get around this by doing
double mdist = (data.transpose()*covInverse*data)[0];
but that's a bit awkward. What is the "correct" solution to this issue?