Public Member Functions | Public Attributes | List of all members
gtsam::ISAM2UpdateParams Struct Reference

#include <ISAM2UpdateParams.h>

Public Member Functions

 ISAM2UpdateParams ()=default
 

Public Attributes

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

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.

Definition at line 32 of file ISAM2UpdateParams.h.

Constructor & Destructor Documentation

◆ ISAM2UpdateParams()

gtsam::ISAM2UpdateParams::ISAM2UpdateParams ( )
default

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

Definition at line 40 of file ISAM2UpdateParams.h.

◆ 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.

Definition at line 49 of file ISAM2UpdateParams.h.

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

Definition at line 54 of file ISAM2UpdateParams.h.

◆ 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.

Definition at line 71 of file ISAM2UpdateParams.h.

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

Definition at line 66 of file ISAM2UpdateParams.h.

◆ 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

Definition at line 44 of file ISAM2UpdateParams.h.

◆ removeFactorIndices

FactorIndices gtsam::ISAM2UpdateParams::removeFactorIndices

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

Definition at line 36 of file ISAM2UpdateParams.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:46:22