gtsam 4.2.0
gtsam
Loading...
Searching...
No Matches
gtsam::HybridGaussianISAM Class Reference
+ Inheritance diagram for gtsam::HybridGaussianISAM:

Public Member Functions

void update (const HybridGaussianFactorGraph &newFactors, const boost::optional< size_t > &maxNrLeaves=boost::none, const boost::optional< Ordering > &ordering=boost::none, const HybridBayesTree::Eliminate &function=HybridBayesTree::EliminationTraitsType::DefaultEliminate)
 Perform update step with new factors.
 
Standard Constructors
 HybridGaussianISAM ()
 Create an empty Bayes Tree.
 
 HybridGaussianISAM (const HybridBayesTree &bayesTree)
 Copy constructor.
 
- Public Member Functions inherited from gtsam::ISAM< HybridBayesTree >
 ISAM ()
 Create an empty Bayes Tree.
 
 ISAM (const Base &bayesTree)
 Copy constructor.
 
void update (const FactorGraphType &newFactors, const Eliminate &function=EliminationTraitsType::DefaultEliminate)
 update the Bayes tree with a set of new factors, typically derived from measurements
 
void updateInternal (const FactorGraphType &newFactors, Cliques *orphans, const Eliminate &function=EliminationTraitsType::DefaultEliminate)
 updateInternal provides access to list of orphans for drawing purposes
 
- Public Member Functions inherited from gtsam::HybridBayesTree
 HybridBayesTree ()=default
 Default constructor, creates an empty Bayes tree.
 
bool equals (const This &other, double tol=1e-9) const
 Check equality.
 
GaussianBayesTree choose (const DiscreteValues &assignment) const
 Get the Gaussian Bayes Tree which corresponds to a specific discrete value assignment.
 
HybridValues optimize () const
 Optimize the hybrid Bayes tree by computing the MPE for the current set of discrete variables and using it to compute the best continuous update delta.
 
VectorValues optimize (const DiscreteValues &assignment) const
 Recursively optimize the BayesTree to produce a vector solution.
 
void prune (const size_t maxNumberLeaves)
 Prune the underlying Bayes tree.
 
- Public Member Functions inherited from gtsam::BayesTree< HybridBayesTreeClique >
size_t size () const
 number of cliques
 
bool empty () const
 Check if there are any cliques in the tree.
 
const Nodesnodes () const
 Return nodes.
 
sharedClique operator[] (Key j) const
 Access node by variable.
 
const Rootsroots () const
 return root cliques
 
const sharedCliqueclique (Key j) const
 alternate syntax for matlab: find the clique that contains the variable with Key j
 
BayesTreeCliqueData getCliqueData () const
 Gather data on all cliques.
 
size_t numCachedSeparatorMarginals () const
 Collect number of cliques with cached separator marginals.
 
sharedConditional marginalFactor (Key j, const Eliminate &function=EliminationTraitsType::DefaultEliminate) const
 Return marginal on any variable.
 
sharedFactorGraph joint (Key j1, Key j2, const Eliminate &function=EliminationTraitsType::DefaultEliminate) const
 return joint on two variables Limitation: can only calculate joint if cliques are disjoint or one of them is root
 
sharedBayesNet jointBayesNet (Key j1, Key j2, const Eliminate &function=EliminationTraitsType::DefaultEliminate) const
 return joint on two variables as a BayesNet Limitation: can only calculate joint if cliques are disjoint or one of them is root
 
