|
| ISAM2 (const ISAM2Params ¶ms) |
| Create an empty ISAM2 instance.
|
|
| ISAM2 () |
| Create an empty ISAM2 instance using the default set of parameters (see ISAM2Params)
|
|
virtual | ~ISAM2 () |
| default virtual destructor
|
|
virtual bool | equals (const ISAM2 &other, double tol=1e-9) const |
| Compare equality.
|
|
virtual ISAM2Result | update (const NonlinearFactorGraph &newFactors=NonlinearFactorGraph(), const Values &newTheta=Values(), const FactorIndices &removeFactorIndices=FactorIndices(), const boost::optional< FastMap< Key, int > > &constrainedKeys=boost::none, const boost::optional< FastList< Key > > &noRelinKeys=boost::none, const boost::optional< FastList< Key > > &extraReelimKeys=boost::none, bool force_relinearize=false) |
| Add new factors, updating the solution and relinearizing as needed. More...
|
|
virtual ISAM2Result | update (const NonlinearFactorGraph &newFactors, const Values &newTheta, const ISAM2UpdateParams &updateParams) |
| Add new factors, updating the solution and relinearizing as needed. More...
|
|
void | marginalizeLeaves (const FastList< Key > &leafKeys, boost::optional< FactorIndices & > marginalFactorsIndices=boost::none, boost::optional< FactorIndices & > deletedFactorsIndices=boost::none) |
| Marginalize out variables listed in leafKeys. More...
|
|
const Values & | getLinearizationPoint () const |
| Access the current linearization point.
|
|
bool | valueExists (Key key) const |
| Check whether variable with given key exists in linearization point.
|
|
Values | calculateEstimate () const |
| Compute an estimate from the incomplete linear delta computed during the last update. More...
|
|
template<class VALUE > |
VALUE | calculateEstimate (Key key) const |
| Compute an estimate for a single variable using its incomplete linear delta computed during the last update. More...
|
|
const Value & | calculateEstimate (Key key) const |
| Compute an estimate for a single variable using its incomplete linear delta computed during the last update. More...
|
|
Matrix | marginalCovariance (Key key) const |
| Return marginal on any variable as a covariance matrix.
|
|
|
Values | calculateBestEstimate () const |
| Compute an estimate using a complete delta computed by a full back-substitution.
|
|
const VectorValues & | getDelta () const |
| Access the current delta, computed during the last call to update.
|
|
double | error (const VectorValues &x) const |
| Compute the linear error.
|
|
const NonlinearFactorGraph & | getFactorsUnsafe () const |
| Access the set of nonlinear factors.
|
|
const VariableIndex & | getVariableIndex () const |
| Access the nonlinear variable index.
|
|
const KeySet & | getFixedVariables () const |
| Access the nonlinear variable index.
|
|
const ISAM2Params & | params () const |
|
void | printStats () const |
| prints out clique statistics
|
|
VectorValues | gradientAtZero () const |
| Compute the gradient of the energy function, \( \nabla_{x=0} \left\Vert \Sigma^{-1} R x - d \right\Vert^2 \), centered around zero. More...
|
|
size_t | size () const |
| number of cliques
|
|
bool | empty () const |
| Check if there are any cliques in the tree.
|
|
const Nodes & | nodes () const |
| return nodes
|
|
const sharedNode | operator[] (Key j) const |
| Access node by variable.
|
|
const Roots & | roots () const |
| return root cliques
|
|
const sharedClique & | clique (Key j) const |
| alternate syntax for matlab: find the clique that contains the variable with Key j
|
|
BayesTreeCliqueData | getCliqueData () const |
| Gather data on all cliques.
|
|
size_t | numCachedSeparatorMarginals () const |
| Collect number of cliques with cached separator marginals.
|
|
sharedConditional | marginalFactor (Key j, const Eliminate &function=EliminationTraitsType::DefaultEliminate) const |
| Return marginal on any variable. More...
|
|
sharedFactorGraph | joint (Key j1, Key j2, const Eliminate &function=EliminationTraitsType::DefaultEliminate) const |
| return joint on two variables Limitation: can only calculate joint if cliques are disjoint or one of them is root
|
|
sharedBayesNet | jointBayesNet (Key j1, Key j2, const Eliminate &function=EliminationTraitsType::DefaultEliminate) const |
| return joint on two variables as a BayesNet Limitation: can only calculate joint if cliques are disjoint or one of them is root
|
|
void | saveGraph (const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
| Read only with side effects. More...
|
|
Key | findParentClique (const CONTAINER &parents) const |
| Find parent clique of a conditional. More...
|
|
void | clear () |
| Remove all nodes.
|
|
void | deleteCachedShortcuts () |
| Clear all shortcut caches - use before timing on marginal calculation to avoid residual cache data.
|
|
void | removePath (sharedClique clique, BayesNetType *bn, Cliques *orphans) |
| Remove path from clique to root and return that path as factors plus a list of orphaned subtree roots. More...
|
|
void | removeTop (const KeyVector &keys, BayesNetType *bn, Cliques *orphans) |
| Given a list of indices, turn "contaminated" part of the tree back into a factor graph. More...
|
|
Cliques | removeSubtree (const sharedClique &subtree) |
| Remove the requested subtree.
|
|
void | insertRoot (const sharedClique &subtree) |
| Insert a new subtree with known parent clique. More...
|
|
void | addClique (const sharedClique &clique, const sharedClique &parent_clique=sharedClique()) |
| add a clique (top down)
|
|
void | addFactorsToGraph (FactorGraph< FactorType > *graph) const |
| Add all cliques in this BayesTree to the specified factor graph.
|
|
void | print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const |
| print
|
|
|
using | This = ISAM2 |
| This class.
|
|
using | Base = BayesTree< ISAM2Clique > |
| The BayesTree base class.
|
|
using | Clique = Base::Clique |
| A clique.
|
|
using | sharedClique = Base::sharedClique |
| Shared pointer to a clique.
|
|
using | Cliques = Base::Cliques |
| List of Cliques.
|
|
typedef ISAM2Clique | Clique |
| The clique type, normally BayesTreeClique.
|
|
typedef boost::shared_ptr< Clique > | sharedClique |
| Shared pointer to a clique.
|
|
typedef Clique | Node |
| Synonym for Clique (TODO: remove)
|
|
typedef sharedClique | sharedNode |
| Synonym for sharedClique (TODO: remove)
|
|
typedef CLIQUE::ConditionalType | ConditionalType |
|
typedef boost::shared_ptr< ConditionalType > | sharedConditional |
|
typedef CLIQUE::BayesNetType | BayesNetType |
|
typedef boost::shared_ptr< BayesNetType > | sharedBayesNet |
|
typedef CLIQUE::FactorType | FactorType |
|
typedef boost::shared_ptr< FactorType > | sharedFactor |
|
typedef CLIQUE::FactorGraphType | FactorGraphType |
|
typedef boost::shared_ptr< FactorGraphType > | sharedFactorGraph |
|
typedef FactorGraphType::Eliminate | Eliminate |
|
typedef CLIQUE::EliminationTraitsType | EliminationTraitsType |
|
typedef FastList< sharedClique > | Cliques |
| A convenience class for a list of shared cliques.
|
|
typedef ConcurrentMap< Key, sharedClique > | Nodes |
| Map from keys to Clique.
|
|
typedef FastVector< sharedClique > | Roots |
| Root cliques.
|
|
|
void | recalculate (const ISAM2UpdateParams &updateParams, const KeySet &relinKeys, ISAM2Result *result) |
| Remove marked top and either recalculate in batch or incrementally.
|
|
void | recalculateBatch (const ISAM2UpdateParams &updateParams, KeySet *affectedKeysSet, ISAM2Result *result) |
|
GaussianFactorGraph | relinearizeAffectedFactors (const ISAM2UpdateParams &updateParams, const FastList< Key > &affectedKeys, const KeySet &relinKeys) |
|
void | recalculateIncremental (const ISAM2UpdateParams &updateParams, const KeySet &relinKeys, const FastList< Key > &affectedKeys, KeySet *affectedKeysSet, Cliques *orphans, ISAM2Result *result) |
|
void | addVariables (const Values &newTheta, ISAM2Result::DetailedResults *detail=0) |
| Add new variables to the ISAM2 system. More...
|
|
void | removeVariables (const KeySet &unusedKeys) |
| Remove variables from the ISAM2 system.
|
|
void | updateDelta (bool forceFullSolve=false) const |
|
This & | operator= (const This &other) |
| Assignment operator.
|
|
| BayesTree () |
| Create an empty Bayes Tree.
|
|
| BayesTree (const This &other) |
| Copy constructor.
|
|
void | getCliqueData (sharedClique clique, BayesTreeCliqueData *stats) const |
| Gather data on a single clique.
|
|
void | saveGraph (std::ostream &s, sharedClique clique, const KeyFormatter &keyFormatter, int parentnum=0) const |
| private helper method for saving the Tree to a text file in GraphViz format
|
|
void | removeClique (sharedClique clique) |
| remove a clique: warning, can result in a forest
|
|
void | fillNodesIndex (const sharedClique &subtree) |
| Fill the nodes index for a subtree.
|
|
bool | equals (const This &other, double tol=1e-9) const |
| check equality
|
|