uncomment the commented out unit tests during debugging

release/4.3a0
Kai Ni 2010-01-16 05:10:07 +00:00
parent f5a6a10feb
commit fce2a668bb
1 changed files with 52 additions and 52 deletions

View File

@ -18,58 +18,58 @@ using namespace boost::assign;
using namespace std;
using namespace gtsam;
///* ************************************************************************* */
//TEST( Iterative, steepestDescent )
//{
// // Expected solution
// Ordering ord;
// ord += "l1", "x1", "x2";
// GaussianFactorGraph fg = createGaussianFactorGraph();
// VectorConfig expected = fg.optimize(ord); // destructive
//
// // Do gradient descent
// GaussianFactorGraph fg2 = createGaussianFactorGraph();
// VectorConfig zero = createZeroDelta();
// bool verbose = false;
// VectorConfig actual = steepestDescent(fg2, zero, verbose);
// CHECK(assert_equal(expected,actual,1e-2));
//}
//
///* ************************************************************************* */
//TEST( Iterative, conjugateGradientDescent )
//{
// // Expected solution
// Ordering ord;
// ord += "l1", "x1", "x2";
// GaussianFactorGraph fg = createGaussianFactorGraph();
// VectorConfig expected = fg.optimize(ord); // destructive
//
// // create graph and get matrices
// GaussianFactorGraph fg2 = createGaussianFactorGraph();
// Matrix A;
// Vector b;
// Vector x0 = gtsam::zero(6);
// boost::tie(A, b) = fg2.matrix(ord);
// Vector expectedX = Vector_(6, -0.1, 0.1, -0.1, -0.1, 0.1, -0.2);
//
// // Do conjugate gradient descent, System version
// System Ab(A, b);
// Vector actualX = conjugateGradientDescent(Ab, x0);
// CHECK(assert_equal(expectedX,actualX,1e-9));
//
// // Do conjugate gradient descent, Matrix version
// Vector actualX2 = conjugateGradientDescent(A, b, x0);
// CHECK(assert_equal(expectedX,actualX2,1e-9));
//
// // Do conjugate gradient descent on factor graph
// VectorConfig zero = createZeroDelta();
// VectorConfig actual = conjugateGradientDescent(fg2, zero);
// CHECK(assert_equal(expected,actual,1e-2));
//
// // Test method
// VectorConfig actual2 = fg2.conjugateGradientDescent(zero);
// CHECK(assert_equal(expected,actual2,1e-2));
//}
/* ************************************************************************* */
TEST( Iterative, steepestDescent )
{
// Expected solution
Ordering ord;
ord += "l1", "x1", "x2";
GaussianFactorGraph fg = createGaussianFactorGraph();
VectorConfig expected = fg.optimize(ord); // destructive
// Do gradient descent
GaussianFactorGraph fg2 = createGaussianFactorGraph();
VectorConfig zero = createZeroDelta();
bool verbose = false;
VectorConfig actual = steepestDescent(fg2, zero, verbose);
CHECK(assert_equal(expected,actual,1e-2));
}
/* ************************************************************************* */
TEST( Iterative, conjugateGradientDescent )
{
// Expected solution
Ordering ord;
ord += "l1", "x1", "x2";
GaussianFactorGraph fg = createGaussianFactorGraph();
VectorConfig expected = fg.optimize(ord); // destructive
// create graph and get matrices
GaussianFactorGraph fg2 = createGaussianFactorGraph();
Matrix A;
Vector b;
Vector x0 = gtsam::zero(6);
boost::tie(A, b) = fg2.matrix(ord);
Vector expectedX = Vector_(6, -0.1, 0.1, -0.1, -0.1, 0.1, -0.2);
// Do conjugate gradient descent, System version
System Ab(A, b);
Vector actualX = conjugateGradientDescent(Ab, x0);
CHECK(assert_equal(expectedX,actualX,1e-9));
// Do conjugate gradient descent, Matrix version
Vector actualX2 = conjugateGradientDescent(A, b, x0);
CHECK(assert_equal(expectedX,actualX2,1e-9));
// Do conjugate gradient descent on factor graph
VectorConfig zero = createZeroDelta();
VectorConfig actual = conjugateGradientDescent(fg2, zero);
CHECK(assert_equal(expected,actual,1e-2));
// Test method
VectorConfig actual2 = fg2.conjugateGradientDescent(zero);
CHECK(assert_equal(expected,actual2,1e-2));
}
/* ************************************************************************* *
TEST( Iterative, conjugateGradientDescent_hard_constraint )