gtsam  4.0.0
gtsam
gtsam::ISAM2Clique Class Reference

Detailed Description

Specialized Clique structure for ISAM2, incorporating caching and gradient contribution TODO: more documentation.

+ Inheritance diagram for gtsam::ISAM2Clique:

Public Member Functions

 ISAM2Clique ()
 Default constructor.
 
 ISAM2Clique (const ISAM2Clique &other)
 Copy constructor, does not copy solution pointers as these are invalid in different trees.
 
ISAM2Cliqueoperator= (const ISAM2Clique &other)
 Assignment operator, does not copy solution pointers as these are invalid in different trees.
 
void setEliminationResult (const FactorGraphType::EliminationResult &eliminationResult)
 Overridden to also store the remaining factor and gradient contribution.
 
Base::FactorType::shared_ptr & cachedFactor ()
 Access the cached factor.
 
const Vector & gradientContribution () const
 Access the gradient contribution.
 
bool equals (const This &other, double tol=1e-9) const
 
void print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const
 print this node
 
- Public Member Functions inherited from gtsam::BayesTreeCliqueBase< ISAM2Clique, GaussianFactorGraph >
void setEliminationResult (const typename FactorGraphType::EliminationResult &eliminationResult)
 Fill the elimination result produced during elimination. More...
 
bool equals (const ISAM2Clique &other, double tol=1e-9) const
 check equality
 
void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 print this node
 
const sharedConditional & conditional () const
 Access the conditional.
 
bool isRoot () const
 is this the root of a Bayes tree ?
 
size_t treeSize () const
 The size of subtree rooted at this clique, i.e., nr of Cliques.
 
size_t numCachedSeparatorMarginals () const
 Collect number of cliques with cached separator marginals.
 
derived_ptr parent () const
 return a shared_ptr to the parent clique
 
int problemSize () const
 Problem size (used for parallel traversal)
 
BayesNetType shortcut (const derived_ptr &root, Eliminate function=EliminationTraitsType::DefaultEliminate) const
 return the conditional P(S|Root) on the separator given the root
 
FactorGraphType separatorMarginal (Eliminate function=EliminationTraitsType::DefaultEliminate) const
 return the marginal P(S) on the separator
 
FactorGraphType marginal2 (Eliminate function=EliminationTraitsType::DefaultEliminate) const
 return the marginal P(C) of the clique, using marginal caching
 
void deleteCachedShortcuts ()
 This deletes the cached shortcuts of all cliques (subtree) below this clique. More...
 
const boost::optional< FactorGraphType > & cachedSeparatorMarginal () const
 

Public Attributes

Base::FactorType::shared_ptr cachedFactor_
 
Vector gradientContribution_
 
FastMap< Key, VectorValues::iteratorsolnPointers_
 
- Public Attributes inherited from gtsam::BayesTreeCliqueBase< ISAM2Clique, GaussianFactorGraph >
sharedConditional conditional_
 
derived_weak_ptr parent_
 
FastVector< derived_ptr > children
 
int problemSize_
 

Public Types

typedef ISAM2Clique This
 
typedef BayesTreeCliqueBase< This, GaussianFactorGraphBase
 
typedef boost::shared_ptr< Thisshared_ptr
 
typedef boost::weak_ptr< Thisweak_ptr
 
typedef GaussianConditional ConditionalType
 
typedef ConditionalType::shared_ptr sharedConditional
 
- Public Types inherited from gtsam::BayesTreeCliqueBase< ISAM2Clique, GaussianFactorGraph >
typedef GaussianFactorGraph FactorGraphType
 
typedef EliminationTraitsType::BayesNetType BayesNetType
 
typedef BayesNetType::ConditionalType ConditionalType
 
typedef boost::shared_ptr< ConditionalTypesharedConditional
 
typedef FactorGraphType::FactorType FactorType
 
typedef FactorGraphType::Eliminate Eliminate
 

Friends

class boost::serialization::access
 Serialization function.
 

Additional Inherited Members

- Protected Member Functions inherited from gtsam::BayesTreeCliqueBase< ISAM2Clique, GaussianFactorGraph >
 BayesTreeCliqueBase ()
 Default constructor.
 
 BayesTreeCliqueBase (const sharedConditional &conditional)
 Construct from a conditional, leaving parent and child pointers uninitialized.
 
FastVector< Keyseparator_setminus_B (const derived_ptr &B) const
 Calculate set \( S \setminus B \) for shortcut calculations.
 
FastVector< Keyshortcut_indices (const derived_ptr &B, const FactorGraphType &p_Cp_B) const
 Determine variable indices to keep in recursive separator shortcut calculation The factor graph p_Cp_B has keys from the parent clique Cp and from B. More...
 
void deleteCachedShortcutsNonRecursive ()
 Non-recursive delete cached shortcuts and marginals - internal only. More...
 
- Protected Attributes inherited from gtsam::BayesTreeCliqueBase< ISAM2Clique, GaussianFactorGraph >
boost::optional< FactorGraphTypecachedSeparatorMarginal_
 This stores the Cached separator margnal P(S)
 

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