Chris Beall 2016-02-09 20:00:38 -05:00
parent 738cc66a8e
commit cc0b7cfdc1
8 changed files with 56 additions and 54 deletions

View File

@ -110,8 +110,8 @@ VectorValues NonlinearOptimizer::solve(const GaussianFactorGraph &gfg,
delta = gfg.optimize(*params.ordering, params.getEliminationFunction()); delta = gfg.optimize(*params.ordering, params.getEliminationFunction());
} else if (params.isSequential()) { } else if (params.isSequential()) {
// Sequential QR or Cholesky (decided by params.getEliminationFunction()) // Sequential QR or Cholesky (decided by params.getEliminationFunction())
delta = gfg.eliminateSequential(*params.ordering, params.getEliminationFunction(), delta = gfg.eliminateSequential(*params.ordering,
boost::none, params.orderingType)->optimize(); params.getEliminationFunction(), boost::none, params.orderingType)->optimize();
} else if (params.isIterative()) { } else if (params.isIterative()) {
// Conjugate Gradient -> needs params.iterativeParams // Conjugate Gradient -> needs params.iterativeParams

View File

@ -165,7 +165,8 @@ NonlinearOptimizerParams::LinearSolverType NonlinearOptimizerParams::linearSolve
} }
/* ************************************************************************* */ /* ************************************************************************* */
std::string NonlinearOptimizerParams::orderingTypeTranslator(Ordering::OrderingType type) const{ std::string NonlinearOptimizerParams::orderingTypeTranslator(
Ordering::OrderingType type) const {
switch (type) { switch (type) {
case Ordering::METIS: case Ordering::METIS:
return "METIS"; return "METIS";
@ -181,7 +182,8 @@ std::string NonlinearOptimizerParams::orderingTypeTranslator(Ordering::OrderingT
} }
/* ************************************************************************* */ /* ************************************************************************* */
Ordering::OrderingType NonlinearOptimizerParams::orderingTypeTranslator(const std::string& type) const{ Ordering::OrderingType NonlinearOptimizerParams::orderingTypeTranslator(
const std::string& type) const {
if (type == "METIS") if (type == "METIS")
return Ordering::METIS; return Ordering::METIS;
if (type == "COLAMD") if (type == "COLAMD")