Go to the documentation of this file.00001
00028 #pragma once
00029
00030 namespace isam {
00031
00032 enum Method {GAUSS_NEWTON, LEVENBERG_MARQUARDT, DOG_LEG};
00033
00037 class Properties {
00038
00039 public:
00040
00042 bool verbose;
00043
00045 bool quiet;
00046
00048 bool force_numerical_jacobian;
00049
00051 Method method;
00052
00055 double epsilon1;
00058 double epsilon2;
00061 double epsilon3;
00062
00065 double epsilon_abs;
00069 double epsilon_rel;
00070
00072 int max_iterations;
00074 double lm_lambda0;
00076 double lm_lambda_factor;
00077
00079 int mod_update;
00081 int mod_batch;
00083 int mod_solve;
00084
00085
00086 Properties() :
00087 verbose(false),
00088 quiet(false),
00089
00090 force_numerical_jacobian(false),
00091
00092 method(GAUSS_NEWTON),
00093
00094 epsilon1(1e-2),
00095 epsilon2(1e-2),
00096 epsilon3(1e-2),
00097
00098 epsilon_abs(1e-3),
00099 epsilon_rel(1e-5),
00100
00101 max_iterations(500),
00102
00103 lm_lambda0(1e-6),
00104 lm_lambda_factor(10.),
00105
00106 mod_update(1),
00107 mod_batch(100),
00108 mod_solve(1)
00109 {}
00110 };
00111
00112 }