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

Go to the source code of this file.

Classes

class  g2o::PCGSolverCreator
 

Namespaces

 g2o
 

Macros

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

Functions

static OptimizationAlgorithm * g2o::createSolver (const std::string &fullSolverName)
 
 g2o::G2O_REGISTER_OPTIMIZATION_LIBRARY (pcg)
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_pcg, new PCGSolverCreator(OptimizationAlgorithmProperty("gn_pcg","Gauss-Newton: PCG solver using block-Jacobi pre-conditioner (variable blocksize)","PCG", false, Eigen::Dynamic, Eigen::Dynamic)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_pcg3_2, new PCGSolverCreator(OptimizationAlgorithmProperty("gn_pcg3_2","Gauss-Newton: PCG solver using block-Jacobi pre-conditioner (fixed blocksize)","PCG", true, 3, 2)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_pcg6_3, new PCGSolverCreator(OptimizationAlgorithmProperty("gn_pcg6_3","Gauss-Newton: PCG solver using block-Jacobi pre-conditioner (fixed blocksize)","PCG", true, 6, 3)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (gn_pcg7_3, new PCGSolverCreator(OptimizationAlgorithmProperty("gn_pcg7_3","Gauss-Newton: PCG solver using block-Jacobi pre-conditioner (fixed blocksize)","PCG", true, 7, 3)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_pcg, new PCGSolverCreator(OptimizationAlgorithmProperty("lm_pcg","Levenberg: PCG solver using block-Jacobi pre-conditioner (variable blocksize)","PCG", false, Eigen::Dynamic, Eigen::Dynamic)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_pcg3_2, new PCGSolverCreator(OptimizationAlgorithmProperty("lm_pcg3_2","Levenberg: PCG solver using block-Jacobi pre-conditioner (fixed blocksize)","PCG", true, 3, 2)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_pcg6_3, new PCGSolverCreator(OptimizationAlgorithmProperty("lm_pcg6_3","Levenberg: PCG solver using block-Jacobi pre-conditioner (fixed blocksize)","PCG", true, 6, 3)))
 
 g2o::G2O_REGISTER_OPTIMIZATION_ALGORITHM (lm_pcg7_3, new PCGSolverCreator(OptimizationAlgorithmProperty("lm_pcg7_3","Levenberg: PCG solver using block-Jacobi pre-conditioner (fixed blocksize)","PCG", true, 7, 3)))
 

Macro Definition Documentation

#define ALLOC_PCG (   s,
  p,
 
)
Value:
if (1) { \
std::cerr << "# Using PCG poseDim " << p << " landMarkDim " << l << std::endl; \
DIM_TO_SOLVER(p, l)::LinearSolverType* linearSolver = new LinearSolverPCG<DIM_TO_SOLVER(p, l)::PoseMatrixType>(); \
s = new DIM_TO_SOLVER(p, l)(linearSolver); \
} else (void)0
#define DIM_TO_SOLVER(p, l)
Definition: solver_pcg.cpp:37

Definition at line 39 of file solver_pcg.cpp.

Referenced by g2o::createSolver().

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

Definition at line 37 of file solver_pcg.cpp.