Better comments
parent
c01e3d456a
commit
62afde62f3
|
|
@ -30,18 +30,22 @@
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* In gtsam a junction tree is an intermediate data structure in multifrontal
|
* A ClusterTree, i.e., a set of variable clusters with factors, arranged in a tree, with
|
||||||
* variable elimination. Each node is a cluster of factors, along with a
|
* the additional property that it represents the clique tree associated with a Bayes net.
|
||||||
* clique of variables that are eliminated all at once. The tree structure and
|
*
|
||||||
* elimination method are exactly analagous to the EliminationTree, except that
|
* In GTSAM a junction tree is an intermediate data structure in multifrontal
|
||||||
* in the JunctionTree, at each node multiple variables are eliminated at the same
|
* variable elimination. Each node is a cluster of factors, along with a
|
||||||
* time.
|
* 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.
|
||||||
*
|
*
|
||||||
* A junction tree (or clique-tree) is a cluster-tree where each node k represents a
|
|
||||||
* clique (maximal fully connected subset) of an associated chordal graph, such as a
|
|
||||||
* chordal Bayes net resulting from elimination. In GTSAM the BayesTree is used to
|
|
||||||
* represent the clique tree associated with a Bayes net, and the JunctionTree is
|
|
||||||
* used to collect the factors associated with each clique during the elimination process.
|
|
||||||
*
|
*
|
||||||
* \ingroup Multifrontal
|
* \ingroup Multifrontal
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,13 @@
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
||||||
/* ************************************************************************* */
|
|
||||||
/**
|
/**
|
||||||
* GaussianJunctionTree that does the optimization
|
* A JunctionTree where all the factors are of type GaussianFactor.
|
||||||
|
*
|
||||||
|
* In GTSAM, typically, a GaussianJunctionTree is created directly from a GaussianFactorGraph,
|
||||||
|
* after which you call optimize() to solve for the mean, or JunctionTree::eliminate() to
|
||||||
|
* create a BayesTree<GaussianConditional>. In both cases, you need to provide a basic
|
||||||
|
* GaussianFactorGraph::Eliminate function that will be used to
|
||||||
*
|
*
|
||||||
* \ingroup Multifrontal
|
* \ingroup Multifrontal
|
||||||
*/
|
*/
|
||||||
|
|
@ -60,7 +64,9 @@ namespace gtsam {
|
||||||
GaussianJunctionTree(const GaussianFactorGraph& fg, const VariableIndex& variableIndex)
|
GaussianJunctionTree(const GaussianFactorGraph& fg, const VariableIndex& variableIndex)
|
||||||
: Base(fg, variableIndex) {}
|
: Base(fg, variableIndex) {}
|
||||||
|
|
||||||
// optimize the linear graph
|
/**
|
||||||
|
* optimize the linear graph
|
||||||
|
*/
|
||||||
VectorValues optimize(Eliminate function) const;
|
VectorValues optimize(Eliminate function) const;
|
||||||
|
|
||||||
// convenient function to return dimensions of all variables in the BayesTree<GaussianConditional>
|
// convenient function to return dimensions of all variables in the BayesTree<GaussianConditional>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue