g2o
Classes | Namespaces | Macros | Functions
solver_eigen.cpp File Reference
#include "linear_solver_eigen.h"
#include "g2o/core/block_solver.h"
#include "g2o/core/solver.h"
#include "g2o/core/optimization_algorithm_factory.h"
#include "g2o/core/sparse_optimizer.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_eigen.cpp:

Go to the source code of this file.

Classes

class  g2o::EigenSolverCreator
 

Namespaces

 g2o
 

Macros

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

Functions

static OptimizationAlgorithm * g2o::createSolver (const std::string &fullSolverName)
 
 g2o::G2O_REGISTER_OPTIMIZATION_LIBRARY (eigen)
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_var_eigen, new EigenSolverCreator(OptimizationAlgorithmProperty("gn_var_eigen","Gauss-Newton: Cholesky solver using Eigen's Sparse Cholesky methods (variable blocksize)","Eigen", false, Eigen::Dynamic, Eigen::Dynamic)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_var_eigen, new EigenSolverCreator(OptimizationAlgorithmProperty("lm_var_eigen","Levenberg: Cholesky solver using Eigen's Sparse Cholesky methods (variable blocksize)","Eigen", false, Eigen::Dynamic, Eigen::Dynamic)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (dl_var_eigen, new EigenSolverCreator(OptimizationAlgorithmProperty("dl_var_eigen","Dogleg: Cholesky solver using Eigen's Sparse Cholesky methods (variable blocksize)","Eigen", false, Eigen::Dynamic, Eigen::Dynamic)))
 

Macro Definition Documentation

#define ALLOC_EIGEN_SPARSE_CHOLESKY (   s,
  p,
  l,
  blockorder 
)
Value:
if (1) { \
std::cerr << "# Using EigenSparseCholesky poseDim " << p << " landMarkDim " << l << " blockordering " << blockorder << std::endl; \
LinearSolverEigen< DIM_TO_SOLVER(p, l)::PoseMatrixType >* linearSolver = new LinearSolverEigen<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 32 of file solver_eigen.cpp.

Referenced by g2o::createSolver().

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

Definition at line 30 of file solver_eigen.cpp.