Unit test verifies Jacobian and value
							parent
							
								
									e0f9f7a33e
								
							
						
					
					
						commit
						9322b3ba8b
					
				|  | @ -20,6 +20,7 @@ | |||
| #include <gtsam_unstable/nonlinear/ExpressionFactor.h> | ||||
| #include <gtsam/linear/VectorValues.h> | ||||
| #include <gtsam/linear/GaussianFactorGraph.h> | ||||
| #include <gtsam/base/numericalDerivative.h> | ||||
| #include <gtsam/base/Testable.h> | ||||
| 
 | ||||
| #include <CppUnitLite/TestHarness.h> | ||||
|  | @ -60,12 +61,25 @@ public: | |||
| 
 | ||||
|   /// Given coefficients c, predict value for x
 | ||||
|   double operator()(const Coefficients& c, boost::optional<Jacobian&> H) { | ||||
|     if (H) | ||||
|       (*H) = H_; | ||||
|     return H_ * c; | ||||
|   } | ||||
| }; | ||||
| 
 | ||||
| //******************************************************************************
 | ||||
| TEST(BasisDecompositions, Fourier) { | ||||
|   Fourier<3> fx(0); | ||||
|   Eigen::Matrix<double, 1, 3> expectedH, actualH; | ||||
|   Vector3 c(1.5661, 1.2717, 1.2717); | ||||
|   expectedH = numericalDerivative11<double, Vector3>( | ||||
|       boost::bind(&Fourier<3>::operator(), fx, _1, boost::none), c); | ||||
|   EXPECT_DOUBLES_EQUAL(c[0]+c[1], fx(c,actualH), 1e-9); | ||||
|   EXPECT(assert_equal((Matrix)expectedH, actualH)); | ||||
| } | ||||
| 
 | ||||
| //******************************************************************************
 | ||||
| TEST(BasisDecompositions, FourierExpression) { | ||||
| 
 | ||||
|   // Create linear factor graph
 | ||||
|   GaussianFactorGraph g; | ||||
|  | @ -93,7 +107,7 @@ TEST(BasisDecompositions, Fourier) { | |||
| 
 | ||||
|   // Check
 | ||||
|   Vector3 expected(1.5661, 1.2717, 1.2717); | ||||
|   CHECK(assert_equal((Vector) expected, actual.at(key),1e-4)); | ||||
|   EXPECT(assert_equal((Vector) expected, actual.at(key),1e-4)); | ||||
| } | ||||
| 
 | ||||
| //******************************************************************************
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue