24#include <boost/tuple/tuple.hpp>
25#include <boost/shared_ptr.hpp>
26#include <boost/optional.hpp>
44class IterativeOptimizationParameters {
48 typedef boost::shared_ptr<IterativeOptimizationParameters> shared_ptr;
50 SILENT = 0, COMPLEXITY, ERROR
55 IterativeOptimizationParameters(Verbosity v = SILENT) :
59 virtual ~IterativeOptimizationParameters() {
63 inline Verbosity verbosity()
const {
66 GTSAM_EXPORT std::string getVerbosity()
const;
67 GTSAM_EXPORT
void setVerbosity(
const std::string &s);
70 GTSAM_EXPORT
void print()
const;
73 GTSAM_EXPORT
virtual void print(std::ostream &os)
const;
76 friend std::ostream& operator<<(std::ostream &os,
77 const IterativeOptimizationParameters &p);
79 GTSAM_EXPORT
static Verbosity verbosityTranslator(
const std::string &s);
80 GTSAM_EXPORT
static std::string verbosityTranslator(Verbosity v);
86class IterativeSolver {
88 typedef boost::shared_ptr<IterativeSolver> shared_ptr;
91 virtual ~IterativeSolver() {
96 boost::optional<const KeyInfo&> = boost::none,
97 boost::optional<
const std::map<Key, Vector>&> lambda = boost::none);
101 const std::map<Key, Vector> &lambda);
105 const KeyInfo &keyInfo,
const std::map<Key, Vector> &lambda,
114struct GTSAM_EXPORT KeyInfoEntry {
115 size_t index, dim, start;
118 KeyInfoEntry(
size_t idx,
size_t d,
Key start) :
119 index(idx), dim(d), start(start) {
126class GTSAM_EXPORT
KeyInfo:
public std::map<Key, KeyInfoEntry> {
130 typedef std::map<Key, KeyInfoEntry> Base;
163 std::vector<size_t> colSpec()
const;
169 Vector x0vector()
const;
typedef and functions to augment Eigen's VectorXd
Variable ordering for the elimination algorithm.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:100
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 key to (index, dimension, start).
Definition IterativeSolver.h:114
Handy data structure for iterative solvers.
Definition IterativeSolver.h:126
const Ordering & ordering() const
Return the ordering.
Definition IterativeSolver.h:158
size_t numCols() const
Return the total number of columns (scalar variables = sum of dimensions).
Definition IterativeSolver.h:153
KeyInfo()
Default Constructor.
Definition IterativeSolver.h:142
VectorValues represents a collection of vector-valued variables associated each with a unique integer...
Definition VectorValues.h:74
A non-templated config holding any types of Manifold-group elements.
Definition Values.h:65