void dot (std::ostream &os, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 Output to graphviz format, stream version.
 
std::string dot (const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 Output to graphviz format string.
 
void saveGraph (const std::string &filename, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 output to file with graphviz format.
 
Key findParentClique (const CONTAINER &parents) const
 Find parent clique of a conditional.
 
void clear ()
 Remove all nodes.
 
void deleteCachedShortcuts ()
 Clear all shortcut caches - use before timing on marginal calculation to avoid residual cache data.
 
void removePath (sharedClique clique, BayesNetType *bn, Cliques *orphans)
 Remove path from clique to root and return that path as factors plus a list of orphaned subtree roots.
 
void removeTop (const KeyVector &keys, BayesNetType *bn, Cliques *orphans)
 Given a list of indices, turn "contaminated" part of the tree back into a factor graph.
 
Cliques removeSubtree (const sharedClique &subtree)
 Remove the requested subtree.
 
void insertRoot (const sharedClique &subtree)
 Insert a new subtree with known parent clique.
 
void addClique (const sharedClique &clique, const sharedClique &parent_clique=sharedClique())
 add a clique (top down)
 
void addFactorsToGraph (FactorGraph< FactorType > *graph) const
 Add all cliques in this BayesTree to the specified factor graph.
 
void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 print
 

Static Public Member Functions

static Ordering GetOrdering (HybridGaussianFactorGraph &factors, const HybridGaussianFactorGraph &newFactors)
 Helper method to get an ordering given the existing factors and any new factors added.
 

Public Types

typedef ISAM< HybridBayesTreeBase
 
typedef HybridGaussianISAM This
 
typedef boost::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::ISAM< HybridBayesTree >
typedef HybridBayesTree Base
 
typedef Base::BayesNetType BayesNetType
 
typedef Base::FactorGraphType FactorGraphType
 
typedef Base::Clique Clique
 
typedef Base::sharedClique sharedClique
 
typedef Base::Cliques Cliques
 
- Public Types inherited from gtsam::HybridBayesTree
typedef HybridBayesTree This
 
typedef boost::shared_ptr< Thisshared_ptr
 
- Public Types inherited from gtsam::BayesTree< HybridBayesTreeClique >
typedef HybridBayesTreeClique Clique
 The clique type, normally BayesTreeClique.
 
typedef boost::shared_ptr< CliquesharedClique
 Shared pointer to a clique.
 
typedef Clique Node
 Synonym for Clique (TODO: remove)
 
typedef sharedClique sharedNode
 Synonym for sharedClique (TODO: remove)
 
typedef CLIQUE::ConditionalType ConditionalType
 
typedef boost::shared_ptr< ConditionalType > sharedConditional
 
typedef CLIQUE::BayesNetType BayesNetType
 
typedef boost::shared_ptr< BayesNetType > sharedBayesNet
 
typedef CLIQUE::FactorType FactorType
 
typedef boost::shared_ptr< FactorType > sharedFactor
 
typedef CLIQUE::FactorGraphType FactorGraphType
 
typedef boost::shared_ptr< FactorGraphType > sharedFactorGraph
 
typedef FactorGraphType::Eliminate Eliminate
 
typedef CLIQUE::EliminationTraitsType EliminationTraitsType
 
typedef FastList< sharedCliqueCliques
 A convenience class for a list of shared cliques.
 
typedef ConcurrentMap< Key, sharedCliqueNodes
 Map from keys to Clique.
 
typedef FastVector< sharedCliqueRoots
 Root cliques.
 

Additional Inherited Members

- Protected Types inherited from gtsam::BayesTree< HybridBayesTreeClique >
typedef BayesTree< HybridBayesTreeCliqueThis
 
typedef boost::shared_ptr< Thisshared_ptr
 
- Protected Member Functions inherited from gtsam::BayesTree< HybridBayesTreeClique >
Thisoperator= (const This &other)
 Assignment operator.
 
 BayesTree ()
 Create an empty Bayes Tree.
 
 BayesTree (const This &other)
 Copy constructor.
 
void getCliqueData (sharedClique clique, BayesTreeCliqueData *stats) const
 Gather data on a single clique.
 
void dot (std::ostream &s, sharedClique clique, const KeyFormatter &keyFormatter, int parentnum=0) const
 private helper method for saving the Tree to a text file in GraphViz format
 
void removeClique (sharedClique clique)
 remove a clique: warning, can result in a forest
 
void fillNodesIndex (const sharedClique &subtree)
 Fill the nodes index for a subtree.
 
bool equals (const This &other, double tol=1e-9) const
 check equality
 
- Protected Attributes inherited from gtsam::BayesTree< HybridBayesTreeClique >
Nodes nodes_
 Map from indices to Clique.
 
Roots roots_
 Root cliques.
 

Member Function Documentation

◆ GetOrdering()

Ordering gtsam::HybridGaussianISAM::GetOrdering ( HybridGaussianFactorGraph factors,
const HybridGaussianFactorGraph newFactors 
)
static

Helper method to get an ordering given the existing factors and any new factors added.

Parameters
factorsThe existing factors in the BayesTree.
newFactorsNew factors added during the update step.
Returns
Ordering

◆ update()

void gtsam::HybridGaussianISAM::update ( const HybridGaussianFactorGraph newFactors,
const boost::optional< size_t > &  maxNrLeaves = boost::none,
const boost::optional< Ordering > &  ordering = boost::none,
const HybridBayesTree::Eliminate &  function = HybridBayesTree::EliminationTraitsType::DefaultEliminate 
)

Perform update step with new factors.

Parameters
newFactorsFactor graph of new factors to add and eliminate.
maxNrLeavesThe maximum number of leaves to keep after pruning.
orderingCustom elimination ordering.
functionElimination function.

The documentation for this class was generated from the following files: