12template <
typename DerivedA,
typename DerivedB>
17 (m1.rows() == m2.rows()) &&
18 (m1.cols() == m2.cols()) &&
19 ((m1 - m2).template lpNorm<Eigen::Infinity>() <= tolerance));
37template <
typename DerivedA,
typename DerivedB>
41 if ((m1.cols() != m2.cols()) || (m1.rows() != m2.rows()))
return false;
43 std::vector<bool> available(m2.cols());
44 for (
int i = 0; i < m2.cols(); i++) available[i] =
true;
46 for (
int i = 0; i < m1.cols(); i++) {
47 bool found_match =
false;
48 for (
int j = 0; j < m2.cols(); j++) {
56 if (!found_match)
return false;
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:50
Definition: drake_assertion_error.h:6
bool is_approx_equal_abstol(const Eigen::MatrixBase< DerivedA > &m1, const Eigen::MatrixBase< DerivedB > &m2, double tolerance)
Returns true if and only if the two matrices are equal to within a certain absolute elementwise toler...
Definition: is_approx_equal_abstol.h:13
bool IsApproxEqualAbsTolWithPermutedColumns(const Eigen::MatrixBase< DerivedA > &m1, const Eigen::MatrixBase< DerivedB > &m2, double tolerance)
Returns true if and only if a simple greedy search reveals a permutation of the columns of m2 to make...
Definition: is_approx_equal_abstol.h:38