gtsam 4.1.1
gtsam::GaussianBayesTreeClique Class Reference

Detailed Description

A clique in a GaussianBayesTree.

+ Inheritance diagram for gtsam::GaussianBayesTreeClique:

Public Member Functions

 GaussianBayesTreeClique (const boost::shared_ptr< GaussianConditional > &conditional)
- Public Member Functions inherited from gtsam::BayesTreeCliqueBase< GaussianBayesTreeClique, GaussianFactorGraph >
void setEliminationResult (const typename FactorGraphType::EliminationResult &eliminationResult)
 Fill the elimination result produced during elimination. More...
bool equals (const GaussianBayesTreeClique &other, double tol=1e-9) const
 check equality
virtual 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 Types

typedef GaussianBayesTreeClique This
typedef BayesTreeCliqueBase< GaussianBayesTreeClique, GaussianFactorGraphBase
typedef boost::shared_ptr< Thisshared_ptr
typedef boost::weak_ptr< Thisweak_ptr
- Public Types inherited from gtsam::BayesTreeCliqueBase< GaussianBayesTreeClique, 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

Additional Inherited Members

- Public Attributes inherited from gtsam::BayesTreeCliqueBase< GaussianBayesTreeClique, GaussianFactorGraph >
sharedConditional conditional_
derived_weak_ptr parent_
FastVector< derived_ptr > children
int problemSize_
bool is_root
- Protected Member Functions inherited from gtsam::BayesTreeCliqueBase< GaussianBayesTreeClique, GaussianFactorGraph >
 BayesTreeCliqueBase ()
 Default constructor.
 BayesTreeCliqueBase (const sharedConditional &conditional)
 Construct from a conditional, leaving parent and child pointers uninitialized.
 BayesTreeCliqueBase (const BayesTreeCliqueBase &c)
 Shallow copy constructor.
BayesTreeCliqueBaseoperator= (const BayesTreeCliqueBase &c)
 Shallow copy assignment constructor.
virtual ~BayesTreeCliqueBase ()
KeyVector separator_setminus_B (const derived_ptr &B) const
 Calculate set \( S \setminus B \) for shortcut calculations.
KeyVector shortcut_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.
- Protected Attributes inherited from gtsam::BayesTreeCliqueBase< GaussianBayesTreeClique, GaussianFactorGraph >
boost::optional< FactorGraphTypecachedSeparatorMarginal_
 This stores the Cached separator marginal P(S)
std::mutex cachedSeparatorMarginalMutex_
 This protects Cached seperator marginal P(S) from concurrent read/writes as many the functions which access it are const (hence the mutable) leading to the false impression that these const functions are thread-safe which is not true due to these mutable values. More...

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