32 class SymmetricBlockMatrix;
50 template<
typename CONTAINER>
57 virtual void print(
const std::string& s =
"",
58 const KeyFormatter& formatter = DefaultKeyFormatter)
const = 0;
67 virtual DenseIndex getDim(const_iterator variable)
const = 0;
76 virtual Matrix augmentedJacobian()
const = 0;
85 virtual std::pair<Matrix,Vector> jacobian()
const = 0;
95 virtual Matrix augmentedInformation()
const = 0;
100 virtual Matrix information()
const = 0;
106 virtual void hessianDiagonal(
double* d)
const = 0;
109 virtual std::map<Key,Matrix> hessianBlockDiagonal()
const = 0;
115 virtual bool empty()
const = 0;
129 virtual void updateHessian(
const KeyVector& keys,
139 virtual void gradientAtZero(
double* d)
const = 0;
145 template <
typename CONTAINER>
147 return std::find(keys.begin(), keys.end(), key) - keys.
begin();
152 friend class boost::serialization::access;
153 template<
class ARCHIVE>
154 void serialize(ARCHIVE & ar,
const unsigned int ) {
155 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Base);
GaussianFactor(const CONTAINER &keys)
Construct from container of keys.
Definition: GaussianFactor.h:51
This is the base class for all factor types.
Definition: Factor.h:54
ptrdiff_t DenseIndex
The index type for Eigen objects.
Definition: types.h:63
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:141
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:57
Template to create a binary predicate.
Definition: Testable.h:110
A helper that implements the traits interface for GTSAM types.
Definition: Testable.h:150
An abstract virtual base class for JacobianFactor and HessianFactor.
Definition: GaussianFactor.h:38
virtual ~GaussianFactor()
Destructor.
Definition: GaussianFactor.h:54
boost::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition: Key.h:33
This class represents a collection of vector-valued variables associated each with a unique integer i...
Definition: VectorValues.h:73
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition: Key.h:56
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
The base class for all factors.
Definition: SymmetricBlockMatrix.h:51
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
Concept check for values that can be used in unit tests.
iterator begin()
Iterator over variables.
Definition: VectorValues.h:214
typedef and functions to augment Eigen's MatrixXd
GaussianFactor This
This class.
Definition: GaussianFactor.h:41
Factor Base
Our base class.
Definition: GaussianFactor.h:43
GaussianFactor()
Default constructor creates empty factor.
Definition: GaussianFactor.h:46
boost::shared_ptr< This > shared_ptr
shared_ptr to this class
Definition: GaussianFactor.h:42