computeInverseAndDetWithCheck does not check fixed size of inverse matrix
This code gives a compile error:
Eigen::MatrixXd M(3,3); // defined elsewhere
Eigen::MatrixXd M_inv;
double det(0);
bool invertible(false);
M.computeInverseAndDetWithCheck(M_inv, det, invertible);
but the following does not, and only gives an exception at runtime
Eigen::Matrix3d M; // fixed size 3x3 matrix
Eigen::MatrixXd M_inv; // dynamic matrix <-- this should fail at compile time, or resize to 3x3
double det(0);
bool invertible(false);
M.computeInverseAndDetWithCheck(M_inv, det, invertible);
I expected the second bit of code to give another compile time error, or the dynamic matrix to be re-sized to 3x3 by the computeInverseAndDetWithCheck function.
Edited by Menno Deij - van Rijswijk