GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Attributes | List of all members
gtsam::ISAM2UpdateParams Struct Reference

#include <ISAM2UpdateParams.h>

Public Attributes

FactorIndices removeFactorIndices
 
std::optional< FastMap< Key, int > > constrainedKeys
 
std::optional< FastList< Key > > noRelinKeys
 
std::optional< FastList< Key > > extraReelimKeys
 
bool force_relinearize {false}
 
std::optional< FastMap< FactorIndex, KeySet > > newAffectedKeys
 
bool forceFullSolve {false}
 

Detailed Description

This struct is used by ISAM2::update() to pass additional parameters to give the user a fine-grained control on how factors and relinearized, etc.

Member Data Documentation

◆ constrainedKeys

std::optional<FastMap<Key, int> > gtsam::ISAM2UpdateParams::constrainedKeys

An optional map of keys to group labels, such that a variable can be constrained to a particular grouping in the BayesTree

◆ extraReelimKeys

std::optional<FastList<Key> > gtsam::ISAM2UpdateParams::extraReelimKeys

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.

◆ force_relinearize

bool gtsam::ISAM2UpdateParams::force_relinearize {false}

Relinearize any variables whose delta magnitude is sufficiently large (Params::relinearizeThreshold), regardless of the relinearization interval (Params::relinearizeSkip).

◆ 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

std::optional<FastMap<FactorIndex, KeySet> > gtsam::ISAM2UpdateParams::newAffectedKeys

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)}.

◆ noRelinKeys

std::optional<FastList<Key> > gtsam::ISAM2UpdateParams::noRelinKeys

An optional set of nonlinear keys that iSAM2 will hold at a constant linearization point, regardless of the size of the linear delta

◆ removeFactorIndices

FactorIndices gtsam::ISAM2UpdateParams::removeFactorIndices

Indices of factors to remove from system (default: empty)


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