25#include <gtsam/linear/Preconditioner.h>
27#include <gtsam/dllexport.h>
29#include <boost/shared_ptr.hpp>
40 struct GTSAM_EXPORT SubgraphPreconditionerParameters :
public PreconditionerParameters {
41 typedef boost::shared_ptr<SubgraphPreconditionerParameters> shared_ptr;
54 class GTSAM_EXPORT SubgraphPreconditioner :
public Preconditioner {
57 typedef boost::shared_ptr<SubgraphPreconditioner> shared_ptr;
81 ~SubgraphPreconditioner()
override {}
84 void print(
const std::string& s =
"SubgraphPreconditioner")
const;
113 void transposeMultiplyAdd2(
double alpha, Errors::const_iterator begin,
126 void multiplyInPlace(
const VectorValues& y, Errors& e)
const;
135 void transposeMultiplyAdd(
double alpha,
const Errors& e,
VectorValues& y)
const;
141 void solve(
const Vector& y, Vector &x)
const override;
144 void transposeSolve(
const Vector& y, Vector& x)
const override;
148 const GaussianFactorGraph &gfg,
150 const std::map<Key,Vector> &lambda
Chordal Bayes Net, the result of eliminating a factor graph.
Linear Factor Graph where all factors are Gaussians.
Some support classes for iterative solvers.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
FastList< Vector > Errors
Errors is a vector of errors.
Definition Errors.h:34
GaussianBayesNet is a Bayes net made from linear-Gaussian conditionals.
Definition GaussianBayesNet.h:36
A Linear Factor Graph is a factor graph where all factors are Gaussian, i.e.
Definition GaussianFactorGraph.h:75
Handy data structure for iterative solvers.
Definition IterativeSolver.h:126
Definition SubgraphBuilder.h:96
Definition SubgraphPreconditioner.h:40
const GaussianFactorGraph & Ab2() const
Access Ab2.
Definition SubgraphPreconditioner.h:87
void print(const std::string &s="SubgraphPreconditioner") const
print the object
Definition SubgraphPreconditioner.cpp:198
const Errors b2bar() const
Access b2bar.
Definition SubgraphPreconditioner.h:93
const GaussianBayesNet & Rc1() const
Access Rc1.
Definition SubgraphPreconditioner.h:90
VectorValues represents a collection of vector-valued variables associated each with a unique integer...
Definition VectorValues.h:74
static VectorValues Zero(const VectorValues &other)
Create a VectorValues with the same structure as other, but filled with zeros.
Definition VectorValues.cpp:78
The Factor::error simply extracts the.