Fixed svn merging problem in SuccessiveLinearizationOptimizer

release/4.3a0
Richard Roberts 2012-07-27 19:01:51 +00:00
parent 5177f31a5d
commit a3ee762dac
2 changed files with 31 additions and 65 deletions

View File

@ -17,37 +17,37 @@
namespace gtsam { namespace gtsam {
void SuccessiveLinearizationParams::print(const std::string& str) const { void SuccessiveLinearizationParams::print(const std::string& str) const {
NonlinearOptimizerParams::print(str); NonlinearOptimizerParams::print(str);
switch ( linearSolverType ) { switch ( linearSolverType ) {
case MULTIFRONTAL_CHOLESKY: case MULTIFRONTAL_CHOLESKY:
std::cout << " linear solver type: MULTIFRONTAL CHOLESKY\n"; std::cout << " linear solver type: MULTIFRONTAL CHOLESKY\n";
break; break;
case MULTIFRONTAL_QR: case MULTIFRONTAL_QR:
std::cout << " linear solver type: MULTIFRONTAL QR\n"; std::cout << " linear solver type: MULTIFRONTAL QR\n";
break; break;
case SEQUENTIAL_CHOLESKY: case SEQUENTIAL_CHOLESKY:
std::cout << " linear solver type: SEQUENTIAL CHOLESKY\n"; std::cout << " linear solver type: SEQUENTIAL CHOLESKY\n";
break; break;
case SEQUENTIAL_QR: case SEQUENTIAL_QR:
std::cout << " linear solver type: SEQUENTIAL QR\n"; std::cout << " linear solver type: SEQUENTIAL QR\n";
break; break;
case CHOLMOD: case CHOLMOD:
std::cout << " linear solver type: CHOLMOD\n"; std::cout << " linear solver type: CHOLMOD\n";
break; break;
case CG: case CONJUGATE_GRADIENT:
std::cout << " linear solver type: CG\n"; std::cout << " linear solver type: CONJUGATE GRADIENT\n";
break; break;
default: default:
std::cout << " linear solver type: (invalid)\n"; std::cout << " linear solver type: (invalid)\n";
break; break;
} }
if(ordering) if(ordering)
std::cout << " ordering: custom\n"; std::cout << " ordering: custom\n";
else else
std::cout << " ordering: COLAMD\n"; std::cout << " ordering: COLAMD\n";
std::cout.flush(); std::cout.flush();
} }
VectorValues solveGaussianFactorGraph(const GaussianFactorGraph &gfg, const SuccessiveLinearizationParams &params) { VectorValues solveGaussianFactorGraph(const GaussianFactorGraph &gfg, const SuccessiveLinearizationParams &params) {

View File

@ -42,40 +42,6 @@ public:
SuccessiveLinearizationParams() : linearSolverType(MULTIFRONTAL_CHOLESKY) {} SuccessiveLinearizationParams() : linearSolverType(MULTIFRONTAL_CHOLESKY) {}
virtual ~SuccessiveLinearizationParams() {} virtual ~SuccessiveLinearizationParams() {}
virtual void print(const std::string& str = "") const {
NonlinearOptimizerParams::print(str);
switch ( linearSolverType ) {
case MULTIFRONTAL_CHOLESKY:
std::cout << " linear solver type: MULTIFRONTAL CHOLESKY\n";
break;
case MULTIFRONTAL_QR:
std::cout << " linear solver type: MULTIFRONTAL QR\n";
break;
case SEQUENTIAL_CHOLESKY:
std::cout << " linear solver type: SEQUENTIAL CHOLESKY\n";
break;
case SEQUENTIAL_QR:
std::cout << " linear solver type: SEQUENTIAL QR\n";
break;
case CHOLMOD:
std::cout << " linear solver type: CHOLMOD\n";
break;
case CONJUGATE_GRADIENT:
std::cout << " linear solver type: CONJUGATE GRADIENT\n";
break;
default:
std::cout << " linear solver type: (invalid)\n";
break;
}
if(ordering)
std::cout << " ordering: custom\n";
else
std::cout << " ordering: COLAMD\n";
std::cout.flush();
}
inline bool isMultifrontal() const { inline bool isMultifrontal() const {
return (linearSolverType == MULTIFRONTAL_CHOLESKY) || (linearSolverType == MULTIFRONTAL_QR); } return (linearSolverType == MULTIFRONTAL_CHOLESKY) || (linearSolverType == MULTIFRONTAL_QR); }