gtsam
Loading...
Searching...
No Matches
gtsam::JointMarginal Class Reference

Detailed Description

A class to store and access a joint marginal, returned from Gaussian and nonlinear covariance query APIs.

Public Member Functions

 JointMarginal ()
 Default constructor only for wrappers.
Matrix operator() (Key iVariable, Key jVariable) const
 Access a block, corresponding to a pair of variables, of the joint marginal.
Matrix at (Key iVariable, Key jVariable) const
 Synonym for operator() See operator() for indexing semantics.
Matrix fullMatrix () const
 The full, dense covariance/information matrix of the joint marginal.
void print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const
 Print.
 JointMarginal (const Matrix &fullMatrix, const Scatter &scatter)
 Construct from a dense matrix and its block layout.

Protected Attributes

SymmetricBlockMatrix blockMatrix_
KeyVector keys_
FastMap< Key, size_t > indices_

Member Function Documentation

◆ fullMatrix()

Matrix gtsam::JointMarginal::fullMatrix ( ) const
inline

The full, dense covariance/information matrix of the joint marginal.

Blocks follow the order of the keys in the query that created this object.

◆ operator()()

Matrix gtsam::JointMarginal::operator() ( Key iVariable,
Key jVariable ) const
inline

Access a block, corresponding to a pair of variables, of the joint marginal.

Note: iVariable and jVariable are the actual nonlinear Keys used to construct this JointMarginal (the keys passed to jointMarginalCovariance()/jointMarginalInformation()), NOT positional indices into the block matrix. To retrieve the single variable marginal for key (equivalent to Marginals::marginalCovariance(key)), call at(key, key), not at(0, key) or any other cross covariance block, which represents the covariance between two different variables and will generally differ.


The documentation for this class was generated from the following files: