The VariableIndex class computes and stores the block column structure of a factor graph.
The factor graph stores a collection of factors, each of which involves a set of variables. In contrast, the VariableIndex is built from a factor graph prior to elimination, and stores the list of factors that involve each variable. This information is stored as a deque of lists of factor indices.
|
class | boost::serialization::access |
| Serialization function.
|
|
template<class FG > |
void | augment (const FG &factors, boost::optional< const FactorIndices & > newFactorIndices=boost::none) |
| Augment the variable index with new factors. More...
|
|
void | augmentExistingFactor (const FactorIndex factorIndex, const KeySet &newKeys) |
| Augment the variable index after an existing factor now affects to more variable Keys. More...
|
|
template<typename ITERATOR , class FG > |
void | remove (ITERATOR firstFactor, ITERATOR lastFactor, const FG &factors) |
| Remove entries corresponding to the specified factors. More...
|
|
template<typename ITERATOR > |
void | removeUnusedVariables (ITERATOR firstKey, ITERATOR lastKey) |
| Remove unused empty variables (in debug mode verifies they are empty).
|
|
const_iterator | begin () const |
| Iterator to the first variable entry.
|
|
const_iterator | end () const |
| Iterator to the first variable entry.
|
|
const_iterator | find (Key key) const |
| Find the iterator for the requested variable entry.
|
|
Factor_iterator | factorsBegin (Key variable) |
|
Factor_iterator | factorsEnd (Key variable) |
|
Factor_const_iterator | factorsBegin (Key variable) const |
|
Factor_const_iterator | factorsEnd (Key variable) const |
|
const FactorIndices & | internalAt (Key variable) const |
| Internal version of 'at' that asserts existence.
|
|
FactorIndices & | internalAt (Key variable) |
| Internal version of 'at' that asserts existence.
|
|
template<typename ITERATOR , class FG >
void gtsam::VariableIndex::remove |
( |
ITERATOR |
firstFactor, |
|
|
ITERATOR |
lastFactor, |
|
|
const FG & |
factors |
|
) |
| |
Remove entries corresponding to the specified factors.
NOTE: We intentionally do not decrement nFactors_ because the factor indices need to remain consistent. Removing factors from a factor graph does not shift the indices of other factors. Also, we keep nFactors_ one greater than the highest-numbered factor referenced in a VariableIndex.
- Parameters
-
indices | The indices of the factors to remove, which must match factors |
factors | The factors being removed, which must symbolically correspond exactly to the factors with the specified indices that were added. |