Disambiguate multiplication of a permutation matrix and a homogeneous vector

This commit is contained in:
Sergiu Deitsch
2025-09-27 14:03:07 +02:00
parent bea7f7c582
commit 8d7ebac6ec
2 changed files with 17 additions and 0 deletions

View File

@@ -124,6 +124,15 @@ void homogeneous(void) {
VERIFY_IS_APPROX(pts_xy1.transpose() * pts_xy1, pts_xy1.transpose() * pts_xy1.eval());
VERIFY_IS_APPROX(pts_xy2 * pts_xy2.transpose(), pts_xy2.eval() * pts_xy2.transpose());
}
{
const Eigen::PermutationMatrix<Size> P{Eigen::Vector<int, Size>::EqualSpaced(0, 1)};
const auto right = Eigen::Vector<Scalar, Size - 1>::Random().homogeneous();
const auto left = Eigen::RowVector<Scalar, Size - 1>::Random().homogeneous();
VERIFY_IS_APPROX(P * right, P * right.eval());
VERIFY_IS_APPROX(left * P, left.eval() * P);
}
}
EIGEN_DECLARE_TEST(geo_homogeneous) {