Removed ill-named and confusing method logProbability

release/4.3a0
Frank Dellaert 2024-09-29 16:36:31 -07:00
parent a898ad3661
commit 2abb410592
3 changed files with 0 additions and 39 deletions

View File

@ -337,24 +337,6 @@ HybridGaussianConditional::shared_ptr HybridGaussianConditional::prune(
pruned_conditionals); pruned_conditionals);
} }
/* *******************************************************************************/
AlgebraicDecisionTree<Key> HybridGaussianConditional::logProbability(
const VectorValues &continuousValues) const {
// functor to calculate (double) logProbability value from
// GaussianConditional.
auto probFunc =
[continuousValues](const GaussianConditional::shared_ptr &conditional) {
if (conditional) {
return conditional->logProbability(continuousValues);
} else {
// Return arbitrarily small logProbability if conditional is null
// Conditional is null if it is pruned out.
return -1e20;
}
};
return DecisionTree<Key, double>(conditionals_, probFunc);
}
/* *******************************************************************************/ /* *******************************************************************************/
double HybridGaussianConditional::logProbability( double HybridGaussianConditional::logProbability(
const HybridValues &values) const { const HybridValues &values) const {

View File

@ -194,16 +194,6 @@ class GTSAM_EXPORT HybridGaussianConditional
/// Getter for the underlying Conditionals DecisionTree /// Getter for the underlying Conditionals DecisionTree
const Conditionals &conditionals() const; const Conditionals &conditionals() const;
/**
* @brief Compute logProbability of the HybridGaussianConditional as a tree.
*
* @param continuousValues The continuous VectorValues.
* @return AlgebraicDecisionTree<Key> A decision tree with the same keys
* as the conditionals, and leaf values as the logProbability.
*/
AlgebraicDecisionTree<Key> logProbability(
const VectorValues &continuousValues) const;
/** /**
* @brief Compute the logProbability of this hybrid Gaussian conditional. * @brief Compute the logProbability of this hybrid Gaussian conditional.
* *

View File

@ -74,17 +74,6 @@ TEST(HybridGaussianConditional, Invariants) {
/// Check LogProbability. /// Check LogProbability.
TEST(HybridGaussianConditional, LogProbability) { TEST(HybridGaussianConditional, LogProbability) {
using namespace equal_constants; using namespace equal_constants;
auto actual = hybrid_conditional.logProbability(vv);
// Check result.
std::vector<DiscreteKey> discrete_keys = {mode};
std::vector<double> leaves = {conditionals[0]->logProbability(vv),
conditionals[1]->logProbability(vv)};
AlgebraicDecisionTree<Key> expected(discrete_keys, leaves);
EXPECT(assert_equal(expected, actual, 1e-6));
// Check for non-tree version.
for (size_t mode : {0, 1}) { for (size_t mode : {0, 1}) {
const HybridValues hv{vv, {{M(0), mode}}}; const HybridValues hv{vv, {{M(0), mode}}};
EXPECT_DOUBLES_EQUAL(conditionals[mode]->logProbability(vv), EXPECT_DOUBLES_EQUAL(conditionals[mode]->logProbability(vv),