boost::test_tools::predicate_result equals(const Eigen::MatrixBase<DerivedA> &A, const Eigen::MatrixBase<DerivedB> &B, double tolerance = math::NUMERICAL_ZERO_DIFFERENCE) { if (not math::equals(A, B, tolerance)) { boost::test_tools::predicate_result res(false); Eigen::IOFormat format; if (A.cols() == 1) { format.rowSeparator = ", "; format.rowPrefix = " "; } res.message() << "\n" << A.format(format) << " != \n" << B.format(format); return res; } return true; }