From c7c42afbaff168bbaf9f1617a9c3ac3da4d70736 Mon Sep 17 00:00:00 2001 From: Varun Agrawal Date: Wed, 1 Jan 2025 19:51:04 -0500 Subject: [PATCH] undo HybridBayesNet changes --- gtsam/hybrid/HybridBayesNet.cpp | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/gtsam/hybrid/HybridBayesNet.cpp b/gtsam/hybrid/HybridBayesNet.cpp index aa2e0fc24..9eb9bde55 100644 --- a/gtsam/hybrid/HybridBayesNet.cpp +++ b/gtsam/hybrid/HybridBayesNet.cpp @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include @@ -121,24 +120,6 @@ GaussianBayesNet HybridBayesNet::choose( return gbn; } -DiscreteValues HybridBayesNet::discreteMaxProduct( - const DiscreteFactorGraph &dfg) const { - TableFactor product = TableProductAndNormalize(dfg); - - uint64_t maxIdx = 0; - double maxValue = 0.0; - Eigen::SparseVector sparseTable = product.sparseTable(); - for (TableFactor::SparseIt it(sparseTable); it; ++it) { - if (it.value() > maxValue) { - maxIdx = it.index(); - maxValue = it.value(); - } - } - - DiscreteValues assignment = product.findAssignments(maxIdx); - return assignment; -} - /* ************************************************************************* */ HybridValues HybridBayesNet::optimize() const { // Collect all the discrete factors to compute MPE @@ -151,7 +132,7 @@ HybridValues HybridBayesNet::optimize() const { } // Solve for the MPE - DiscreteValues mpe = this->discreteMaxProduct(discrete_fg); + DiscreteValues mpe = discrete_fg.optimize(); // Given the MPE, compute the optimal continuous values. return HybridValues(optimize(mpe), mpe);