g2o
Classes | Namespaces | Macros | Functions
solver_cholmod.cpp File Reference
#include "linear_solver_cholmod.h"
#include "g2o/core/block_solver.h"
#include "g2o/core/solver.h"
#include "g2o/core/optimization_algorithm_factory.h"
#include "g2o/core/optimization_algorithm_gauss_newton.h"
#include "g2o/core/optimization_algorithm_levenberg.h"
#include "g2o/core/optimization_algorithm_dogleg.h"
#include "g2o/stuff/macros.h"
Include dependency graph for solver_cholmod.cpp:

Go to the source code of this file.

Classes

class  g2o::CholmodSolverCreator
 

Namespaces

 g2o
 

Macros

#define DIM_TO_SOLVER(p, l)   BlockSolver< BlockSolverTraits<p, l> >
 
#define ALLOC_CHOLMOD(s, p, l, blockorder)
 

Functions

static OptimizationAlgorithm * g2o::createSolver (const std::string &fullSolverName)
 
 g2o::G2O_REGISTER_OPTIMIZATION_LIBRARY (cholmod)
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_var_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("gn_var_cholmod","Gauss-Newton: Cholesky solver using CHOLMOD (variable blocksize)","CHOLMOD", false, Eigen::Dynamic, Eigen::Dynamic)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_fix3_2_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("gn_fix3_2_cholmod","Gauss-Newton: Cholesky solver using CHOLMOD (fixed blocksize)","CHOLMOD", true, 3, 2)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_fix6_3_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("gn_fix6_3_cholmod","Gauss-Newton: Cholesky solver using CHOLMOD (fixed blocksize)","CHOLMOD", true, 6, 3)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_fix7_3_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("gn_fix7_3_cholmod","Gauss-Newton: Cholesky solver using CHOLMOD (fixed blocksize)","CHOLMOD", true, 7, 3)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_var_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("lm_var_cholmod","Levenberg: Cholesky solver using CHOLMOD (variable blocksize)","CHOLMOD", false, Eigen::Dynamic, Eigen::Dynamic)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_fix3_2_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("lm_fix3_2_cholmod","Levenberg: Cholesky solver using CHOLMOD (fixed blocksize)","CHOLMOD", true, 3, 2)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_fix6_3_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("lm_fix6_3_cholmod","Levenberg: Cholesky solver using CHOLMOD (fixed blocksize)","CHOLMOD", true, 6, 3)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_fix7_3_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("lm_fix7_3_cholmod","Levenberg: Cholesky solver using CHOLMOD (fixed blocksize)","CHOLMOD", true, 7, 3)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (dl_var_cholmod, new CholmodSolverCreator(OptimizationAlgorithmProperty("dl_var_cholmod","Dogleg: Cholesky solver using CHOLMOD (variable blocksize)","CHOLMOD", false, Eigen::Dynamic, Eigen::Dynamic)))
 

Macro Definition Documentation

#define ALLOC_CHOLMOD (   s,
  p,
  l,
  blockorder 
)
Value:
if (1) { \
std::cerr << "# Using CHOLMOD poseDim " << p << " landMarkDim " << l << " blockordering " << blockorder << std::endl; \
LinearSolverCholmod < DIM_TO_SOLVER(p, l)::PoseMatrixType >* linearSolver = new LinearSolverCholmod<DIM_TO_SOLVER(p, l)::PoseMatrixType>(); \
linearSolver->setBlockOrdering(blockorder); \
s = new DIM_TO_SOLVER(p, l)(linearSolver); \
} else (void)0
#define DIM_TO_SOLVER(p, l)

Definition at line 43 of file solver_cholmod.cpp.

Referenced by g2o::createSolver().

#define DIM_TO_SOLVER (   p,
 
)    BlockSolver< BlockSolverTraits<p, l> >

Definition at line 41 of file solver_cholmod.cpp.