Public Types | Protected Member Functions | List of all members
gtsam::JunctionTree< BAYESTREE, GRAPH > Class Template Reference

#include <JunctionTree.h>

Inheritance diagram for gtsam::JunctionTree< BAYESTREE, GRAPH >:
Inheritance graph
[legend]

Public Types

typedef EliminatableClusterTree< BAYESTREE, GRAPH > Base
 Our base class. More...
 
typedef std::shared_ptr< Thisshared_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< Thisshared_ptr
 Shared pointer to this class. More...
 
typedef std::shared_ptr< ConditionalTypesharedConditional
 Shared pointer to a conditional. More...
 
typedef std::shared_ptr< FactorTypesharedFactor
 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< Thisshared_ptr
 Shared pointer to this class. More...
 
typedef std::shared_ptr< ClustersharedCluster
 Shared pointer to Cluster. More...
 
typedef std::shared_ptr< FactorTypesharedFactor
 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)
 
Thisoperator= (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)
 
Thisoperator= (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 Clusteroperator[] (size_t i) const
 
- Protected Attributes inherited from gtsam::EliminatableClusterTree< BAYESTREE, GRAPH >
FastVector< sharedFactorremainingFactors_
 
- Protected Attributes inherited from gtsam::ClusterTree< GRAPH >
FastVector< sharedNoderoots_
 

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.

Definition at line 50 of file JunctionTree.h.

Member Typedef Documentation

◆ Base

template<class BAYESTREE, class GRAPH>
typedef EliminatableClusterTree<BAYESTREE, GRAPH> gtsam::JunctionTree< BAYESTREE, GRAPH >::Base

Our base class.

Definition at line 56 of file JunctionTree.h.

◆ shared_ptr

template<class BAYESTREE, class GRAPH>
typedef std::shared_ptr<This> gtsam::JunctionTree< BAYESTREE, GRAPH >::shared_ptr

Shared pointer to this class.

Definition at line 55 of file JunctionTree.h.

◆ This

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

This class.

Definition at line 54 of file JunctionTree.h.

Constructor & Destructor Documentation

◆ JunctionTree() [1/2]

template<class BAYESTREE , class GRAPH >
template<class ETREE_BAYESNET , class ETREE_GRAPH >
gtsam::JunctionTree< BAYESTREE, GRAPH >::JunctionTree ( const EliminationTree< ETREE_BAYESNET, ETREE_GRAPH > &  eliminationTree)
protected

Build the junction tree from an elimination tree.

Definition at line 125 of file JunctionTree-inst.h.

◆ JunctionTree() [2/2]

template<class BAYESTREE, class GRAPH>
gtsam::JunctionTree< BAYESTREE, GRAPH >::JunctionTree ( )
inlineprotected

Definition at line 76 of file JunctionTree.h.

Member Function Documentation

◆ FromEliminationTree()

template<class BAYESTREE, class GRAPH>
template<class ETREE >
static This gtsam::JunctionTree< BAYESTREE, GRAPH >::FromEliminationTree ( const ETREE &  eliminationTree)
inlinestaticprotected

Build the junction tree from an elimination tree.

Definition at line 65 of file JunctionTree.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:46:22