diff --git a/gtsam/nonlinear/DoglegOptimizer.h b/gtsam/nonlinear/DoglegOptimizer.h index 25abfda39..81081c177 100644 --- a/gtsam/nonlinear/DoglegOptimizer.h +++ b/gtsam/nonlinear/DoglegOptimizer.h @@ -152,6 +152,9 @@ public: dimensions_(new vector(values_->dims(*ordering_))), delta_(dlParams_->deltaInitial) {} + /** Access the variable ordering used by this optimizer */ + const SharedOrdering& ordering() const { return ordering_; } + /// @} /// @name Advanced interface diff --git a/gtsam/nonlinear/GaussNewtonOptimizer.h b/gtsam/nonlinear/GaussNewtonOptimizer.h index ea64bfe44..f9deaeded 100644 --- a/gtsam/nonlinear/GaussNewtonOptimizer.h +++ b/gtsam/nonlinear/GaussNewtonOptimizer.h @@ -134,6 +134,9 @@ public: colamdOrdering_(!ordering || ordering->size() == 0), ordering_(colamdOrdering_ ? graph_->orderingCOLAMD(*values_) : ordering) {} + /** Access the variable ordering used by this optimizer */ + const SharedOrdering& ordering() const { return ordering_; } + /// @} /// @name Advanced interface diff --git a/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp b/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp index b8ba0b6a4..d05d23c3f 100644 --- a/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp +++ b/gtsam/nonlinear/LevenbergMarquardtOptimizer.cpp @@ -101,8 +101,7 @@ NonlinearOptimizer::auto_ptr LevenbergMarquardtOptimizer::iterate() const { next_error = error; lambda /= lambdaFactor; break; - } - else { + } else { // Either we're not cautious, or the same lambda was worse than the current error. // The more adventurous lambda was worse too, so make lambda more conservative // and keep the same values. diff --git a/gtsam/nonlinear/LevenbergMarquardtOptimizer.h b/gtsam/nonlinear/LevenbergMarquardtOptimizer.h index 4f665a7b3..73a6e8254 100644 --- a/gtsam/nonlinear/LevenbergMarquardtOptimizer.h +++ b/gtsam/nonlinear/LevenbergMarquardtOptimizer.h @@ -161,6 +161,9 @@ public: dimensions_(new vector(values_->dims(*ordering_))), lambda_(lmParams_->lambdaInitial) {} + /** Access the variable ordering used by this optimizer */ + const SharedOrdering& ordering() const { return ordering_; } + /// @} /// @name Advanced interface