diff --git a/gtsam/hybrid/HybridGaussianConditional.cpp b/gtsam/hybrid/HybridGaussianConditional.cpp index a7ed9e939..ef38237f2 100644 --- a/gtsam/hybrid/HybridGaussianConditional.cpp +++ b/gtsam/hybrid/HybridGaussianConditional.cpp @@ -51,14 +51,14 @@ HybridGaussianConditional::HybridGaussianConditional( discreteParents, GetFactorValuePairs(conditionals)), BaseConditional(continuousFrontals.size()), conditionals_(conditionals) { - // Calculate logConstant_ as the minimum of the negative-log normalizers of + // Calculate negLogConstant_ as the minimum of the negative-log normalizers of // the conditionals, by visiting the decision tree: - logConstant_ = std::numeric_limits::infinity(); + negLogConstant_ = std::numeric_limits::infinity(); conditionals_.visit( [this](const GaussianConditional::shared_ptr &conditional) { if (conditional) { - this->logConstant_ = - std::min(this->logConstant_, conditional->negLogConstant()); + this->negLogConstant_ = + std::min(this->negLogConstant_, conditional->negLogConstant()); } }); } @@ -84,7 +84,7 @@ GaussianFactorGraphTree HybridGaussianConditional::asGaussianFactorGraphTree() auto wrap = [this](const GaussianConditional::shared_ptr &gc) { // First check if conditional has not been pruned if (gc) { - const double Cgm_Kgcm = gc->negLogConstant() - this->logConstant_; + const double Cgm_Kgcm = gc->negLogConstant() - this->negLogConstant_; // If there is a difference in the covariances, we need to account for // that since the error is dependent on the mode. if (Cgm_Kgcm > 0.0) { @@ -155,8 +155,7 @@ void HybridGaussianConditional::print(const std::string &s, std::cout << "(" << formatter(dk.first) << ", " << dk.second << "), "; } std::cout << std::endl - << " logNormalizationConstant: " << -negLogConstant() - << std::endl + << " logNormalizationConstant: " << -negLogConstant() << std::endl << std::endl; conditionals_.print( "", [&](Key k) { return formatter(k); }, @@ -214,7 +213,7 @@ std::shared_ptr HybridGaussianConditional::likelihood( [&](const GaussianConditional::shared_ptr &conditional) -> GaussianFactorValuePair { const auto likelihood_m = conditional->likelihood(given); - const double Cgm_Kgcm = conditional->negLogConstant() - logConstant_; + const double Cgm_Kgcm = conditional->negLogConstant() - negLogConstant_; if (Cgm_Kgcm == 0.0) { return {likelihood_m, 0.0}; } else { diff --git a/gtsam/hybrid/HybridGaussianConditional.h b/gtsam/hybrid/HybridGaussianConditional.h index d2b8982a3..9c70cf6cb 100644 --- a/gtsam/hybrid/HybridGaussianConditional.h +++ b/gtsam/hybrid/HybridGaussianConditional.h @@ -66,7 +66,7 @@ class GTSAM_EXPORT HybridGaussianConditional Conditionals conditionals_; ///< a decision tree of Gaussian conditionals. ///< Negative-log of the normalization constant (log(\sqrt(|2πΣ|))). ///< Take advantage of the neg-log space so everything is a minimization - double logConstant_; + double negLogConstant_; /** * @brief Convert a HybridGaussianConditional of conditionals into @@ -158,7 +158,7 @@ class GTSAM_EXPORT HybridGaussianConditional * * @return double */ - inline double negLogConstant() const override { return logConstant_; } + inline double negLogConstant() const override { return negLogConstant_; } /** * Create a likelihood factor for a hybrid Gaussian conditional, diff --git a/gtsam/hybrid/HybridGaussianFactorGraph.cpp b/gtsam/hybrid/HybridGaussianFactorGraph.cpp index 85a2de464..82828bb41 100644 --- a/gtsam/hybrid/HybridGaussianFactorGraph.cpp +++ b/gtsam/hybrid/HybridGaussianFactorGraph.cpp @@ -233,13 +233,13 @@ continuousElimination(const HybridGaussianFactorGraph &factors, /* ************************************************************************ */ /** - * @brief Exponentiate (not necessarily normalized) log-values, normalize, and - * then return as AlgebraicDecisionTree. + * @brief Exponentiate (not necessarily normalized) negative log-values, + * normalize, and then return as AlgebraicDecisionTree. * * @param logValues DecisionTree of (unnormalized) log values. * @return AlgebraicDecisionTree */ -static AlgebraicDecisionTree probabilitiesFromLogValues( +static AlgebraicDecisionTree probabilitiesFromNegativeLogValues( const AlgebraicDecisionTree &logValues) { // Perform normalization double min_log = logValues.min(); @@ -271,7 +271,7 @@ discreteElimination(const HybridGaussianFactorGraph &factors, DecisionTree(gmf->factors(), logProbability); AlgebraicDecisionTree probabilities = - probabilitiesFromLogValues(logProbabilities); + probabilitiesFromNegativeLogValues(logProbabilities); dfg.emplace_shared(gmf->discreteKeys(), probabilities); @@ -337,7 +337,7 @@ static std::shared_ptr createDiscreteFactor( AlgebraicDecisionTree negLogProbabilities( DecisionTree(eliminationResults, negLogProbability)); AlgebraicDecisionTree probabilities = - probabilitiesFromLogValues(negLogProbabilities); + probabilitiesFromNegativeLogValues(negLogProbabilities); return std::make_shared(discreteSeparator, probabilities); }