NonlinearISAM.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 #pragma once
19 
22 
23 namespace gtsam {
27 class GTSAM_EXPORT NonlinearISAM {
28 protected:
29 
32 
35 
38 
42 
45 
46 public:
47 
50 
58  NonlinearISAM(int reorderInterval = 1,
59  const GaussianFactorGraph::Eliminate& eliminationFunction = GaussianFactorGraph::EliminationTraitsType::DefaultEliminate) :
60  reorderInterval_(reorderInterval), reorderCounter_(0), eliminationFunction_(eliminationFunction) {}
61 
65 
67  Values estimate() const;
68 
70  Matrix marginalCovariance(Key key) const;
71 
72  // access
73 
75  const GaussianISAM& bayesTree() const { return isam_; }
76 
78  const Values& getLinearizationPoint() const { return linPoint_; }
79 
81  const NonlinearFactorGraph& getFactorsUnsafe() const { return factors_; }
82 
84  int reorderInterval() const { return reorderInterval_; }
85  int reorderCounter() const { return reorderCounter_; }
86 
88  void print(const std::string& s="", const KeyFormatter& keyFormatter = DefaultKeyFormatter) const;
89 
91  void printStats() const;
92 
94  void saveGraph(const std::string& s, const KeyFormatter& keyFormatter = DefaultKeyFormatter) const;
95 
99 
101  void update(const NonlinearFactorGraph& newFactors, const Values& initialValues);
102 
104  void reorder_relinearize();
105 
107 
108 };
109 
110 } // \namespace gtsam
void print(const Matrix &A, const string &s, ostream &stream)
Definition: Matrix.cpp:155
const gtsam::Symbol key('X', 0)
def update(text)
Definition: relicense.py:46
int reorderInterval() const
TODO: comment.
Definition: NonlinearISAM.h:84
Factor Graph consisting of non-linear factors.
gtsam::GaussianISAM isam_
Definition: NonlinearISAM.h:31
Eigen::MatrixXd Matrix
Definition: base/Matrix.h:39
GaussianFactorGraph::Eliminate eliminationFunction_
Definition: NonlinearISAM.h:44
static const KeyFormatter DefaultKeyFormatter
Definition: Key.h:43
const NonlinearFactorGraph & getFactorsUnsafe() const
Definition: NonlinearISAM.h:81
const Values & getLinearizationPoint() const
Definition: NonlinearISAM.h:78
std::function< EliminationResult(const FactorGraphType &, const Ordering &)> Eliminate
The function type that does a single dense elimination step on a subgraph.
const GaussianISAM & bayesTree() const
Definition: NonlinearISAM.h:75
RealScalar s
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:35
traits
Definition: chartTesting.h:28
const TREE::Eliminate & eliminationFunction
NonlinearISAM(int reorderInterval=1, const GaussianFactorGraph::Eliminate &eliminationFunction=GaussianFactorGraph::EliminationTraitsType::DefaultEliminate)
Definition: NonlinearISAM.h:58
int reorderCounter() const
TODO: comment.
Definition: NonlinearISAM.h:85
NonlinearFactorGraph factors_
Definition: NonlinearISAM.h:37
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:34:57