GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Types | Public Member Functions | Protected Attributes | List of all members
gtsam::GaussianJunctionTree Class Reference

#include <GaussianJunctionTree.h>

Inheritance diagram for gtsam::GaussianJunctionTree:
Inheritance graph
[legend]
Collaboration diagram for gtsam::GaussianJunctionTree:
Collaboration graph
[legend]

Public Types

typedef JunctionTree< GaussianBayesTree, GaussianFactorGraphBase
 Base class.
 
typedef GaussianJunctionTree This
 This class.
 
typedef std::shared_ptr< Thisshared_ptr
 Shared pointer to this class.
 
typedef GaussianBayesTree BayesTreeType
 The BayesTree type produced by elimination.
 
typedef GaussianFactorGraph FactorGraphType
 The factor graph type.
 
typedef GaussianBayesTree ::ConditionalType ConditionalType
 The type of conditionals.
 
typedef std::shared_ptr< ConditionalTypesharedConditional
 Shared pointer to a conditional.
 
typedef GaussianFactorGraph ::Eliminate Eliminate
 Typedef for an eliminate subroutine.
 
typedef GaussianFactorGraph ::FactorType FactorType
 The type of factors.
 
typedef std::shared_ptr< FactorTypesharedFactor
 Shared pointer to a factor.
 
typedef std::shared_ptr< Cluster > sharedCluster
 Shared pointer to Cluster.
 
typedef Cluster Node
 
typedef sharedCluster sharedNode
 

Public Member Functions

 GaussianJunctionTree (const GaussianEliminationTree &eliminationTree)
 

Protected Attributes

FastVector< sharedFactorremainingFactors_
 
FastVector< sharedNode > roots_
 

Testable

void print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 

Advanced Interface

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
 

Standard Interface

std::pair< std::shared_ptr< BayesTreeType >, std::shared_ptr< FactorGraphType > > eliminate (const Eliminate &function) const
 

Advanced Interface

const FastVector< sharedFactor > & remainingFactors () const
 

Standard Constructors

static This FromEliminationTree (const ETREE &eliminationTree)
 

Detailed Description

A junction tree specialized to Gaussian factors, i.e., it is a cluster tree with Gaussian factors stored in each cluster. It can be eliminated into a Gaussian Bayes tree with the same structure, which is essentially doing multifrontal sparse matrix factorization.

Constructor & Destructor Documentation

◆ GaussianJunctionTree()

gtsam::GaussianJunctionTree::GaussianJunctionTree ( const GaussianEliminationTree eliminationTree)

Build the elimination tree of a factor graph using pre-computed column structure.

Parameters
factorGraphThe factor graph for which to build the elimination tree
structureThe set of factors involving each variable. If this is not precomputed, you can call the Create(const FactorGraph<DERIVEDFACTOR>&) named constructor instead.
Returns
The elimination tree

Member Function Documentation

◆ eliminate()

std::pair< std::shared_ptr< GaussianBayesTree >, std::shared_ptr< GaussianFactorGraph > > gtsam::EliminatableClusterTree< GaussianBayesTree , GaussianFactorGraph >::eliminate ( const Eliminate function) const
inherited

Eliminate the factors to a Bayes tree and remaining factor graph

Parameters
functionThe function to use to eliminate, see the namespace functions in GaussianFactorGraph.h
Returns
The Bayes tree and factor graph resulting from elimination

◆ FromEliminationTree()

static This gtsam::JunctionTree< GaussianBayesTree , GaussianFactorGraph >::FromEliminationTree ( const ETREE &  eliminationTree)
inlinestaticprotectedinherited

Build the junction tree from an elimination tree.

◆ print()

void gtsam::ClusterTree< GaussianFactorGraph >::print ( const std::string &  s = "",
const KeyFormatter keyFormatter = DefaultKeyFormatter 
) const
inherited

Print the cluster tree

◆ remainingFactors()

const FastVector<sharedFactor>& gtsam::EliminatableClusterTree< GaussianBayesTree , GaussianFactorGraph >::remainingFactors ( ) const
inlineinherited

Return the remaining factors that are not pulled into elimination

◆ roots()

const FastVector<sharedNode>& gtsam::ClusterTree< GaussianFactorGraph >::roots ( ) const
inlineinherited

Return the set of roots (one for a tree, multiple for a forest)

Member Data Documentation

◆ roots_

FastVector<sharedNode> gtsam::ClusterTree< GaussianFactorGraph >::roots_
protectedinherited

concept check


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