|
gtsam
|
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_ |
|
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.
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.