GTSAM
4.0.2
C++ library for smoothing and mapping (SAM)
|
#include <GaussianJunctionTree.h>
Public Types | |
typedef JunctionTree< GaussianBayesTree, GaussianFactorGraph > | Base |
Base class. | |
typedef GaussianJunctionTree | This |
This class. | |
typedef std::shared_ptr< This > | shared_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< ConditionalType > | sharedConditional |
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< FactorType > | sharedFactor |
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< sharedFactor > | remainingFactors_ |
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) |
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.
gtsam::GaussianJunctionTree::GaussianJunctionTree | ( | const GaussianEliminationTree & | eliminationTree | ) |
Build the elimination tree of a factor graph using pre-computed column structure.
factorGraph | The factor graph for which to build the elimination tree |
structure | The set of factors involving each variable. If this is not precomputed, you can call the Create(const FactorGraph<DERIVEDFACTOR>&) named constructor instead. |
|
inherited |
Eliminate the factors to a Bayes tree and remaining factor graph
function | The function to use to eliminate, see the namespace functions in GaussianFactorGraph.h |
|
inlinestaticprotectedinherited |
Build the junction tree from an elimination tree.
|
inherited |
Print the cluster tree
|
inlineinherited |
Return the remaining factors that are not pulled into elimination
|
inlineinherited |
Return the set of roots (one for a tree, multiple for a forest)
|
protectedinherited |
concept check