release/4.3a0
Frank Dellaert 2011-02-28 04:02:38 +00:00
parent 268838a962
commit c7284ec8fa
2 changed files with 19 additions and 1 deletions

View File

@ -23,6 +23,15 @@ namespace gtsam {
/**
* An elimination tree is a data structure used intermediately during
* elimination, and it can be used to save work between multiple eliminations.
*
* When a variable is eliminated, a new factor is created, which will involve
* other variables. Of those, the first one that will be eliminated next, will
* need that factor. In the elimination tree, that first variable is exactly
* the parent of each variable. This yields a tree in general, and not a chain
* because of the implicit sparse structure of the resulting Bayes net.
*
* This structures is examined even more closely in a JunctionTree, which
* additionally identifies cliques in the chordal Bayes net.
*/
template<class FACTOR>
class EliminationTree: public Testable<EliminationTree<FACTOR> > {

View File

@ -26,6 +26,14 @@
namespace gtsam {
/**
* A Generic Multifrontal Solver class
* Takes two template arguments:
* FACTOR the factor type, e.g., GaussianFactor, DiscreteFactor
* JUNCTIONTREE annoyingly, you also have to supply a compatible JT type
* i.e., one templated on a factor graph with the same factors
* TODO: figure why this is so and possibly fix it
*/
template<class FACTOR, class JUNCTIONTREE>
class GenericMultifrontalSolver {
@ -41,7 +49,8 @@ public:
/**
* Construct the solver for a factor graph. This builds the junction
* tree, which already does some of the work of elimination.
* tree, which does the symbolic elimination, identifies the cliques,
* and distributes all the factors to the right cliques.
*/
GenericMultifrontalSolver(const FactorGraph<FACTOR>& factorGraph);