#include <ISAM2-impl.h>
Public Member Functions | |
void | augmentVariableIndex (const NonlinearFactorGraph &newFactors, const FactorIndices &newFactorsIndices, VariableIndex *variableIndex) const |
void | computeUnusedKeys (const NonlinearFactorGraph &newFactors, const VariableIndex &variableIndex, const KeySet &keysWithRemovedFactors, KeySet *unusedKeys) const |
void | error (const NonlinearFactorGraph &nonlinearFactors, const Values &estimate, std::optional< double > *result) const |
void | findFluid (const ISAM2::Roots &roots, const KeySet &relinKeys, KeySet *markedKeys, ISAM2Result::DetailedResults *detail) const |
void | gatherInvolvedKeys (const NonlinearFactorGraph &newFactors, const NonlinearFactorGraph &nonlinearFactors, const KeySet &keysWithRemovedFactors, KeySet *markedKeys) const |
KeySet | gatherRelinearizeKeys (const ISAM2::Roots &roots, const VectorValues &delta, const KeySet &fixedVariables, KeySet *markedKeys) const |
void | linearizeNewFactors (const NonlinearFactorGraph &newFactors, const Values &theta, size_t numNonlinearFactors, const FactorIndices &newFactorsIndices, GaussianFactorGraph *linearFactors) const |
void | pushBackFactors (const NonlinearFactorGraph &newFactors, NonlinearFactorGraph *nonlinearFactors, GaussianFactorGraph *linearFactors, VariableIndex *variableIndex, FactorIndices *newFactorsIndices, KeySet *keysWithRemovedFactors) const |
void | recordRelinearizeDetail (const KeySet &relinKeys, ISAM2Result::DetailedResults *detail) const |
bool | relinarizationNeeded (size_t update_count) const |
UpdateImpl (const ISAM2Params ¶ms, const ISAM2UpdateParams &updateParams) | |
void | updateKeys (const KeySet &markedKeys, ISAM2Result *result) const |
Static Public Member Functions | |
static KeySet | CheckRelinearizationFull (const VectorValues &delta, const ISAM2Params::RelinearizationThreshold &relinearizeThreshold) |
static KeySet | CheckRelinearizationPartial (const ISAM2::Roots &roots, const VectorValues &delta, const ISAM2Params::RelinearizationThreshold &relinearizeThreshold) |
static void | CheckRelinearizationRecursiveDouble (double threshold, const VectorValues &delta, const ISAM2::sharedClique &clique, KeySet *relinKeys) |
static void | CheckRelinearizationRecursiveMap (const FastMap< char, Vector > &thresholds, const VectorValues &delta, const ISAM2::sharedClique &clique, KeySet *relinKeys) |
static FactorIndexSet | GetAffectedFactors (const KeyList &keys, const VariableIndex &variableIndex) |
static GaussianFactorGraph | GetCachedBoundaryFactors (const ISAM2::Cliques &orphans) |
static void | LogRecalculateKeys (const ISAM2Result &result) |
static void | LogStartingUpdate (const NonlinearFactorGraph &newFactors, const ISAM2 &isam2) |
Public Attributes | |
const ISAM2Params & | params_ |
const ISAM2UpdateParams & | updateParams_ |
Implementation functions for update method All of the methods below have clear inputs and outputs, even if not functional: iSAM2 is inherintly imperative.
Definition at line 109 of file ISAM2-impl.h.
|
inline |
Definition at line 112 of file ISAM2-impl.h.
|
inline |
Definition at line 452 of file ISAM2-impl.h.
|
inlinestatic |
Find the set of variables to be relinearized according to relinearizeThreshold. Any variables in the VectorValues delta whose vector magnitude is greater than or equal to relinearizeThreshold are returned.
delta | The linear delta to check against the threshold |
keyFormatter | Formatter for printing nonlinear keys during debugging |
Definition at line 341 of file ISAM2-impl.h.
|
inlinestatic |
Find the set of variables to be relinearized according to relinearizeThreshold. This check is performed recursively, starting at the top of the tree. Once a variable in the tree does not need to be relinearized, no further checks in that branch are performed. This is an approximation of the Full version, designed to save time at the expense of accuracy.
delta | The linear delta to check against the threshold |
keyFormatter | Formatter for printing nonlinear keys during debugging |
Definition at line 313 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 279 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 245 of file ISAM2-impl.h.
|
inline |
Definition at line 175 of file ISAM2-impl.h.
|
inline |
Definition at line 192 of file ISAM2-impl.h.
|
inline |
Definition at line 413 of file ISAM2-impl.h.
|
inline |
Definition at line 199 of file ISAM2-impl.h.
|
inline |
Definition at line 371 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 488 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 501 of file ISAM2-impl.h.
|
inline |
Definition at line 436 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 471 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 116 of file ISAM2-impl.h.
|
inline |
Definition at line 141 of file ISAM2-impl.h.
|
inline |
Definition at line 401 of file ISAM2-impl.h.
|
inline |
Definition at line 134 of file ISAM2-impl.h.
|
inline |
Definition at line 228 of file ISAM2-impl.h.
const ISAM2Params& gtsam::UpdateImpl::params_ |
Definition at line 110 of file ISAM2-impl.h.
const ISAM2UpdateParams& gtsam::UpdateImpl::updateParams_ |
Definition at line 111 of file ISAM2-impl.h.