use TableDistribution::argmax in discreteMaxProduct

release/4.3a0
Varun Agrawal 2025-01-04 15:47:36 -05:00
parent 5a8a9425f9
commit 2410d4f442
1 changed files with 1 additions and 10 deletions

View File

@ -47,16 +47,7 @@ DiscreteValues HybridBayesTree::discreteMaxProduct(
const DiscreteFactorGraph& dfg) const {
TableFactor product = TableProduct(dfg);
uint64_t maxIdx = 0;
double maxValue = 0.0;
Eigen::SparseVector<double> sparseTable = product.sparseTable();
for (TableFactor::SparseIt it(sparseTable); it; ++it) {
if (it.value() > maxValue) {
maxIdx = it.index();
maxValue = it.value();
}
}
uint64_t maxIdx = TableDistribution(product).argmax();
DiscreteValues assignment = product.findAssignments(maxIdx);
return assignment;
}