gtsam/nonlinear/LevenbergMarquardtParams.h
// these do seem to work better for SFM
these do seem to work better for SFM
these do seem to work better for SFM
static void SetCeresDefaults(LevenbergMarquardtParams* p) {
    p->maxIterations = 50;
    p->absoluteErrorTol = 0;     
    p->relativeErrorTol = 1e-6;  
    p->lambdaUpperBound = 1e32;
    p->lambdaLowerBound = 1e-16;
    p->lambdaInitial = 1e-04;
    p->lambdaFactor = 2.0;
    p->minModelFidelity = 1e-3;  
    p->diagonalDamping = true;
    p->useFixedLambdaFactor = false;  
  }
static void SetCeresDefaults ( LevenbergMarquardtParams * p ) { p -> maxIterations = 50 ; p -> absoluteErrorTol = 0 ; p -> relativeErrorTol = 1e-6 ; p -> lambdaUpperBound = 1e32 ; p -> lambdaLowerBound = 1e-16 ; p -> lambdaInitial = 1e-04 ; p -> lambdaFactor = 2.0 ; p -> minModelFidelity = 1e-3 ; p -> diagonalDamping = true ; p -> useFixedLambdaFactor = false ; }
these do seem to work better for SFM
these do seem to work better for SFM
// Relevant NonlinearOptimizerParams: // No corresponding option in CERES // This is function_tolerance // LM-specific: // options.min_relative_decrease in CERES // This is important