From 2f8d12b9ba4491775f015ed155cea7e5bd747e6e Mon Sep 17 00:00:00 2001 From: dellaert Date: Thu, 5 Mar 2015 12:41:01 -0800 Subject: [PATCH] Added more tests to diagnose Regular-Q inconsistency --- .../slam/tests/testRegularImplicitSchurFactor.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gtsam/slam/tests/testRegularImplicitSchurFactor.cpp b/gtsam/slam/tests/testRegularImplicitSchurFactor.cpp index 4e7e0fa17..0063326fe 100644 --- a/gtsam/slam/tests/testRegularImplicitSchurFactor.cpp +++ b/gtsam/slam/tests/testRegularImplicitSchurFactor.cpp @@ -126,13 +126,14 @@ TEST( regularImplicitSchurFactor, addHessianMultiply ) { const SharedDiagonal model; JacobianFactorQ<6, 2> jf(keys, FBlocks, E, P, b, model); +// TODO(frank) Neither tests pass, should get to bottom, possibly remove errorJF? { // error double expectedError = jf.error(xvalues); - double actualError = implicitFactor.errorJF(xvalues); - DOUBLES_EQUAL(expectedError,actualError,1e-7) + EXPECT_DOUBLES_EQUAL(expectedError,implicitFactor.error(xvalues),1e-7) + EXPECT_DOUBLES_EQUAL(expectedError,implicitFactor.errorJF(xvalues),1e-7) } - { // JacobianFactor with same error + { VectorValues yActual = zero; jf.multiplyHessianAdd(alpha, xvalues, yActual); EXPECT(assert_equal(yExpected, yActual, 1e-8)); @@ -175,6 +176,13 @@ TEST( regularImplicitSchurFactor, addHessianMultiply ) { // Create JacobianFactorQR JacobianFactorQR<6, 2> jfq(keys, FBlocks, E, P, b, model); + { // error + double expectedError = jfq.error(xvalues); + EXPECT_DOUBLES_EQUAL(expectedError, jf.error(xvalues),1e-7) + double actualError = implicitFactor.errorJF(xvalues); + EXPECT_DOUBLES_EQUAL(expectedError,actualError,1e-7) + } + { const SharedDiagonal model; VectorValues yActual = zero;