update tests

release/4.3a0
Varun Agrawal 2024-10-15 23:43:52 -04:00
parent 49a3b2e8a2
commit 94a95b69cb
4 changed files with 22 additions and 22 deletions

View File

@ -69,7 +69,7 @@ class TestScenario(GtsamTestCase):
lmParams = LevenbergMarquardtParams.CeresDefaults() lmParams = LevenbergMarquardtParams.CeresDefaults()
lmParams.setLinearSolverType("ITERATIVE") lmParams.setLinearSolverType("ITERATIVE")
cgParams = PCGSolverParameters() cgParams = PCGSolverParameters()
cgParams.setPreconditionerParams(DummyPreconditionerParameters()) cgParams.preconditioner = DummyPreconditionerParameters()
lmParams.setIterativeParams(cgParams) lmParams.setIterativeParams(cgParams)
actual = LevenbergMarquardtOptimizer(self.fg, self.initial_values, lmParams).optimize() actual = LevenbergMarquardtOptimizer(self.fg, self.initial_values, lmParams).optimize()
self.assertAlmostEqual(0, self.fg.error(actual)) self.assertAlmostEqual(0, self.fg.error(actual))

View File

@ -95,9 +95,9 @@ TEST( Iterative, conjugateGradientDescent_hard_constraint )
VectorValues zeros = config.zeroVectors(); VectorValues zeros = config.zeroVectors();
ConjugateGradientParameters parameters; ConjugateGradientParameters parameters;
parameters.setEpsilon_abs(1e-3); parameters.epsilon_abs = 1e-3;
parameters.setEpsilon_rel(1e-5); parameters.epsilon_rel = 1e-5;
parameters.setMaxIterations(100); parameters.maxIterations = 100;
VectorValues actual = conjugateGradientDescent(*fg, zeros, parameters); VectorValues actual = conjugateGradientDescent(*fg, zeros, parameters);
VectorValues expected; VectorValues expected;
@ -122,9 +122,9 @@ TEST( Iterative, conjugateGradientDescent_soft_constraint )
VectorValues zeros = config.zeroVectors(); VectorValues zeros = config.zeroVectors();
ConjugateGradientParameters parameters; ConjugateGradientParameters parameters;
parameters.setEpsilon_abs(1e-3); parameters.epsilon_abs = 1e-3;
parameters.setEpsilon_rel(1e-5); parameters.epsilon_rel = 1e-5;
parameters.setMaxIterations(100); parameters.maxIterations = 100;
VectorValues actual = conjugateGradientDescent(*fg, zeros, parameters); VectorValues actual = conjugateGradientDescent(*fg, zeros, parameters);
VectorValues expected; VectorValues expected;

View File

