10 #include <gtsam/linear/IterativeSolver.h>
11 #include <gtsam/linear/ConjugateGradientSolver.h>
13 #include <boost/shared_ptr.hpp>
22 class GaussianFactorGraph;
25 struct PreconditionerParameters;
31 typedef boost::shared_ptr<PCGSolverParameters> shared_ptr;
35 virtual void print(std::ostream &os)
const;
39 return *preconditioner_;
42 boost::shared_ptr<PreconditionerParameters> preconditioner_;
50 typedef boost::shared_ptr<PCGSolver> shared_ptr;
55 boost::shared_ptr<Preconditioner> preconditioner_;
62 using IterativeSolver::optimize;
65 const KeyInfo &keyInfo,
const std::map<Key, Vector> &lambda,
76 const std::map<Key, Vector> &lambda);
81 const std::map<Key, Vector> &lambda_;
83 void residual(
const Vector &x, Vector &r)
const;
84 void multiply(
const Vector &x, Vector& y)
const;
85 void leftPrecondition(
const Vector &x, Vector &y)
const;
86 void rightPrecondition(
const Vector &x, Vector &y)
const;
87 inline void scal(
const double alpha, Vector &x)
const {
90 inline double dot(
const Vector &x,
const Vector &y)
const {
93 inline void axpy(
const double alpha,
const Vector &x, Vector &y)
const {
97 void getb(Vector &b)
const;
103 const std::map<Key, size_t> & dimensions);
Definition: PCGSolver.h:47
parameters for iterative linear solvers
Definition: IterativeSolver.h:38
double dot(const V1 &a, const V2 &b)
Dot product.
Definition: Vector.h:259
void axpy(double alpha, const V1 &x, V2 &y)
BLAS Level 1 axpy: y <- alpha*x + y.
Definition: Vector.h:282
Definition: PCGSolver.h:71
void print(const Matrix &A, const string &s, ostream &stream)
print a matrix
Definition: Matrix.cpp:183
Definition: Preconditioner.h:23
void scal(double alpha, Vector &x)
BLAS Level 1 scal: x <- alpha*x.
Definition: Vector.h:275
Definition: IterativeSolver.h:115
Point3 optimize(const NonlinearFactorGraph &graph, const Values &values, Key landmarkKey)
Optimize for triangulation.
Definition: triangulation.cpp:72
parameters for the conjugate gradient method
Definition: ConjugateGradientSolver.h:22
Definition: IterativeSolver.h:71
This class represents a collection of vector-valued variables associated each with a unique integer i...
Definition: VectorValues.h:89
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition: GaussianFactorGraph.h:65
Definition: Ordering.h:30
Definition: PCGSolver.h:28
Definition: Preconditioner.h:62