gtsam  4.1.0
gtsam
gtsam::ISAM2UpdateParams Struct Reference

Public Attributes

FactorIndices removeFactorIndices
 Indices of factors to remove from system (default: empty)
 
boost::optional< FastMap< Key, int > > constrainedKeys {boost::none}
 An optional map of keys to group labels, such that a variable can be constrained to a particular grouping in the BayesTree.
 
boost::optional< FastList< Key > > noRelinKeys {boost::none}
 An optional set of nonlinear keys that iSAM2 will hold at a constant linearization point, regardless of the size of the linear delta.
 
boost::optional< FastList< Key > > extraReelimKeys {boost::none}
 An optional set of nonlinear keys that iSAM2 will re-eliminate, regardless of the size of the linear delta. More...
 
bool force_relinearize {false}
 Relinearize any variables whose delta magnitude is sufficiently large (Params::relinearizeThreshold), regardless of the relinearization interval (Params::relinearizeSkip).
 
boost::optional< FastMap< FactorIndex, KeySet > > newAffectedKeys {boost::none}
 An optional set of new Keys that are now affected by factors, indexed by factor indices (as returned by ISAM2::update()). More...
 
bool forceFullSolve {false}
 By default, iSAM2 uses a wildfire update scheme that stops updating when the deltas become too small down in the tree. More...
 

Member Data Documentation

◆ extraReelimKeys

boost::optional<FastList<Key> > gtsam::ISAM2UpdateParams::extraReelimKeys {boost::none}

An optional set of nonlinear keys that iSAM2 will re-eliminate, regardless of the size of the linear delta.

This allows the provided keys to be reordered.

◆ forceFullSolve

bool gtsam::ISAM2UpdateParams::forceFullSolve {false}

By default, iSAM2 uses a wildfire update scheme that stops updating when the deltas become too small down in the tree.

This flagg forces a full solve instead.

◆ newAffectedKeys

boost::optional<FastMap<FactorIndex, KeySet> > gtsam::ISAM2UpdateParams::newAffectedKeys {boost::none}

An optional set of new Keys that are now affected by factors, indexed by factor indices (as returned by ISAM2::update()).

Use when working with smart factors. For example:

  • Timestamp i: ISAM2::update() called with a new smart factor depending on Keys X(0) and X(1). It returns that the factor index for the new smart factor (inside ISAM2) is 13.
  • Timestamp i+1: The same smart factor has been augmented to now also depend on Keys X(2), X(3). Next call to ISAM2::update() must include its newAffectedKeys field with the map 13 -> {X(2), X(3)}.

The documentation for this struct was generated from the following file: