#include <HybridNonlinearISAM.h>
Public Member Functions | |
Standard Constructors | |
HybridNonlinearISAM (int reorderInterval=1, const HybridGaussianFactorGraph::Eliminate &eliminationFunction=HybridGaussianFactorGraph::EliminationTraitsType::DefaultEliminate) | |
Standard Interface | |
Values | estimate () |
const HybridGaussianISAM & | bayesTree () const |
void | prune (const size_t maxNumberLeaves) |
Prune the underlying Bayes tree. More... | |
const Values & | getLinearizationPoint () const |
const DiscreteValues & | assignment () const |
const HybridNonlinearFactorGraph & | getFactorsUnsafe () const |
void | print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
void | printStats () const |
void | saveGraph (const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
Advanced Interface | |
void | update (const HybridNonlinearFactorGraph &newFactors, const Values &initialValues, const std::optional< size_t > &maxNrLeaves={}, const std::optional< Ordering > &ordering={}) |
void | reorderRelinearize () |
Protected Attributes | |
DiscreteValues | assignment_ |
The discrete assignment. More... | |
HybridGaussianFactorGraph::Eliminate | eliminationFunction_ |
HybridNonlinearFactorGraph | factors_ |
gtsam::HybridGaussianISAM | isam_ |
Values | linPoint_ |
int | reorderCounter_ |
int | reorderInterval_ |
Wrapper class to manage ISAM in a nonlinear context
Definition at line 29 of file HybridNonlinearISAM.h.
|
inline |
Periodically reorder and re-linearize
reorderInterval | is the number of updates between re-orderings, 0 never reorders (and is dangerous for memory consumption) 1 (default) reorders every time, in worse case is batch every update typical values are 50 or 100 |
Definition at line 61 of file HybridNonlinearISAM.h.
|
inline |
Return the current discrete assignment
Definition at line 95 of file HybridNonlinearISAM.h.
|
inline |
access the underlying bayes tree
Definition at line 82 of file HybridNonlinearISAM.h.
Values gtsam::HybridNonlinearISAM::estimate | ( | ) |
Return the current solution estimate
Definition at line 95 of file HybridNonlinearISAM.cpp.
|
inline |
get underlying nonlinear graph
Definition at line 98 of file HybridNonlinearISAM.h.
|
inline |
Return the current linearization point
Definition at line 92 of file HybridNonlinearISAM.h.
void gtsam::HybridNonlinearISAM::print | ( | const std::string & | s = "" , |
const KeyFormatter & | keyFormatter = DefaultKeyFormatter |
||
) | const |
prints out all contents of the system
Definition at line 112 of file HybridNonlinearISAM.cpp.
void gtsam::HybridNonlinearISAM::printStats | ( | ) | const |
prints out clique statistics
Definition at line 124 of file HybridNonlinearISAM.cpp.
|
inline |
Prune the underlying Bayes tree.
maxNumberLeaves | The max number of leaf nodes to keep. |
Definition at line 89 of file HybridNonlinearISAM.h.
void gtsam::HybridNonlinearISAM::reorderRelinearize | ( | ) |
Re-linearization and reordering of variables
Definition at line 63 of file HybridNonlinearISAM.cpp.
void gtsam::HybridNonlinearISAM::saveGraph | ( | const std::string & | s, |
const KeyFormatter & | keyFormatter = DefaultKeyFormatter |
||
) | const |
saves the Tree to a text file in GraphViz format
Definition at line 30 of file HybridNonlinearISAM.cpp.
void gtsam::HybridNonlinearISAM::update | ( | const HybridNonlinearFactorGraph & | newFactors, |
const Values & | initialValues, | ||
const std::optional< size_t > & | maxNrLeaves = {} , |
||
const std::optional< Ordering > & | ordering = {} |
||
) |
Add new factors along with their initial linearization points
Definition at line 36 of file HybridNonlinearISAM.cpp.
|
protected |
The discrete assignment.
Definition at line 38 of file HybridNonlinearISAM.h.
|
protected |
The elimination function
Definition at line 48 of file HybridNonlinearISAM.h.
|
protected |
The original factors, used when re-linearizing
Definition at line 41 of file HybridNonlinearISAM.h.
|
protected |
The internal iSAM object
Definition at line 32 of file HybridNonlinearISAM.h.
|
protected |
The current linearization point
Definition at line 35 of file HybridNonlinearISAM.h.
|
protected |
Definition at line 45 of file HybridNonlinearISAM.h.
|
protected |
The reordering interval and counter
Definition at line 44 of file HybridNonlinearISAM.h.