gtsam 4.2.0
gtsam
gtsam::JunctionTree< BAYESTREE, GRAPH > Class Template Reference

Detailed Description

template<class BAYESTREE, class GRAPH>
class gtsam::JunctionTree< BAYESTREE, GRAPH >

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.

+ Inheritance diagram for gtsam::JunctionTree< BAYESTREE, GRAPH >:

Standard Constructors

template<class ETREE >
static This FromEliminationTree (const ETREE &eliminationTree)
 Build the junction tree from an elimination tree.
 
template<class ETREE_BAYESNET , class ETREE_GRAPH >
 JunctionTree (const EliminationTree< ETREE_BAYESNET, ETREE_GRAPH > &eliminationTree)
 Build the junction tree from an elimination tree.
 

Public Types

typedef JunctionTree< BAYESTREE, GRAPH > This
 This class.
 
typedef boost::shared_ptr< Thisshared_ptr
 Shared pointer to this class.
 
typedef EliminatableClusterTree< BAYESTREE, GRAPH > Base
 Our base class.
 
- Public Types inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH >
typedef BAYESTREE BayesTreeType
 The BayesTree type produced by elimination.
 
typedef GRAPH FactorGraphType
 The factor graph type.
 
typedef EliminatableClusterTree< BAYESTREE, GRAPH > This
 This class.
 
typedef boost::shared_ptr< Thisshared_ptr
 Shared pointer to this class.
 
typedef BAYESTREE::ConditionalType ConditionalType
 The type of conditionals.
 
typedef boost::shared_ptr< ConditionalTypesharedConditional
 Shared pointer to a conditional.
 
typedef GRAPH::Eliminate Eliminate
 Typedef for an eliminate subroutine.
 
typedef GRAPH::FactorType FactorType
 The type of factors.
 
typedef boost::shared_ptr< FactorTypesharedFactor
 Shared pointer to a factor.
 
- Public Types inherited from gtsam::ClusterTree< GRAPH >
typedef GRAPH FactorGraphType
 The factor graph type.
 
typedef ClusterTree< GRAPH > This
 This class.
 
typedef boost::shared_ptr< Thisshared_ptr
 Shared pointer to this class.
 
typedef GRAPH::FactorType FactorType
 The type of factors.
 
typedef boost::shared_ptr< FactorTypesharedFactor
 Shared pointer to a factor.
 
typedef boost::shared_ptr< ClustersharedCluster
 Shared pointer to Cluster.
 
typedef Cluster Node
 
typedef sharedCluster sharedNode
 

Additional Inherited Members

- Public Member Functions inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH >
std::pair< boost::shared_ptr< BayesTreeType >, boost::shared_ptr< FactorGraphType > > eliminate (const Eliminate &function) const
 Eliminate the factors to a Bayes tree and remaining factor graph. More...
 
const FastVector< sharedFactor > & remainingFactors () const
 Return the remaining factors that are not pulled into elimination.
 
- Public Member Functions inherited from gtsam::ClusterTree< GRAPH >
 ClusterTree ()
 Default constructor.
 
void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 Print the cluster tree.
 
void addRoot (const boost::shared_ptr< Cluster > &cluster)
 
void addChildrenAsRoots (const boost::shared_ptr< Cluster > &cluster)
 
size_t nrRoots () const
 
const FastVector< sharedNode > & roots () const
 Return the set of roots (one for a tree, multiple for a forest)
 
const Clusteroperator[] (size_t i) const
 
- Protected Member Functions inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH >
 EliminatableClusterTree (const This &other)
 Copy constructor - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
 
Thisoperator= (const This &other)
 Assignment operator - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
 
 EliminatableClusterTree ()
 Default constructor to be used in derived classes.
 
- Protected Member Functions inherited from gtsam::ClusterTree< GRAPH >
 ClusterTree (const This &other)
 Copy constructor - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
 
Thisoperator= (const This &other)
 Assignment operator - makes a deep copy of the tree structure, but only pointers to factors are copied, factors are not cloned.
 
- Protected Attributes inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH >
FastVector< sharedFactorremainingFactors_
 
- Protected Attributes inherited from gtsam::ClusterTree< GRAPH >
FastVector< sharedNode > roots_
 concept check
 

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