83 size_t dim()
const override;
132 const std::map<Key, Key>& rekey_mapping)
const override;
146 bool isJacobian()
const;
147 bool isHessian()
const;
150 std::shared_ptr<JacobianFactor> toJacobian()
const;
153 std::shared_ptr<HessianFactor> toHessian()
const;
163 void initializeLinearizationPoint(
const Values& linearizationPoint);
166 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 168 friend class boost::serialization::access;
169 template<
class ARCHIVE>
170 void serialize(ARCHIVE & ar,
const unsigned int ) {
171 ar & boost::serialization::make_nvp(
"NonlinearFactor",
172 boost::serialization::base_object<Base>(*
this));
173 ar & BOOST_SERIALIZATION_NVP(factor_);
174 ar & BOOST_SERIALIZATION_NVP(linearizationPoint_);
void print(const Matrix &A, const string &s, ostream &stream)
const GaussianFactor::shared_ptr & factor() const
Factor Graph consisting of non-linear factors.
std::string serialize(const T &input)
serializes to a string
const std::optional< Values > & linearizationPoint() const
LinearContainerFactor This
static const KeyFormatter DefaultKeyFormatter
GaussianFactor::shared_ptr factor_
std::optional< Values > linearizationPoint_
std::shared_ptr< This > shared_ptr
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
std::shared_ptr< This > shared_ptr
shared_ptr to this class
std::vector< float > Values
bool hasLinearizationPoint() const
Casting syntactic sugar.
NonlinearFactor::shared_ptr clone() const override
std::shared_ptr< This > shared_ptr
A Gaussian factor using the canonical parameters (information form)
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.