From c309047d7a18d65e34eb2d23c8924867c5435927 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 28 Jan 2012 19:43:09 +0000 Subject: [PATCH] print functions for use in MATLAB --- .../nonlinear/NonlinearOptimizationParameters.h | 16 +++++++++++++++- gtsam/nonlinear/NonlinearOptimizer.h | 9 ++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gtsam/nonlinear/NonlinearOptimizationParameters.h b/gtsam/nonlinear/NonlinearOptimizationParameters.h index d7a412b24..6cfc5f1a8 100644 --- a/gtsam/nonlinear/NonlinearOptimizationParameters.h +++ b/gtsam/nonlinear/NonlinearOptimizationParameters.h @@ -105,7 +105,21 @@ namespace gtsam { /// @name Standard Interface /// @{ - /// a copy of old instance except new lambda + /// print + void print(const std::string& s="") const { + cout << "NonlinearOptimizationParameters " << s << endl; + cout << "absolute decrease threshold: " << absDecrease_ << endl; + cout << "relative decrease threshold: " << relDecrease_ << endl; + cout << " error sum threshold: " << sumError_ << endl; + cout << " maximum nr. of iterations: " << maxIterations_ << endl; + cout << " initial lambda value: " << lambda_ << endl; + cout << " factor to multiply lambda: " << lambdaFactor_ << endl; + cout << " verbosity level: " << verbosity_ << endl; + cout << " lambda mode: " << lambdaMode_ << endl; + cout << " use QR: " << useQR_ << endl; + } + + /// a copy of old instance except new lambda sharedThis newLambda_(double lambda) const { sharedThis ptr( boost::make_shared < NonlinearOptimizationParameters > (*this)); diff --git a/gtsam/nonlinear/NonlinearOptimizer.h b/gtsam/nonlinear/NonlinearOptimizer.h index a0fab4006..00647b2d8 100644 --- a/gtsam/nonlinear/NonlinearOptimizer.h +++ b/gtsam/nonlinear/NonlinearOptimizer.h @@ -193,7 +193,14 @@ public: /// @name Standard Interface /// @{ - /** Return current error */ + /// print + void print(const std::string& s="") const { + cout << "NonlinearOptimizer " << s << endl; + cout << " current error: " << error_ << endl; + cout << "iterations count: " << iterations_ << endl; + } + + /** Return current error */ double error() const { return error_; } /** Return current lambda */