No gtsam CONJUGATE_GRADIENT in nonLinearOptimizer
Issue #188
new
@stan84
I'm fixing matlab example. The Pose2SLAMwSPCG.m cannot work because there is no CONJUGATE_GRADIENT type in NonlinearOptimizerParams.cpp.
In Pose2SLAMwSPCG.m
params = gtsam.LevenbergMarquardtParams;
subgraphParams = gtsam.SubgraphSolverParameters;
params.setLinearSolverType('CONJUGATE_GRADIENT');
In NonlinearOptimizerParams.h
void setLinearSolverType(const std::string& solver) {
linearSolverType = linearSolverTranslator(solver);
}
In NonlinearOptimizerParams.cpp
NonlinearOptimizerParams::LinearSolverType NonlinearOptimizerParams::linearSolverTranslator(
const std::string& linearSolverType) const {
if (linearSolverType == "MULTIFRONTAL_CHOLESKY")
return MULTIFRONTAL_CHOLESKY;
if (linearSolverType == "MULTIFRONTAL_QR")
return MULTIFRONTAL_QR;
if (linearSolverType == "SEQUENTIAL_CHOLESKY")
return SEQUENTIAL_CHOLESKY;
if (linearSolverType == "SEQUENTIAL_QR")
return SEQUENTIAL_QR;
if (linearSolverType == "ITERATIVE")
return Iterative;
if (linearSolverType == "CHOLMOD")
return CHOLMOD;
throw std::invalid_argument(
"Unknown linear solver type in SuccessiveLinearizationOptimizer");
}
Is it some bug during merging or has been deprecated?