|
gtsam
|
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.
Public Member Functions | |
| ISAM2Result (bool enableDetailedResults=false) | |
| DetailedResults * | details () |
| 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 |
| FactorIndices | getNewFactorsIndices () const |
| size_t | getCliques () const |
| size_t | getTreeNnz () const |
| bool | getBatchReorderTriggered () const |
| double | getErrorBefore () const |
| double | getErrorAfter () const |
| size_t | getFactorsRecalculated () const |
| const KeySet & | getUnusedKeys () const |
| const KeyVector & | getObservedKeys () const |
| const KeySet & | getKeysWithRemovedFactors () const |
| const KeySet & | getMarkedKeys () const |
Public Attributes | |
| std::optional< double > | errorBefore |
| The nonlinear error of all of the factors, including new factors and variables added during the current call to ISAM2::update(). | |
| std::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. | |
| 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. | |
| size_t | variablesReeliminated |
| The number of variables that were reeliminated as parts of the Bayes' Tree were recalculated, due to new factors. | |
| 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. | |
| size_t | treeNnz |
| Total number of nonzero entries in the Bayes tree (upper-triangular R and rectangular S blocks of every clique conditional). | |
| bool | batchReorderTriggered |
| Whether a full batch reorder was triggered during this update, either by the adaptive reorder heuristic or by the existing batch threshold. | |
| FactorIndices | newFactorsIndices |
The indices of the newly-added factors, in 1-to-1 correspondence with the factors passed as newFactors to ISAM2::update(). | |
| 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. | |
| std::optional< DetailedResults > | detail |
| Detailed results, if enabled by ISAM2Params::enableDetailedResults. | |
Classes | |
| struct | DetailedResults |
| A struct holding detailed results, which must be enabled with ISAM2Params::enableDetailedResults. More... | |
| std::optional<DetailedResults> gtsam::ISAM2Result::detail |
Detailed results, if enabled by ISAM2Params::enableDetailedResults.
See Detail for information about the results data stored here.
| 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().
true, because there is some cost to this computation. | 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:
true, because there is some cost to this computation. | 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.
| size_t gtsam::ISAM2Result::treeNnz |
Total number of nonzero entries in the Bayes tree (upper-triangular R and rectangular S blocks of every clique conditional).
Useful for monitoring fill-in growth over long incremental sessions. Computed only when ISAM2Params::enableAdaptiveReorder or ISAM2Params::enableDetailedResults is enabled; otherwise zero. Use ISAM2::treeNnz() for an explicit query.
| 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.
| 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.