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

#include <ISAM2Result.h>

Classes

struct  DetailedResults
 

Public Member Functions

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

Public Attributes

size_t cliques
 
std::optional< DetailedResultsdetail
 
std::optional< double > errorAfter
 
std::optional< double > errorBefore
 
size_t factorsRecalculated
 
KeySet keysWithRemovedFactors
 
KeySet markedKeys
 
FactorIndices newFactorsIndices
 
KeyVector observedKeys
 
KeySet unusedKeys
 
size_t variablesReeliminated
 
size_t variablesRelinearized
 

Detailed Description

This struct is returned from ISAM2::update() and contains information about the update that is useful for determining whether the solution is converging, and about how much work was required for the update. See member variables for details and information about each entry.

Definition at line 39 of file ISAM2Result.h.

Constructor & Destructor Documentation

◆ ISAM2Result()

gtsam::ISAM2Result::ISAM2Result ( bool  enableDetailedResults = false)
inlineexplicit

Definition at line 158 of file ISAM2Result.h.

Member Function Documentation

◆ details()

DetailedResults* gtsam::ISAM2Result::details ( )
inline

Return pointer to detail, 0 if no detail requested.

Definition at line 163 of file ISAM2Result.h.

◆ getCliques()

size_t gtsam::ISAM2Result::getCliques ( ) const
inline

Definition at line 183 of file ISAM2Result.h.

◆ getErrorAfter()

double gtsam::ISAM2Result::getErrorAfter ( ) const
inline

Definition at line 185 of file ISAM2Result.h.

◆ getErrorBefore()

double gtsam::ISAM2Result::getErrorBefore ( ) const
inline

Definition at line 184 of file ISAM2Result.h.

◆ getNewFactorsIndices()

FactorIndices gtsam::ISAM2Result::getNewFactorsIndices ( ) const
inline

Definition at line 182 of file ISAM2Result.h.

◆ getVariablesReeliminated()

size_t gtsam::ISAM2Result::getVariablesReeliminated ( ) const
inline

Definition at line 181 of file ISAM2Result.h.

◆ getVariablesRelinearized()

size_t gtsam::ISAM2Result::getVariablesRelinearized ( ) const
inline

Getters and Setters

Definition at line 180 of file ISAM2Result.h.

◆ print()

void gtsam::ISAM2Result::print ( const std::string  str = "") const
inline

Print results.

Definition at line 172 of file ISAM2Result.h.

Member Data Documentation

◆ cliques

size_t gtsam::ISAM2Result::cliques

The number of cliques in the Bayes' Tree

Definition at line 89 of file ISAM2Result.h.

◆ detail

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

Detailed results, if enabled by ISAM2Params::enableDetailedResults. See Detail for information about the results data stored here.

Definition at line 156 of file ISAM2Result.h.

◆ errorAfter

std::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.

Definition at line 64 of file ISAM2Result.h.

◆ errorBefore

std::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.

Definition at line 52 of file ISAM2Result.h.

◆ factorsRecalculated

size_t gtsam::ISAM2Result::factorsRecalculated

The number of factors that were included in reelimination of the Bayes' tree.

Definition at line 86 of file ISAM2Result.h.

◆ keysWithRemovedFactors

KeySet gtsam::ISAM2Result::keysWithRemovedFactors

Keys of variables that had factors removed.

Definition at line 106 of file ISAM2Result.h.

◆ markedKeys

KeySet gtsam::ISAM2Result::markedKeys

All keys that were marked during the update process.

Definition at line 109 of file ISAM2Result.h.

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

Definition at line 95 of file ISAM2Result.h.

◆ observedKeys

KeyVector gtsam::ISAM2Result::observedKeys

keys for variables that were observed, i.e., not unused.

Definition at line 103 of file ISAM2Result.h.

◆ unusedKeys

KeySet gtsam::ISAM2Result::unusedKeys

Unused keys, and indices for unused keys, i.e., keys that are empty now and do not appear in the new factors.

Definition at line 100 of file ISAM2Result.h.

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

Definition at line 82 of file ISAM2Result.h.

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

Definition at line 74 of file ISAM2Result.h.


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


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