[eigen] Bug in cholesky module

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi all,

the CholeskyWithoutSquareRoot module does not work with the following code snippet:

Eigen::Matrix4f m = Eigen::Matrix4f::Random();

Eigen::CholeskyWithoutSquareRoot<Eigen::Matrix4f> chol = (m*m.transpose()).eval().choleskyNoSqrt();

Eigen::Matrix<float, 4, 3> mat = Eigen::Matrix<float, 4, 3>::Random();

chol.solve(mat);

Error message:

eigen2/Eigen/src/Core/CwiseBinaryOp.h:92: Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>::CwiseBinaryOp(const Lhs&, const Rhs&, const BinaryOp&) [with BinaryOp = Eigen::ei_scalar_quotient_op<float>, Lhs = Eigen::Matrix<float, 4, 3, 4, 3, 120u>, Rhs = Eigen::DiagonalCoeffs<Eigen::Matrix<float, 4, 4, 4, 4, 120u> >]: Assertion `lhs.rows() == rhs.rows() && lhs.cols() == rhs.cols()' failed.

It seems do happen when doing the component-wise division by the diagonal matrix. It works fine with a vector only though.

Best regards

Tim Hunter

--

Timothy Hunter

Student (Stanford University)

T. 404 421 3075



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/