27 class GaussianFactorGraph;
31 struct PreconditionerParameters;
39 typedef boost::shared_ptr<PCGSolverParameters> shared_ptr;
44 virtual void print(std::ostream &os)
const;
48 return *preconditioner_;
51 boost::shared_ptr<PreconditionerParameters> preconditioner_;
60 typedef boost::shared_ptr<PCGSolver> shared_ptr;
65 boost::shared_ptr<Preconditioner> preconditioner_;
73 using IterativeSolver::optimize;
76 const KeyInfo &keyInfo,
const std::map<Key, Vector> &lambda,
89 const std::map<Key, Vector> &lambda);
94 const std::map<Key, Vector> &lambda_;
96 void residual(
const Vector &x, Vector &r)
const;
97 void multiply(
const Vector &x, Vector& y)
const;
98 void leftPrecondition(
const Vector &x, Vector &y)
const;
99 void rightPrecondition(
const Vector &x, Vector &y)
const;
100 inline void scal(
const double alpha, Vector &x)
const {
103 inline double dot(
const Vector &x,
const Vector &y)
const {
106 inline void axpy(
const double alpha,
const Vector &x, Vector &y)
const {
110 void getb(Vector &b)
const;
118 const std::map<Key, size_t> & dimensions);
VectorValues buildVectorValues(const Vector &v, const Ordering &ordering, const map< Key, size_t > &dimensions)
Create VectorValues from a Vector.
Definition: PCGSolver.cpp:129
Definition: Preconditioner.h:24
parameters for the conjugate gradient method
Definition: ConjugateGradientSolver.h:29
double dot(const V1 &a, const V2 &b)
Dot product.
Definition: Vector.h:162
Base class for Iterative Solvers like SubgraphSolver.
Definition: IterativeSolver.h:86
Parameters for PCG.
Definition: PCGSolver.h:36
Point3 optimize(const NonlinearFactorGraph &graph, const Values &values, Key landmarkKey)
Optimize for triangulation.
Definition: triangulation.cpp:73
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:141
System class needed for calling preconditionedConjugateGradient.
Definition: PCGSolver.h:84
void scal(double alpha, Vector &x)
BLAS Level 1 scal: x <- alpha*x.
Definition: Vector.h:178
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition: GaussianFactorGraph.h:65
Definition: Preconditioner.h:64
Handy data structure for iterative solvers.
Definition: IterativeSolver.h:126
parameters for iterative linear solvers
Definition: IterativeSolver.h:44
void axpy(double alpha, const V1 &x, V2 &y)
BLAS Level 1 axpy: y <- alpha*x + y.
Definition: Vector.h:185
This class represents a collection of vector-valued variables associated each with a unique integer i...
Definition: VectorValues.h:73
Implementation of Conjugate Gradient solver for a linear system.
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
A virtual base class for the preconditioned conjugate gradient solver.
Definition: PCGSolver.h:57
Definition: Ordering.h:34