diff --git a/gtsam/hybrid/HybridGaussianFactorGraph.cpp b/gtsam/hybrid/HybridGaussianFactorGraph.cpp index bbf739c65..2c5d239f5 100644 --- a/gtsam/hybrid/HybridGaussianFactorGraph.cpp +++ b/gtsam/hybrid/HybridGaussianFactorGraph.cpp @@ -235,19 +235,18 @@ continuousElimination(const HybridGaussianFactorGraph &factors, /* ************************************************************************ */ /** - * @brief Exponential log-probabilities after performing - * the necessary normalizations. + * @brief Exponentiate log-values, not necessarily normalized, normalize, and + * return as AlgebraicDecisionTree. * - * @param logProbabilities DecisionTree of log-probabilities. + * @param logValues DecisionTree of (unnormalized) log values. * @return AlgebraicDecisionTree */ -static AlgebraicDecisionTree exponentiateLogProbabilities( - const AlgebraicDecisionTree &logProbabilities) { +static AlgebraicDecisionTree probabilitiesFromLogValues( + const AlgebraicDecisionTree &logValues) { // Perform normalization - double max_log = logProbabilities.max(); + double max_log = logValues.max(); AlgebraicDecisionTree probabilities = DecisionTree( - logProbabilities, - [&max_log](const double x) { return exp(x - max_log); }); + logValues, [&max_log](const double x) { return exp(x - max_log); }); probabilities = probabilities.normalize(probabilities.sum()); return probabilities; @@ -274,7 +273,7 @@ discreteElimination(const HybridGaussianFactorGraph &factors, DecisionTree(gmf->factors(), logProbability); AlgebraicDecisionTree probabilities = - exponentiateLogProbabilities(logProbabilities); + probabilitiesFromLogValues(logProbabilities); dfg.emplace_shared(gmf->discreteKeys(), probabilities); @@ -340,7 +339,7 @@ static std::shared_ptr createDiscreteFactor( AlgebraicDecisionTree logProbabilities( DecisionTree(eliminationResults, logProbability)); AlgebraicDecisionTree probabilities = - exponentiateLogProbabilities(logProbabilities); + probabilitiesFromLogValues(logProbabilities); return std::make_shared(discreteSeparator, probabilities); }