full discrete elimination

release/4.3a0
Varun Agrawal 2024-12-31 18:23:37 -05:00
parent bf4c0bd72d
commit 0e2e8bb8ce
1 changed files with 6 additions and 2 deletions

View File

@ -356,13 +356,17 @@ discreteElimination(const HybridGaussianFactorGraph &factors,
gttoc_(EliminateDiscreteSum);
#endif
// Ordering keys for the conditional so that frontalKeys are really in front
Ordering orderedKeys;
orderedKeys.insert(orderedKeys.end(), frontalKeys.begin(), frontalKeys.end());
orderedKeys.insert(orderedKeys.end(), sum->keys().begin(), sum->keys().end());
#if GTSAM_HYBRID_TIMING
gttic_(EliminateDiscreteFormDiscreteConditional);
#endif
// Finally, get the conditional
auto c = product / (*sum);
auto conditional = std::make_shared<DiscreteConditional>(
frontalKeys.size(), c.toDecisionTreeFactor());
product.toDecisionTreeFactor(), sum->toDecisionTreeFactor(), orderedKeys);
#if GTSAM_HYBRID_TIMING
gttoc_(EliminateDiscreteFormDiscreteConditional);
#endif