Comments
parent
268838a962
commit
c7284ec8fa
|
|
@ -23,6 +23,15 @@ namespace gtsam {
|
||||||
/**
|
/**
|
||||||
* An elimination tree is a data structure used intermediately during
|
* An elimination tree is a data structure used intermediately during
|
||||||
* elimination, and it can be used to save work between multiple eliminations.
|
* 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>
|
template<class FACTOR>
|
||||||
class EliminationTree: public Testable<EliminationTree<FACTOR> > {
|
class EliminationTree: public Testable<EliminationTree<FACTOR> > {
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,14 @@
|
||||||
|
|
||||||
namespace gtsam {
|
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>
|
template<class FACTOR, class JUNCTIONTREE>
|
||||||
class GenericMultifrontalSolver {
|
class GenericMultifrontalSolver {
|
||||||
|
|
||||||
|
|
@ -41,7 +49,8 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construct the solver for a factor graph. This builds the junction
|
* 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);
|
GenericMultifrontalSolver(const FactorGraph<FACTOR>& factorGraph);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue