gtsam
4.0.0
gtsam
|
Inherited by gtsam::ISAM2BayesTree.
Testable | |
bool | equals (const This &other, double tol=1e-9) const |
check equality | |
void | print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
print | |
Advanced Interface | |
template<class BAYESRTEE , class GRAPH > | |
class | EliminatableClusterTree |
class | boost::serialization::access |
Serialization function. | |
void | saveGraph (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 | getCliqueData (BayesTreeCliqueData &stats, sharedClique clique) const |
Gather data on a single clique. | |
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. | |
template<class CONTAINER > | |
Key | findParentClique (const CONTAINER &parents) const |
Find parent clique of a conditional. More... | |
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. More... | |
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. More... | |
Cliques | removeSubtree (const sharedClique &subtree) |
Remove the requested subtree. More... | |
void | insertRoot (const sharedClique &subtree) |
Insert a new subtree with known parent clique. More... | |
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. | |
Public Member Functions | |
Standard Interface | |
size_t | size () const |
number of cliques | |
bool | empty () const |
Check if there are any cliques in the tree. | |
const Nodes & | nodes () const |
return nodes | |
const sharedNode | operator[] (Key j) const |
Access node by variable. | |
const Roots & | roots () const |
return root cliques | |
const sharedClique & | clique (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. More... | |
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 | saveGraph (const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
Read only with side effects. More... | |
Public Types | |
typedef CLIQUE | Clique |
The clique type, normally BayesTreeClique. | |
typedef boost::shared_ptr< Clique > | sharedClique |
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< sharedClique > | Cliques |
A convenience class for a list of shared cliques. | |
typedef ConcurrentMap< Key, sharedClique > | Nodes |
Map from keys to Clique. | |
Protected Types | |
typedef BayesTree< CLIQUE > | This |
typedef boost::shared_ptr< This > | shared_ptr |
typedef FastVector< sharedClique > | Roots |
Root cliques. | |
Protected Member Functions | |
This & | operator= (const This &other) |
Assignment operator. | |
Standard Constructors | |
BayesTree () | |
Create an empty Bayes Tree. | |
BayesTree (const This &other) | |
Copy constructor. | |
Protected Attributes | |
Nodes | nodes_ |
Map from indices to Clique. | |
Roots | roots_ |
Root cliques. | |
Key gtsam::BayesTree< CLIQUE >::findParentClique | ( | const CONTAINER & | parents | ) | const |
Find parent clique of a conditional.
It will look at all parents and return the one with the lowest index in the ordering.
void gtsam::BayesTree< CLIQUE >::insertRoot | ( | const sharedClique & | subtree | ) |
Insert a new subtree with known parent clique.
This function does not check that the specified parent is the correct parent. This function updates all of the internal data structures associated with adding a subtree, such as populating the nodes index.
BayesTree< CLIQUE >::sharedConditional gtsam::BayesTree< CLIQUE >::marginalFactor | ( | Key | j, |
const Eliminate & | function = EliminationTraitsType::DefaultEliminate |
||
) | const |
Return marginal on any variable.
Note that this actually returns a conditional, for which a solution may be directly obtained by calling .solve() on the returned object. Alternatively, it may be directly used as its factor base class. For example, for Gaussian systems, this returns a GaussianConditional, which inherits from JacobianFactor and GaussianFactor.
void gtsam::BayesTree< CLIQUE >::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.
Used in removeTop below.
BayesTree< CLIQUE >::Cliques gtsam::BayesTree< CLIQUE >::removeSubtree | ( | const sharedClique & | subtree | ) |
Remove the requested subtree.
void gtsam::BayesTree< CLIQUE >::removeTop | ( | const KeyVector & | keys, |
BayesNetType & | bn, | ||
Cliques & | orphans | ||
) |
Given a list of indices, turn "contaminated" part of the tree back into a factor graph.
Factors and orphans are added to the in/out arguments.
void gtsam::BayesTree< CLIQUE >::saveGraph | ( | const std::string & | s, |
const KeyFormatter & | keyFormatter = DefaultKeyFormatter |
||
) | const |
Read only with side effects.
saves the Tree to a text file in GraphViz format