removed code for older WAFR algorithm
parent
e55f8871d6
commit
71a7ddb354
|
@ -26,9 +26,6 @@ using namespace boost::assign;
|
|||
#include <gtsam/nonlinear/ISAM2.h>
|
||||
#include <gtsam/nonlinear/ISAM2-impl-inl.h>
|
||||
|
||||
// for WAFR paper, separate update and relinearization steps if defined
|
||||
//#define SEPARATE_STEPS
|
||||
|
||||
|
||||
namespace gtsam {
|
||||
|
||||
|
@ -311,14 +308,12 @@ boost::shared_ptr<FastSet<Index> > ISAM2<Conditional, Values>::recalculate(const
|
|||
toc(1,"relinearizeAffected");
|
||||
|
||||
#ifndef NDEBUG
|
||||
#ifndef SEPARATE_STEPS
|
||||
// The relinearized variables should not appear anywhere in the orphans
|
||||
BOOST_FOREACH(boost::shared_ptr<const typename BayesTree<Conditional>::Clique> clique, orphans) {
|
||||
BOOST_FOREACH(const Index key, (*clique)->frontals()) {
|
||||
assert(lastRelinVariables_[key] == false);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// if(debug) factors.print("Affected factors: ");
|
||||
|
@ -352,11 +347,9 @@ boost::shared_ptr<FastSet<Index> > ISAM2<Conditional, Values>::recalculate(const
|
|||
// Copy so that we can later permute factors
|
||||
BOOST_FOREACH(const CacheFactor::shared_ptr& cached, cachedBoundary) {
|
||||
#ifndef NDEBUG
|
||||
#ifndef SEPARATE_STEPS
|
||||
BOOST_FOREACH(const Index key, *cached) {
|
||||
assert(lastRelinVariables_[key] == false);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
factors.push_back(GaussianFactor::shared_ptr(new CacheFactor(*cached)));
|
||||
}
|
||||
|
@ -725,17 +718,6 @@ void ISAM2<Conditional, Values>::update(
|
|||
}
|
||||
toc(3,"gather involved keys");
|
||||
|
||||
#ifdef SEPARATE_STEPS // original algorithm from paper: separate relin and optimize
|
||||
|
||||
// todo: kaess - don't need linear factors here, just to update variableIndex
|
||||
boost::shared_ptr<GaussianFactorGraph> linearFactors = newFactors.linearize(theta_, ordering_);
|
||||
variableIndex_.augment(*linearFactors);
|
||||
|
||||
boost::shared_ptr<set<Index> > replacedKeys_todo = recalculate(markedKeys, newKeys, linearFactors);
|
||||
markedKeys.clear();
|
||||
vector<bool> none(variableIndex_.size(), false);
|
||||
optimize2(this->root(), wildfire_threshold, none, delta_);
|
||||
#endif
|
||||
|
||||
vector<bool> markedRelinMask(ordering_.nVars(), false);
|
||||
bool relinAny = false;
|
||||
|
@ -792,7 +774,6 @@ void ISAM2<Conditional, Values>::update(
|
|||
lastRelinVariables_ = markedRelinMask;
|
||||
#endif
|
||||
|
||||
#ifndef SEPARATE_STEPS
|
||||
tic(7,"linearize new");
|
||||
tic(1,"linearize");
|
||||
// 7. Linearize new factors
|
||||
|
@ -811,10 +792,6 @@ void ISAM2<Conditional, Values>::update(
|
|||
if(markedKeys.size() > 0 || newKeys.size() > 0)
|
||||
replacedKeys = recalculate(markedKeys, structuralKeys, newKeys, linearFactors);
|
||||
toc(8,"recalculate");
|
||||
#else
|
||||
vector<Index> empty;
|
||||
boost::shared_ptr<set<Index> > replacedKeys = recalculate(markedKeys, empty);
|
||||
#endif
|
||||
|
||||
tic(9,"solve");
|
||||
// 9. Solve
|
||||
|
|
Loading…
Reference in New Issue