gtsam  4.1.0
gtsam
gtsam::JointMarginal Class Reference

Detailed Description

A class to store and access a joint marginal, returned from Marginals::jointMarginalCovariance and Marginals::jointMarginalInformation.

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. More...
 
Matrix at (Key iVariable, Key jVariable) const
 Synonym for operator()
 
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.
 

Protected Member Functions

 JointMarginal (const Matrix &fullMatrix, const std::vector< size_t > &dims, const KeyVector &keys)
 

Protected Attributes

SymmetricBlockMatrix blockMatrix_
 
KeyVector keys_
 
FastMap< Key, size_t > indices_
 

Friends

class Marginals
 

Member Function Documentation

◆ operator()()

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

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

Each block is accessed by its "vertical position", corresponding to the variable with nonlinear Key iVariable and "horizontal position", corresponding to the variable with nonlinear Key jVariable.

For example, if we have the joint marginal on a 2D pose "x3" and a 2D landmark "l2", then jointMarginal(Symbol('x',3), Symbol('l',2)) will return the 3x2 block of the joint covariance matrix corresponding to x3 and l2.

Parameters
iVariableThe nonlinear Key specifying the "vertical position" of the requested block
jVariableThe nonlinear Key specifying the "horizontal position" of the requested block

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