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
relicense.update
def update(text)
Definition: relicense.py:46
gtsam::NonlinearISAM::getFactorsUnsafe
const NonlinearFactorGraph & getFactorsUnsafe() const
Definition: NonlinearISAM.h:81
s
RealScalar s
Definition: level1_cplx_impl.h:126
gtsam::NonlinearISAM::linPoint_
Values linPoint_
Definition: NonlinearISAM.h:34
gtsam::NonlinearISAM::isam_
gtsam::GaussianISAM isam_
Definition: NonlinearISAM.h:31
Values
gtsam::Matrix
Eigen::MatrixXd Matrix
Definition: base/Matrix.h:39
gtsam::NonlinearISAM::bayesTree
const GaussianISAM & bayesTree() const
Definition: NonlinearISAM.h:75
gtsam::NonlinearISAM::eliminationFunction_
GaussianFactorGraph::Eliminate eliminationFunction_
Definition: NonlinearISAM.h:44
gtsam::NonlinearISAM::reorderInterval_
int reorderInterval_
Definition: NonlinearISAM.h:40
gtsam::DefaultKeyFormatter
KeyFormatter DefaultKeyFormatter
Assign default key formatter.
Definition: Key.cpp:30
gtsam::print
void print(const Matrix &A, const string &s, ostream &stream)
Definition: Matrix.cpp:156
gtsam::KeyFormatter
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
gtsam::NonlinearFactorGraph
Definition: NonlinearFactorGraph.h:55
eliminationFunction
const TREE::Eliminate & eliminationFunction
Definition: inference-inst.h:55
key
const gtsam::Symbol key('X', 0)
gtsam
traits
Definition: SFMdata.h:40
gtsam::GaussianISAM
Definition: GaussianISAM.h:27
NonlinearFactorGraph.h
Factor Graph consisting of non-linear factors.
gtsam::Values
Definition: Values.h:65
gtsam::NonlinearISAM
Definition: NonlinearISAM.h:27
gtsam::NonlinearISAM::factors_
NonlinearFactorGraph factors_
Definition: NonlinearISAM.h:37
gtsam::EliminateableFactorGraph< GaussianFactorGraph >::Eliminate
std::function< EliminationResult(const FactorGraphType &, const Ordering &)> Eliminate
The function type that does a single dense elimination step on a subgraph.
Definition: EliminateableFactorGraph.h:88
gtsam::NonlinearISAM::NonlinearISAM
NonlinearISAM(int reorderInterval=1, const GaussianFactorGraph::Eliminate &eliminationFunction=GaussianFactorGraph::EliminationTraitsType::DefaultEliminate)
Definition: NonlinearISAM.h:58
gtsam::NonlinearISAM::reorderCounter_
int reorderCounter_
Definition: NonlinearISAM.h:41
gtsam::NonlinearISAM::getLinearizationPoint
const Values & getLinearizationPoint() const
Definition: NonlinearISAM.h:78
GaussianISAM.h
gtsam::Key
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:97


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:12:23