gtsam
Loading...
Searching...
No Matches
NonlinearMultifrontalSolver.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
18
19#pragma once
20
25
26#include <optional>
27
28namespace gtsam {
29
38 public:
39 using DampingParams = LMDampingParams;
40
52 const Values& values, const Ordering& ordering,
54 DampingParams dampingParams = DampingParams());
55
62 const NonlinearFactorGraph& graph, const Values& values,
63 const Ordering& ordering);
64
70 void load(const GaussianFactorGraph& graph);
71
77 void eliminateInPlace(double lambda = 0.0);
78
85 void eliminateInPlace(const GaussianFactorGraph& graph, double lambda = 0.0);
86
87 private:
88 DampingParams dampingParams_;
89 VectorValues exactHessianDiagonal_;
90 bool hasExactHessianDiagonal_ = false;
91};
92
93} // namespace gtsam
Imperative-style multifrontal solver for Gaussian factor graphs.
A non-templated config holding any types of Manifold-group elements.
Factor Graph consisting of non-linear factors.
Parameters controlling LM-style damping for NonlinearMultifrontalSolver.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
Definition Ordering.h:33
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition GaussianFactorGraph.h:77
MultifrontalParameters Parameters
Tuning parameters for traversal and reporting.
Definition MultifrontalSolver.h:85
MultifrontalSolver(const GaussianFactorGraph &graph, const Ordering &ordering, const Parameters &params=Parameters{})
Construct the solver from a factor graph and an ordering.
Definition MultifrontalSolver.cpp:529
Precomputed symbolic and sizing data for multifrontal solver construction.
Definition MultifrontalSolver.h:88
VectorValues represents a collection of vector-valued variables associated each with a unique integer...
Definition VectorValues.h:73
Parameters controlling LM-style damping as applied by gtsam::NonlinearMultifrontalSolver.
Definition LMDampingParams.h:31
Definition NonlinearFactorGraph.h:57
void eliminateInPlace(double lambda=0.0)
Eliminate with optional LM-style damping.
Definition NonlinearMultifrontalSolver.cpp:105
NonlinearMultifrontalSolver(const NonlinearFactorGraph &graph, const Values &values, const Ordering &ordering, MultifrontalSolver::Parameters params={}, DampingParams dampingParams=DampingParams())
Construct the solver from a nonlinear factor graph and linearization point.
Definition NonlinearMultifrontalSolver.cpp:55
void load(const GaussianFactorGraph &graph)
Load new numerical values from the factor graph.
Definition NonlinearMultifrontalSolver.cpp:93
static MultifrontalSolver::PrecomputedData Precompute(const NonlinearFactorGraph &graph, const Values &values, const Ordering &ordering)
Precompute symbolic structure from a nonlinear factor graph and values.
Definition NonlinearMultifrontalSolver.cpp:65
A non-templated config holding any types of Manifold-group elements.
Definition Values.h:65