gtsam  4.1.0
gtsam
gtsam::ISAM2Result Struct Reference

Public Member Functions

 ISAM2Result (bool enableDetailedResults=false)
 
DetailedResultsdetails ()
 Return pointer to detail, 0 if no detail requested.
 
void print (const std::string str="") const
 Print results.
 
size_t getVariablesRelinearized () const
 Getters and Setters.
 
size_t getVariablesReeliminated () const
 
size_t getCliques () const
 
double getErrorBefore () const
 
double getErrorAfter () const
 

Public Attributes

boost::optional< double > errorBefore
 The nonlinear error of all of the factors, including new factors and variables added during the current call to ISAM2::update(). More...
 
boost::optional< double > errorAfter
 The nonlinear error of all of the factors computed after the current update, meaning that variables above the relinearization threshold (ISAM2Params::relinearizeThreshold) have been relinearized and new variables have undergone one linear update. More...
 
size_t variablesRelinearized
 The number of variables that were relinearized because their linear deltas exceeded the reslinearization threshold (ISAM2Params::relinearizeThreshold), combined with any additional variables that had to be relinearized because they were involved in the same factor as a variable above the relinearization threshold. More...
 
size_t variablesReeliminated
 The number of variables that were reeliminated as parts of the Bayes' Tree were recalculated, due to new factors. More...
 
size_t factorsRecalculated
 The number of factors that were included in reelimination of the Bayes' tree.
 
size_t cliques
 The number of cliques in the Bayes' Tree.
 
FactorIndices newFactorsIndices
 The indices of the newly-added factors, in 1-to-1 correspondence with the factors passed as newFactors to ISAM2::update(). More...
 
KeySet unusedKeys
 Unused keys, and indices for unused keys, i.e., keys that are empty now and do not appear in the new factors.
 
KeyVector observedKeys
 keys for variables that were observed, i.e., not unused.
 
KeySet keysWithRemovedFactors
 Keys of variables that had factors removed.
 
KeySet markedKeys
 All keys that were marked during the update process.
 
boost::optional< DetailedResultsdetail
 Detailed results, if enabled by ISAM2Params::enableDetailedResults. More...
 

Classes

struct  DetailedResults
 A struct holding detailed results, which must be enabled with ISAM2Params::enableDetailedResults. More...
 

Member Data Documentation

◆ detail

boost::optional<DetailedResults> gtsam::ISAM2Result::detail

Detailed results, if enabled by ISAM2Params::enableDetailedResults.

See Detail for information about the results data stored here.

◆ errorAfter

boost::optional<double> gtsam::ISAM2Result::errorAfter

The nonlinear error of all of the factors computed after the current update, meaning that variables above the relinearization threshold (ISAM2Params::relinearizeThreshold) have been relinearized and new variables have undergone one linear update.

Variable values are again computed by combining their linearization points with their partial linear deltas, by ISAM2::calculateEstimate().

Note: This will only be computed if
ISAM2Params::evaluateNonlinearError is set to true, because there is some cost to this computation.

◆ errorBefore

boost::optional<double> gtsam::ISAM2Result::errorBefore

The nonlinear error of all of the factors, including new factors and variables added during the current call to ISAM2::update().

This error is calculated using the following variable values:

  • Pre-existing variables will be evaluated by combining their linearization point before this call to update, with their partial linear delta, as computed by ISAM2::calculateEstimate().
  • New variables will be evaluated at their initialization points passed into the current call to update.
    Note: This will only be computed if
    ISAM2Params::evaluateNonlinearError is set to true, because there is some cost to this computation.

◆ newFactorsIndices

FactorIndices gtsam::ISAM2Result::newFactorsIndices

The indices of the newly-added factors, in 1-to-1 correspondence with the factors passed as newFactors to ISAM2::update().

These indices may be used later to refer to the factors in order to remove them.

◆ variablesReeliminated

size_t gtsam::ISAM2Result::variablesReeliminated

The number of variables that were reeliminated as parts of the Bayes' Tree were recalculated, due to new factors.

When loop closures occur, this count will be large as the new loop-closing factors will tend to involve variables far away from the root, and everything up to the root will be reeliminated.

◆ variablesRelinearized

size_t gtsam::ISAM2Result::variablesRelinearized

The number of variables that were relinearized because their linear deltas exceeded the reslinearization threshold (ISAM2Params::relinearizeThreshold), combined with any additional variables that had to be relinearized because they were involved in the same factor as a variable above the relinearization threshold.

On steps where no relinearization is considered (see ISAM2Params::relinearizeSkip), this count will be zero.


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