gtsam  4.0.0
gtsam
GaussNewtonOptimizer.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2 
3  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4  * Atlanta, Georgia 30332-0415
5  * All Rights Reserved
6  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7 
8  * See LICENSE for the license information
9 
10  * -------------------------------------------------------------------------- */
11 
19 #pragma once
20 
22 
23 namespace gtsam {
24 
25 class GaussNewtonOptimizer;
26 
30 class GTSAM_EXPORT GaussNewtonParams : public NonlinearOptimizerParams {
31 };
32 
36 class GTSAM_EXPORT GaussNewtonOptimizer : public NonlinearOptimizer {
37 
38 protected:
39  GaussNewtonParams params_;
40 
41 public:
44 
53  GaussNewtonOptimizer(const NonlinearFactorGraph& graph, const Values& initialValues,
54  const GaussNewtonParams& params = GaussNewtonParams());
55 
63  GaussNewtonOptimizer(const NonlinearFactorGraph& graph, const Values& initialValues,
64  const Ordering& ordering);
66 
69 
71  virtual ~GaussNewtonOptimizer() {}
72 
77  GaussianFactorGraph::shared_ptr iterate() override;
78 
80  const GaussNewtonParams& params() const { return params_; }
81 
83 
84 protected:
86  const NonlinearOptimizerParams& _params() const override { return params_; }
87 
89  GaussNewtonParams ensureHasOrdering(GaussNewtonParams params, const NonlinearFactorGraph& graph) const;
90 
91 };
92 
93 }
A non-templated config holding any types of Manifold-group elements.
Definition: Values.h:70
This is the abstract interface for classes that can optimize for the maximum-likelihood estimate of a...
Definition: NonlinearOptimizer.h:75
This class performs Gauss-Newton nonlinear optimization.
Definition: GaussNewtonOptimizer.h:36
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition: GaussianFactorGraph.h:74
Parameters for Gauss-Newton optimization, inherits from NonlinearOptimizationParams.
Definition: GaussNewtonOptimizer.h:30
const GaussNewtonParams & params() const
Read-only access the parameters.
Definition: GaussNewtonOptimizer.h:80
Base class and parameters for nonlinear optimization algorithms.
const NonlinearOptimizerParams & _params() const override
Access the parameters (base class version)
Definition: GaussNewtonOptimizer.h:86
A non-linear factor graph is a graph of non-Gaussian, i.e.
Definition: NonlinearFactorGraph.h:77
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
The common parameters for Nonlinear optimizers.
Definition: NonlinearOptimizerParams.h:34
Definition: Ordering.h:34
virtual ~GaussNewtonOptimizer()
Virtual destructor.
Definition: GaussNewtonOptimizer.h:71