#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 108 of file ISAM2-impl.h.
|
inline |
Definition at line 111 of file ISAM2-impl.h.
|
inline |
Definition at line 451 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 340 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 312 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 278 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 244 of file ISAM2-impl.h.
|
inline |
Definition at line 174 of file ISAM2-impl.h.
|
inline |
Definition at line 191 of file ISAM2-impl.h.
|
inline |
Definition at line 412 of file ISAM2-impl.h.
|
inline |
Definition at line 198 of file ISAM2-impl.h.
|
inline |
Definition at line 370 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 487 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 500 of file ISAM2-impl.h.
|
inline |
Definition at line 435 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 470 of file ISAM2-impl.h.
|
inlinestatic |
Definition at line 115 of file ISAM2-impl.h.
|
inline |
Definition at line 140 of file ISAM2-impl.h.
|
inline |
Definition at line 400 of file ISAM2-impl.h.
|
inline |
Definition at line 133 of file ISAM2-impl.h.
|
inline |
Definition at line 227 of file ISAM2-impl.h.
const ISAM2Params& gtsam::UpdateImpl::params_ |
Definition at line 109 of file ISAM2-impl.h.
const ISAM2UpdateParams& gtsam::UpdateImpl::updateParams_ |
Definition at line 110 of file ISAM2-impl.h.