From 8b05fdb14fa12b196b331102d0b688c346891cc6 Mon Sep 17 00:00:00 2001 From: Yong-Dian Jian Date: Tue, 14 Feb 2012 04:08:43 +0000 Subject: [PATCH] minor update --- .../linear/IterativeOptimizationParameters.h | 112 +++++++----------- 1 file changed, 45 insertions(+), 67 deletions(-) diff --git a/gtsam/linear/IterativeOptimizationParameters.h b/gtsam/linear/IterativeOptimizationParameters.h index e779b7519..98b26e603 100644 --- a/gtsam/linear/IterativeOptimizationParameters.h +++ b/gtsam/linear/IterativeOptimizationParameters.h @@ -27,83 +27,61 @@ public: } verbosityLevel; public: - int maxIterations_; - int reset_; // number of iterations before reset, for cg and gmres - double epsilon_; // relative error + size_t minIterations_; + size_t maxIterations_; + size_t reset_; // number of iterations before reset, for cg and gmres + double epsilon_rel_; // relative error double epsilon_abs_; // absolute error verbosityLevel verbosity_; - size_t nReduce_ ; - boost::shared_ptr skeleton_spec_; bool est_cond_ ; public: - IterativeOptimizationParameters() : - maxIterations_(500), reset_(501), epsilon_(1e-3), epsilon_abs_(1e-3), - verbosity_(SILENT), nReduce_(0), skeleton_spec_(), est_cond_(false) { - } + IterativeOptimizationParameters() + : minIterations_(1), maxIterations_(500), reset_(501), + epsilon_rel_(1e-3), epsilon_abs_(1e-3), verbosity_(SILENT), est_cond_(false) {} IterativeOptimizationParameters( - const IterativeOptimizationParameters ¶meters) : - maxIterations_(parameters.maxIterations_), reset_(parameters.reset_), - epsilon_(parameters.epsilon_), epsilon_abs_(parameters.epsilon_abs_), - verbosity_(parameters.verbosity_), - nReduce_(parameters.nReduce_), - skeleton_spec_(parameters.skeleton_spec_), - est_cond_(parameters.est_cond_){ - } + const IterativeOptimizationParameters &p) : + minIterations_(p.minIterations_), maxIterations_(p.maxIterations_), reset_(p.reset_), + epsilon_rel_(p.epsilon_rel_), epsilon_abs_(p.epsilon_abs_), verbosity_(p.verbosity_), + est_cond_(p.est_cond_){ } - IterativeOptimizationParameters(int maxIterations, double epsilon, - double epsilon_abs, verbosityLevel verbosity = ERROR, int reset = -1, bool est_cond=false) : - maxIterations_(maxIterations), reset_(reset), epsilon_(epsilon), - epsilon_abs_(epsilon_abs), verbosity_(verbosity), - nReduce_(0), - skeleton_spec_(), - est_cond_(est_cond) { - if (reset_ == -1) - reset_ = maxIterations_ + 1; - } + IterativeOptimizationParameters(size_t minIterations, size_t maxIterations, size_t reset, + double epsilon, double epsilon_abs, verbosityLevel verbosity = ERROR, bool est_cond = false) : + minIterations_(minIterations), maxIterations_(maxIterations), reset_(reset), + epsilon_rel_(epsilon), epsilon_abs_(epsilon_abs), verbosity_(verbosity), est_cond_(est_cond) {} - int maxIterations() const { - return maxIterations_; - } - int reset() const { - return reset_; - } - double epsilon() const { - return epsilon_; - } - double epsilon_abs() const { - return epsilon_abs_; - } - verbosityLevel verbosity() const { - return verbosity_; - } - bool est_cond() const { - return est_cond_ ; - } + size_t minIterations() const { return minIterations_; } + size_t maxIterations() const { return maxIterations_; } + size_t reset() const { return reset_; } + double epsilon() const { return epsilon_rel_; } + double epsilon_rel() const { return epsilon_rel_; } + double epsilon_abs() const { return epsilon_abs_; } + verbosityLevel verbosity() const { return verbosity_; } + bool est_cond() const { return est_cond_ ; } }; -struct DimSpec: public std::vector { - - typedef std::vector Base; - typedef boost::shared_ptr shared_ptr; - - DimSpec() : - Base() { - } - DimSpec(size_t n) : - Base(n) { - } - DimSpec(size_t n, size_t init) : - Base(n, init) { - } - DimSpec(const VectorValues &V) : - Base(V.size()) { - const size_t n = V.size(); - for (size_t i = 0; i < n; ++i) { - (*this)[i] = V[i].rows(); - } - } -}; +//struct DimSpec: public std::vector { +// +// typedef std::vector Base; +// typedef boost::shared_ptr shared_ptr; +// +// DimSpec() : +// Base() { +// } +// DimSpec(size_t n) : +// Base(n) { +// } +// DimSpec(size_t n, size_t init) : +// Base(n, init) { +// } +// DimSpec(const VectorValues &V) : +// Base(V.size()) { +// const size_t n = V.size(); +// for (size_t i = 0; i < n; ++i) { +// (*this)[i] = V[i].rows(); +// } +// } +//}; }