update for spcg
parent
74e82fb615
commit
3e1761b81b
|
|
@ -7,6 +7,9 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
// a container for all related parameters
|
// a container for all related parameters
|
||||||
|
|
@ -19,27 +22,38 @@ namespace gtsam {
|
||||||
ERROR,
|
ERROR,
|
||||||
} verbosityLevel;
|
} verbosityLevel;
|
||||||
|
|
||||||
protected:
|
public:
|
||||||
int maxIterations_;
|
int maxIterations_;
|
||||||
int reset_ ; // number of iterations before reset, for cg and gmres
|
int reset_ ; // number of iterations before reset, for cg and gmres
|
||||||
double epsilon_; // relative error
|
double epsilon_; // relative error
|
||||||
double epsilon_abs_; // absolute error
|
double epsilon_abs_; // absolute error
|
||||||
verbosityLevel verbosity_;
|
verbosityLevel verbosity_;
|
||||||
|
|
||||||
|
// specialize for some solvers
|
||||||
|
typedef size_t Index;
|
||||||
|
typedef std::vector<Index> Spec ;
|
||||||
|
typedef boost::shared_ptr<Spec> sharedSpec ;
|
||||||
|
sharedSpec reduce_spec_ ;
|
||||||
|
sharedSpec skeleton_spec_ ;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
IterativeOptimizationParameters():
|
IterativeOptimizationParameters():
|
||||||
maxIterations_(100),
|
maxIterations_(100),
|
||||||
reset_(101),
|
reset_(101),
|
||||||
epsilon_(1e-5),
|
epsilon_(1e-5),
|
||||||
epsilon_abs_(1e-5),
|
epsilon_abs_(1e-5),
|
||||||
verbosity_(ERROR) {}
|
verbosity_(ERROR),
|
||||||
|
reduce_spec_(), skeleton_spec_() {}
|
||||||
|
|
||||||
IterativeOptimizationParameters(const IterativeOptimizationParameters ¶meters):
|
IterativeOptimizationParameters(const IterativeOptimizationParameters ¶meters):
|
||||||
maxIterations_(parameters.maxIterations_),
|
maxIterations_(parameters.maxIterations_),
|
||||||
reset_(parameters.reset_),
|
reset_(parameters.reset_),
|
||||||
epsilon_(parameters.epsilon_),
|
epsilon_(parameters.epsilon_),
|
||||||
epsilon_abs_(parameters.epsilon_abs_),
|
epsilon_abs_(parameters.epsilon_abs_),
|
||||||
verbosity_(parameters.verbosity_) {}
|
verbosity_(parameters.verbosity_),
|
||||||
|
reduce_spec_(parameters.reduce_spec_),
|
||||||
|
skeleton_spec_(parameters.skeleton_spec_)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
IterativeOptimizationParameters
|
IterativeOptimizationParameters
|
||||||
|
|
@ -54,6 +68,5 @@ namespace gtsam {
|
||||||
double epsilon() const { return epsilon_ ;}
|
double epsilon() const { return epsilon_ ;}
|
||||||
double epsilon_abs() const { return epsilon_abs_ ; }
|
double epsilon_abs() const { return epsilon_abs_ ; }
|
||||||
verbosityLevel verbosity() const { return verbosity_ ; }
|
verbosityLevel verbosity() const { return verbosity_ ; }
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue