From e3aaeedbf2c05edb7fb86a95aa492ae2930cefc4 Mon Sep 17 00:00:00 2001 From: Yong-Dian Jian Date: Mon, 24 Sep 2012 21:05:37 +0000 Subject: [PATCH] update the optimize interface --- gtsam/linear/IterativeSolver.h | 4 ++++ gtsam/linear/SubgraphSolver.cpp | 5 +++++ gtsam/linear/SubgraphSolver.h | 1 + 3 files changed, 10 insertions(+) diff --git a/gtsam/linear/IterativeSolver.h b/gtsam/linear/IterativeSolver.h index 7946874bb..05741d763 100644 --- a/gtsam/linear/IterativeSolver.h +++ b/gtsam/linear/IterativeSolver.h @@ -68,6 +68,10 @@ namespace gtsam { /* interface to the nonlinear optimizer */ virtual VectorValues optimize () = 0; + + /* interface to the nonlinear optimizer */ + virtual VectorValues optimize (const VectorValues &initial) = 0; + /* update interface to the nonlinear optimizer */ virtual void replaceFactors(const GaussianFactorGraph::shared_ptr &factorGraph, const double lambda) {} }; diff --git a/gtsam/linear/SubgraphSolver.cpp b/gtsam/linear/SubgraphSolver.cpp index 9986fb76c..519192144 100644 --- a/gtsam/linear/SubgraphSolver.cpp +++ b/gtsam/linear/SubgraphSolver.cpp @@ -78,6 +78,11 @@ VectorValues SubgraphSolver::optimize() { return pc_->x(ybar); } +VectorValues SubgraphSolver::optimize(const VectorValues &initial) { + // the initial is ignored in this case ... + return optimize(); +} + void SubgraphSolver::initialize(const GaussianFactorGraph &jfg) { GaussianFactorGraph::shared_ptr Ab1 = boost::make_shared(), diff --git a/gtsam/linear/SubgraphSolver.h b/gtsam/linear/SubgraphSolver.h index fe968d486..e8d72c23b 100644 --- a/gtsam/linear/SubgraphSolver.h +++ b/gtsam/linear/SubgraphSolver.h @@ -72,6 +72,7 @@ public: virtual ~SubgraphSolver() {} virtual VectorValues optimize () ; + virtual VectorValues optimize (const VectorValues &initial) ; protected: