#include <JunctionTree.h>
Public Types | |
typedef EliminatableClusterTree< BAYESTREE, GRAPH > | Base |
Our base class. More... | |
typedef std::shared_ptr< This > | shared_ptr |
Shared pointer to this class. More... | |
typedef JunctionTree< BAYESTREE, GRAPH > | This |
This class. More... | |
Public Types inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH > | |
typedef BAYESTREE | BayesTreeType |
The BayesTree type produced by elimination. More... | |
typedef BAYESTREE::ConditionalType | ConditionalType |
The type of conditionals. More... | |
typedef GRAPH::Eliminate | Eliminate |
Typedef for an eliminate subroutine. More... | |
typedef GRAPH | FactorGraphType |
The factor graph type. More... | |
typedef GRAPH::FactorType | FactorType |
The type of factors. More... | |
typedef std::shared_ptr< This > | shared_ptr |
Shared pointer to this class. More... | |
typedef std::shared_ptr< ConditionalType > | sharedConditional |
Shared pointer to a conditional. More... | |
typedef std::shared_ptr< FactorType > | sharedFactor |
Shared pointer to a factor. More... | |
typedef EliminatableClusterTree< BAYESTREE, GRAPH > | This |
This class. More... | |
Public Types inherited from gtsam::ClusterTree< GRAPH > | |
typedef GRAPH | FactorGraphType |
The factor graph type. More... | |
typedef GRAPH::FactorType | FactorType |
The type of factors. More... | |
typedef Cluster | Node |
typedef std::shared_ptr< This > | shared_ptr |
Shared pointer to this class. More... | |
typedef std::shared_ptr< Cluster > | sharedCluster |
Shared pointer to Cluster. More... | |
typedef std::shared_ptr< FactorType > | sharedFactor |
Shared pointer to a factor. More... | |
typedef sharedCluster | sharedNode |
typedef ClusterTree< GRAPH > | This |
This class. More... | |
Protected Member Functions | |
JunctionTree () | |
Protected Member Functions inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH > | |
EliminatableClusterTree (const This &other) | |
This & | operator= (const This &other) |
EliminatableClusterTree () | |
Default constructor to be used in derived classes. More... | |
Protected Member Functions inherited from gtsam::ClusterTree< GRAPH > | |
ClusterTree (const This &other) | |
This & | operator= (const This &other) |
Standard Constructors | |
template<class ETREE > | |
static This | FromEliminationTree (const ETREE &eliminationTree) |
template<class ETREE_BAYESNET , class ETREE_GRAPH > | |
JunctionTree (const EliminationTree< ETREE_BAYESNET, ETREE_GRAPH > &eliminationTree) | |
Additional Inherited Members | |
Public Member Functions inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH > | |
std::pair< std::shared_ptr< BayesTreeType >, std::shared_ptr< FactorGraphType > > | eliminate (const Eliminate &function) const |
const FastVector< sharedFactor > & | remainingFactors () const |
Public Member Functions inherited from gtsam::ClusterTree< GRAPH > | |
ClusterTree () | |
Default constructor. More... | |
~ClusterTree () | |
void | print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
void | addRoot (const std::shared_ptr< Cluster > &cluster) |
void | addChildrenAsRoots (const std::shared_ptr< Cluster > &cluster) |
size_t | nrRoots () const |
const FastVector< sharedNode > & | roots () const |
const Cluster & | operator[] (size_t i) const |
Protected Attributes inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH > | |
FastVector< sharedFactor > | remainingFactors_ |
Protected Attributes inherited from gtsam::ClusterTree< GRAPH > | |
FastVector< sharedNode > | roots_ |
A JunctionTree is a cluster tree, a set of variable clusters with factors, arranged in a tree, with the additional property that it represents the clique tree associated with a Bayes Net.
In GTSAM a junction tree is an intermediate data structure in multifrontal variable elimination. Each node is a cluster of factors, along with a clique of variables that are eliminated all at once. In detail, every node k represents a clique (maximal fully connected subset) of an associated chordal graph, such as a chordal Bayes net resulting from elimination.
The difference with the BayesTree is that a JunctionTree stores factors, whereas a BayesTree stores conditionals, that are the product of eliminating the factors in the corresponding JunctionTree cliques.
The tree structure and elimination method are exactly analagous to the EliminationTree, except that in the JunctionTree, at each node multiple variables are eliminated at a time.
Definition at line 50 of file JunctionTree.h.
typedef EliminatableClusterTree<BAYESTREE, GRAPH> gtsam::JunctionTree< BAYESTREE, GRAPH >::Base |
Our base class.
Definition at line 56 of file JunctionTree.h.
typedef std::shared_ptr<This> gtsam::JunctionTree< BAYESTREE, GRAPH >::shared_ptr |
Shared pointer to this class.
Definition at line 55 of file JunctionTree.h.
typedef JunctionTree<BAYESTREE, GRAPH> gtsam::JunctionTree< BAYESTREE, GRAPH >::This |
This class.
Definition at line 54 of file JunctionTree.h.
|
protected |
Build the junction tree from an elimination tree.
Definition at line 125 of file JunctionTree-inst.h.
|
inlineprotected |
Definition at line 76 of file JunctionTree.h.
|
inlinestaticprotected |
Build the junction tree from an elimination tree.
Definition at line 65 of file JunctionTree.h.