|
gtsam
3.2.0
gtsam
|
Dummy version of a generic linear factor to be injected into a nonlinear factor graph.
This factor does have the ability to perform relinearization under small-angle and linearity assumptions if a linearization point is added.
Inheritance diagram for gtsam::LinearContainerFactor:Public Member Functions | |
| LinearContainerFactor (const JacobianFactor &factor, const Values &linearizationPoint=Values()) | |
| Primary constructor: store a linear factor with optional linearization point. | |
| LinearContainerFactor (const HessianFactor &factor, const Values &linearizationPoint=Values()) | |
| Primary constructor: store a linear factor with optional linearization point. | |
| LinearContainerFactor (const GaussianFactor::shared_ptr &factor, const Values &linearizationPoint=Values()) | |
| Constructor from shared_ptr. | |
| const GaussianFactor::shared_ptr & | factor () const |
| void | print (const std::string &s="", const KeyFormatter &keyFormatter=gtsam::DefaultKeyFormatter) const |
| print | |
| bool | equals (const NonlinearFactor &f, double tol=1e-9) const |
| Check if two factors are equal. | |
| double | error (const Values &c) const |
| Calculate the nonlinear error for the factor, where the error is computed by passing the delta between linearization point and c, where delta = linearizationPoint_.localCoordinates(c), into the error function of the stored linear factor. More... | |
| size_t | dim () const |
| get the dimension of the factor: rows of linear factor | |
| const boost::optional< Values > & | linearizationPoint () const |
| Extract the linearization point used in recalculating error. | |
| GaussianFactor::shared_ptr | linearize (const Values &c) const |
| Linearize to a GaussianFactor, with method depending on the presence of a linearizationPoint. More... | |
| GaussianFactor::shared_ptr | negateToGaussian () const |
| Creates an anti-factor directly. | |
| NonlinearFactor::shared_ptr | negateToNonlinear () const |
| Creates the equivalent anti-factor as another LinearContainerFactor. | |
| NonlinearFactor::shared_ptr | clone () const |
| Creates a shared_ptr clone of the factor - needs to be specialized to allow for subclasses. More... | |
| bool | hasLinearizationPoint () const |
| bool | isJacobian () const |
| Simple checks whether this is a Jacobian or Hessian factor. | |
| bool | isHessian () const |
| boost::shared_ptr< JacobianFactor > | toJacobian () const |
| Casts to JacobianFactor. | |
| boost::shared_ptr< HessianFactor > | toHessian () const |
| Casts to HessianFactor. | |
Public Member Functions inherited from gtsam::NonlinearFactor | |
| NonlinearFactor () | |
| Default constructor for I/O only. | |
| template<typename CONTAINER > | |
| NonlinearFactor (const CONTAINER &keys) | |
| Constructor from a collection of the keys involved in this factor. | |
| virtual | ~NonlinearFactor () |
| Destructor. | |
| virtual bool | active (const Values &c) const |
| Checks whether a factor should be used based on a set of values. More... | |
| shared_ptr | rekey (const std::map< Key, Key > &rekey_mapping) const |
| Creates a shared_ptr clone of the factor with different keys using a map from old->new keys. | |
| shared_ptr | rekey (const std::vector< Key > &new_keys) const |
| Clones a factor and fully replaces its keys. More... | |
Public Member Functions inherited from gtsam::Factor | |
| Key | front () const |
| First key. | |
| Key | back () const |
| Last key. | |
| const_iterator | find (Key key) const |
| find | |
| const FastVector< Key > & | keys () const |
| Access the factor's involved variable keys. | |
| const_iterator | begin () const |
| Iterator at beginning of involved variable keys. | |
| const_iterator | end () const |
| Iterator at end of involved variable keys. | |
| size_t | size () const |
| void | print (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const |
| print | |
| void | printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const |
| print only keys | |
| FastVector< Key > & | keys () |
| iterator | begin () |
| Iterator at beginning of involved variable keys. | |
| iterator | end () |
| Iterator at end of involved variable keys. | |
Static Public Member Functions | |
| static NonlinearFactorGraph | convertLinearGraph (const GaussianFactorGraph &linear_graph, const Values &linearizationPoint=Values()) |
| Utility function for converting linear graphs to nonlinear graphs consisting of LinearContainerFactors. | |
Protected Member Functions | |
| LinearContainerFactor () | |
| Default constructor - necessary for serialization. | |
| LinearContainerFactor (const GaussianFactor::shared_ptr &factor, const boost::optional< Values > &linearizationPoint) | |
| direct copy constructor | |
| void | initializeLinearizationPoint (const Values &linearizationPoint) |
Protected Member Functions inherited from gtsam::Factor | |
| Factor () | |
| Default constructor for I/O. | |
| template<typename CONTAINER > | |
| Factor (const CONTAINER &keys) | |
| Construct factor from container of keys. More... | |
| template<typename ITERATOR > | |
| Factor (ITERATOR first, ITERATOR last) | |
| Construct factor from iterator keys. More... | |
| bool | equals (const This &other, double tol=1e-9) const |
| check equality | |
Protected Attributes | |
| GaussianFactor::shared_ptr | factor_ |
| boost::optional< Values > | linearizationPoint_ |
Protected Attributes inherited from gtsam::Factor | |
| FastVector< Key > | keys_ |
| The keys involved in this factor. | |
Friends | |
| class | boost::serialization::access |
| Serialization function. | |
Additional Inherited Members | |
Public Types inherited from gtsam::NonlinearFactor | |
| typedef boost::shared_ptr< This > | shared_ptr |
Public Types inherited from gtsam::Factor | |
| typedef FastVector< Key >::iterator | iterator |
| Iterator over keys. | |
|
typedef FastVector< Key > ::const_iterator | const_iterator |
| Const iterator over keys. | |
Protected Types inherited from gtsam::NonlinearFactor | |
| typedef Factor | Base |
| typedef NonlinearFactor | This |
Static Protected Member Functions inherited from gtsam::Factor | |
| template<typename CONTAINER > | |
| static Factor | FromKeys (const CONTAINER &keys) |
| Construct factor from container of keys. More... | |
| template<typename ITERATOR > | |
| static Factor | FromIterators (ITERATOR first, ITERATOR last) |
| Construct factor from iterator keys. More... | |
|
inlinevirtual |
Creates a shared_ptr clone of the factor - needs to be specialized to allow for subclasses.
Clones the underlying linear factor
Reimplemented from gtsam::NonlinearFactor.
|
virtual |
Calculate the nonlinear error for the factor, where the error is computed by passing the delta between linearization point and c, where delta = linearizationPoint_.localCoordinates(c), into the error function of the stored linear factor.
Implements gtsam::NonlinearFactor.
|
virtual |
Linearize to a GaussianFactor, with method depending on the presence of a linearizationPoint.
The relinearization approach used computes a linear delta between the original linearization point and the new values c, where delta = linearizationPoint_.localCoordinates(c), and substitutes this change into the system. This substitution is only really valid for linear variable manifolds, and for any variables based on a non-commutative manifold (such as Pose2, Pose3), the relinearized version will be effective for only small angles.
TODO: better approximation of relinearization TODO: switchable modes for approximation technique
Implements gtsam::NonlinearFactor.