@ -54,21 +54,21 @@ TEST( PCGsolver, verySimpleLinearSystem) {
// Solve the system using Preconditioned Conjugate Gradient solver // Solve the system using Preconditioned Conjugate Gradient solver
// Common PCG parameters // Common PCG parameters
gtsam::PCGSolverParameters::shared_ptr pcg = std::make_shared<gtsam::PCGSolverParameters>(); gtsam::PCGSolverParameters::shared_ptr pcg = std::make_shared<gtsam::PCGSolverParameters>();
pcg->setMaxIterations(500); pcg->maxIterations = 500;
pcg->setEpsilon_abs(0.0); pcg->epsilon_abs = 0.0;
pcg->setEpsilon_rel(0.0); pcg->epsilon_rel = 0.0;
//pcg->setVerbosity("ERROR"); //pcg->setVerbosity("ERROR");
// With Dummy preconditioner // With Dummy preconditioner
pcg->setPreconditionerParams( pcg->preconditioner =
std::make_shared<gtsam::DummyPreconditionerParameters>()); std::make_shared<gtsam::DummyPreconditionerParameters>();
VectorValues deltaPCGDummy = PCGSolver(*pcg).optimize(simpleGFG); VectorValues deltaPCGDummy = PCGSolver(*pcg).optimize(simpleGFG);
EXPECT(assert_equal(exactSolution, deltaPCGDummy, 1e-7)); EXPECT(assert_equal(exactSolution, deltaPCGDummy, 1e-7));
//deltaPCGDummy.print("PCG Dummy"); //deltaPCGDummy.print("PCG Dummy");
// With Block-Jacobi preconditioner // With Block-Jacobi preconditioner
pcg->setPreconditionerParams( pcg->preconditioner =
std::make_shared<gtsam::BlockJacobiPreconditionerParameters>()); std::make_shared<gtsam::BlockJacobiPreconditionerParameters>();
// It takes more than 1000 iterations for this test // It takes more than 1000 iterations for this test
pcg->setMaxIterations(1500); pcg->setMaxIterations(1500);
VectorValues deltaPCGJacobi = PCGSolver(*pcg).optimize(simpleGFG); VectorValues deltaPCGJacobi = PCGSolver(*pcg).optimize(simpleGFG);
@ -107,21 +107,21 @@ TEST(PCGSolver, simpleLinearSystem) {
// Solve the system using Preconditioned Conjugate Gradient solver // Solve the system using Preconditioned Conjugate Gradient solver
// Common PCG parameters // Common PCG parameters
gtsam::PCGSolverParameters::shared_ptr pcg = std::make_shared<gtsam::PCGSolverParameters>(); gtsam::PCGSolverParameters::shared_ptr pcg = std::make_shared<gtsam::PCGSolverParameters>();
pcg->setMaxIterations(500); pcg->maxIterations = 500;
pcg->setEpsilon_abs(0.0); pcg->epsilon_abs = 0.0;
pcg->setEpsilon_rel(0.0); pcg->epsilon_rel = 0.0;
//pcg->setVerbosity("ERROR"); //pcg->setVerbosity("ERROR");
// With Dummy preconditioner // With Dummy preconditioner
pcg->setPreconditionerParams( pcg->preconditioner =
std::make_shared<gtsam::DummyPreconditionerParameters>()); std::make_shared<gtsam::DummyPreconditionerParameters>();
VectorValues deltaPCGDummy = PCGSolver(*pcg).optimize(simpleGFG); VectorValues deltaPCGDummy = PCGSolver(*pcg).optimize(simpleGFG);
EXPECT(assert_equal(expectedSolution, deltaPCGDummy, 1e-5)); EXPECT(assert_equal(expectedSolution, deltaPCGDummy, 1e-5));
//deltaPCGDummy.print("PCG Dummy"); //deltaPCGDummy.print("PCG Dummy");
// With Block-Jacobi preconditioner // With Block-Jacobi preconditioner
pcg->setPreconditionerParams( pcg->preconditioner =
std::make_shared<gtsam::BlockJacobiPreconditionerParameters>()); std::make_shared<gtsam::BlockJacobiPreconditionerParameters>();
VectorValues deltaPCGJacobi = PCGSolver(*pcg).optimize(simpleGFG); VectorValues deltaPCGJacobi = PCGSolver(*pcg).optimize(simpleGFG);
EXPECT(assert_equal(expectedSolution, deltaPCGJacobi, 1e-5)); EXPECT(assert_equal(expectedSolution, deltaPCGJacobi, 1e-5));
//deltaPCGJacobi.print("PCG Jacobi"); //deltaPCGJacobi.print("PCG Jacobi");

View File

@ -83,7 +83,7 @@ int main(int argc, char* argv[]) {
// params.setVerbosityLM("SUMMARY"); // params.setVerbosityLM("SUMMARY");
// params.linearSolverType = LevenbergMarquardtParams::Iterative; // params.linearSolverType = LevenbergMarquardtParams::Iterative;
// auto pcg = std::make_shared<PCGSolverParameters>(); // auto pcg = std::make_shared<PCGSolverParameters>();
// pcg->preconditioner_ = // pcg->preconditioner =
// std::make_shared<SubgraphPreconditionerParameters>(); // std::make_shared<SubgraphPreconditionerParameters>();
// std::make_shared<BlockJacobiPreconditionerParameters>(); // std::make_shared<BlockJacobiPreconditionerParameters>();
// params.iterativeParams = pcg; // params.iterativeParams = pcg;