Better comments

release/4.3a0
Frank Dellaert 2012-01-20 20:46:25 +00:00
parent c01e3d456a
commit 62afde62f3
2 changed files with 24 additions and 14 deletions

View File

@ -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
*/ */

View File

@ -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>