@@ -727,6 +727,39 @@ TEST(ExpressionFactor, variadicTemplate) {
727727}
728728
729729
730+ TEST (ExpressionFactor, crossProduct) {
731+ auto model = noiseModel::Isotropic::Sigma (3 , 1 );
732+
733+ // Create expression
734+ const auto a = Vector3_ (1 );
735+ const auto b = Vector3_ (2 );
736+ Vector3_ f_expr = cross (a, b);
737+
738+ // Check derivatives
739+ Values values;
740+ values.insert (1 , Vector3 (0.1 , 0.2 , 0.3 ));
741+ values.insert (2 , Vector3 (0.4 , 0.5 , 0.6 ));
742+ ExpressionFactor<Vector3> factor (model, Vector3::Zero (), f_expr);
743+ EXPECT_CORRECT_FACTOR_JACOBIANS (factor, values, 1e-5 , 1e-5 );
744+ }
745+
746+ TEST (ExpressionFactor, dotProduct) {
747+ auto model = noiseModel::Isotropic::Sigma (1 , 1 );
748+
749+ // Create expression
750+ const auto a = Vector3_ (1 );
751+ const auto b = Vector3_ (2 );
752+ Double_ f_expr = dot (a, b);
753+
754+ // Check derivatives
755+ Values values;
756+ values.insert (1 , Vector3 (0.1 , 0.2 , 0.3 ));
757+ values.insert (2 , Vector3 (0.4 , 0.5 , 0.6 ));
758+ ExpressionFactor<double > factor (model, .0 , f_expr);
759+ EXPECT_CORRECT_FACTOR_JACOBIANS (factor, values, 1e-5 , 1e-5 );
760+ }
761+
762+
730763/* ************************************************************************* */
731764int main () {
732765 TestResult tr;
0 commit comments