GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
gtsam::JointMarginal Class Reference

#include <Marginals.h>

Collaboration diagram for gtsam::JointMarginal:
Collaboration graph
[legend]

Public Member Functions

 JointMarginal ()
 Default constructor only for wrappers.
 
Matrix operator() (Key iVariable, Key jVariable) const
 
Matrix at (Key iVariable, Key jVariable) const
 
Matrix fullMatrix () const
 
void print (const std::string &s="", const KeyFormatter &formatter=DefaultKeyFormatter) const
 

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
 

Detailed Description

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

Member Function Documentation

◆ at()

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

Synonym for operator()

◆ fullMatrix()

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

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

◆ 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

◆ print()

void gtsam::JointMarginal::print ( const std::string &  s = "",
const KeyFormatter formatter = DefaultKeyFormatter 
) const

Print


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