Use TableFactor everywhere in hybrid elimination
parent
02d461e359
commit
f95ae52aff
|
|
@ -20,12 +20,12 @@
|
||||||
|
|
||||||
#include <gtsam/base/utilities.h>
|
#include <gtsam/base/utilities.h>
|
||||||
#include <gtsam/discrete/Assignment.h>
|
#include <gtsam/discrete/Assignment.h>
|
||||||
#include <gtsam/discrete/DecisionTreeFactor.h>
|
|
||||||
#include <gtsam/discrete/DiscreteEliminationTree.h>
|
#include <gtsam/discrete/DiscreteEliminationTree.h>
|
||||||
#include <gtsam/discrete/DiscreteFactorGraph.h>
|
#include <gtsam/discrete/DiscreteFactorGraph.h>
|
||||||
#include <gtsam/discrete/DiscreteJunctionTree.h>
|
#include <gtsam/discrete/DiscreteJunctionTree.h>
|
||||||
#include <gtsam/discrete/DiscreteKey.h>
|
#include <gtsam/discrete/DiscreteKey.h>
|
||||||
#include <gtsam/discrete/DiscreteValues.h>
|
#include <gtsam/discrete/DiscreteValues.h>
|
||||||
|
#include <gtsam/discrete/TableFactor.h>
|
||||||
#include <gtsam/hybrid/HybridConditional.h>
|
#include <gtsam/hybrid/HybridConditional.h>
|
||||||
#include <gtsam/hybrid/HybridEliminationTree.h>
|
#include <gtsam/hybrid/HybridEliminationTree.h>
|
||||||
#include <gtsam/hybrid/HybridFactor.h>
|
#include <gtsam/hybrid/HybridFactor.h>
|
||||||
|
|
@ -241,18 +241,18 @@ continuousElimination(const HybridGaussianFactorGraph &factors,
|
||||||
/* ************************************************************************ */
|
/* ************************************************************************ */
|
||||||
/**
|
/**
|
||||||
* @brief Take negative log-values, shift them so that the minimum value is 0,
|
* @brief Take negative log-values, shift them so that the minimum value is 0,
|
||||||
* and then exponentiate to create a DecisionTreeFactor (not normalized yet!).
|
* and then exponentiate to create a TableFactor (not normalized yet!).
|
||||||
*
|
*
|
||||||
* @param errors DecisionTree of (unnormalized) errors.
|
* @param errors DecisionTree of (unnormalized) errors.
|
||||||
* @return DecisionTreeFactor::shared_ptr
|
* @return TableFactor::shared_ptr
|
||||||
*/
|
*/
|
||||||
static DecisionTreeFactor::shared_ptr DiscreteFactorFromErrors(
|
static TableFactor::shared_ptr DiscreteFactorFromErrors(
|
||||||
const DiscreteKeys &discreteKeys,
|
const DiscreteKeys &discreteKeys,
|
||||||
const AlgebraicDecisionTree<Key> &errors) {
|
const AlgebraicDecisionTree<Key> &errors) {
|
||||||
double min_log = errors.min();
|
double min_log = errors.min();
|
||||||
AlgebraicDecisionTree<Key> potentials(
|
AlgebraicDecisionTree<Key> potentials(
|
||||||
errors, [&min_log](const double x) { return exp(-(x - min_log)); });
|
errors, [&min_log](const double x) { return exp(-(x - min_log)); });
|
||||||
return std::make_shared<DecisionTreeFactor>(discreteKeys, potentials);
|
return std::make_shared<TableFactor>(discreteKeys, potentials);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************ */
|
/* ************************************************************************ */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue