iSAM
isam::Covariances Class Reference

List of all members.

Public Types

typedef std::list< std::list
< Node * > > 
node_lists_t
typedef std::list< std::pair
< Node *, Node * > > 
node_pair_list_t

Public Member Functions

 Covariances (Slam *slam)
virtual Covariances clone () const
virtual std::list
< Eigen::MatrixXd > 
marginal (const node_lists_t &node_lists) const
virtual Eigen::MatrixXd marginal (const std::list< Node * > &nodes) const
virtual std::list
< Eigen::MatrixXd > 
access (const node_pair_list_t &node_pair_list) const

Detailed Description

Definition at line 42 of file Covariances.h.


Constructor & Destructor Documentation

isam::Covariances::Covariances ( Slam slam) [inline]

Create an instance based on a Slam object, that always refers to the latest state of slam.

Definition at line 66 of file Covariances.h.


Member Function Documentation

list< MatrixXd > isam::Covariances::access ( const node_pair_list_t &  node_pair_list) const [virtual]

Calculates individual entries of the covariance matrix (as opposed to marginal_covariance, which calculates blocks containing select variables). Note that a single call with a long list of entries is significantly more efficient than repeatedly calling this function, as intermediate results are being reused.

Parameters:
entry_listList of pairs of nodes, indexing entries in the covariance matrix in (column, row) format.
Returns:
List of matrices.

Definition at line 107 of file Covariances.cpp.

virtual Covariances isam::Covariances::clone ( ) const [inline, virtual]

Create a stand-alone copy, useful for calculating covariances in a separate thread. Copies all necessary data structures to work independently of the Slam object.

Returns:
Covariances object that is independent of Slam object.

Definition at line 76 of file Covariances.h.

list< MatrixXd > isam::Covariances::marginal ( const node_lists_t &  node_lists) const [virtual]

Calculates marginal covariance over a list of lists. Significantly more efficient than calling marginal_covariance multiple times with separate lists, as intermediate results are being reused.

Parameters:
node_listsList of list of nodes.
Returns:
List of marginal covariance matrices.

Definition at line 70 of file Covariances.cpp.

MatrixXd isam::Covariances::marginal ( const std::list< Node * > &  nodes) const [virtual]

Calculates marginal covariance over a list of nodes.

Parameters:
nodesList of nodes. return Marginal covariance matrix.

Definition at line 101 of file Covariances.cpp.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables