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

#include <Marginals.h>

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

Public Types

enum  Factorization { CHOLESKY, QR }
 

Public Member Functions

 Marginals ()
 Default constructor only for wrappers.
 
 Marginals (const NonlinearFactorGraph &graph, const Values &solution, Factorization factorization=CHOLESKY)
 
 Marginals (const NonlinearFactorGraph &graph, const Values &solution, const Ordering &ordering, Factorization factorization=CHOLESKY)
 
 Marginals (const GaussianFactorGraph &graph, const Values &solution, Factorization factorization=CHOLESKY)
 
 Marginals (const GaussianFactorGraph &graph, const Values &solution, const Ordering &ordering, Factorization factorization=CHOLESKY)
 
 Marginals (const GaussianFactorGraph &graph, const VectorValues &solution, Factorization factorization=CHOLESKY)
 
 Marginals (const GaussianFactorGraph &graph, const VectorValues &solution, const Ordering &ordering, Factorization factorization=CHOLESKY)
 
void print (const std::string &str="Marginals: ", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 
GaussianFactor::shared_ptr marginalFactor (Key variable) const
 
Matrix marginalInformation (Key variable) const
 
Matrix marginalCovariance (Key variable) const
 
JointMarginal jointMarginalCovariance (const KeyVector &variables) const
 
JointMarginal jointMarginalInformation (const KeyVector &variables) const
 
VectorValues optimize () const
 

Protected Member Functions

void computeBayesTree ()
 
void computeBayesTree (const Ordering &ordering)
 

Protected Attributes

GaussianFactorGraph graph_
 
Values values_
 
Factorization factorization_
 
GaussianBayesTree bayesTree_
 

Detailed Description

A class for computing Gaussian marginals of variables in a NonlinearFactorGraph

Member Enumeration Documentation

◆ Factorization

The linear factorization mode - either CHOLESKY (faster and suitable for most problems) or QR (slower but more numerically stable for poorly-conditioned problems).

Constructor & Destructor Documentation

◆ Marginals() [1/6]

gtsam::Marginals::Marginals ( const NonlinearFactorGraph graph,
const Values solution,
Factorization  factorization = CHOLESKY 
)

Construct a marginals class from a nonlinear factor graph.

Parameters
graphThe factor graph defining the full joint density on all variables.
solutionThe linearization point about which to compute Gaussian marginals (usually the MLE as obtained from a NonlinearOptimizer).
factorizationThe linear decomposition mode - either Marginals::CHOLESKY (faster and suitable for most problems) or Marginals::QR (slower but more numerically stable for poorly-conditioned problems).

◆ Marginals() [2/6]

gtsam::Marginals::Marginals ( const NonlinearFactorGraph graph,
const Values solution,
const Ordering ordering,
Factorization  factorization = CHOLESKY 
)

Construct a marginals class from a nonlinear factor graph.

Parameters
graphThe factor graph defining the full joint density on all variables.
solutionThe linearization point about which to compute Gaussian marginals (usually the MLE as obtained from a NonlinearOptimizer).
factorizationThe linear decomposition mode - either Marginals::CHOLESKY (faster and suitable for most problems) or Marginals::QR (slower but more numerically stable for poorly-conditioned problems).
orderingThe ordering for elimination.

◆ Marginals() [3/6]

gtsam::Marginals::Marginals ( const GaussianFactorGraph graph,
const Values solution,
Factorization  factorization = CHOLESKY 
)

Construct a marginals class from a linear factor graph.

Parameters
graphThe factor graph defining the full joint density on all variables.
solutionThe solution point to compute Gaussian marginals.
factorizationThe linear decomposition mode - either Marginals::CHOLESKY (faster and suitable for most problems) or Marginals::QR (slower but more numerically stable for poorly-conditioned problems).

◆ Marginals() [4/6]

gtsam::Marginals::Marginals ( const GaussianFactorGraph graph,
const Values solution,
const Ordering ordering,
Factorization  factorization = CHOLESKY 
)

Construct a marginals class from a linear factor graph.

Parameters
graphThe factor graph defining the full joint density on all variables.
solutionThe solution point to compute Gaussian marginals.
factorizationThe linear decomposition mode - either Marginals::CHOLESKY (faster and suitable for most problems) or Marginals::QR (slower but more numerically stable for poorly-conditioned problems).
orderingThe ordering for elimination.

◆ Marginals() [5/6]

gtsam::Marginals::Marginals ( const GaussianFactorGraph graph,
const VectorValues solution,
Factorization  factorization = CHOLESKY 
)

Construct a marginals class from a linear factor graph.

Parameters
graphThe factor graph defining the full joint density on all variables.
solutionThe solution point to compute Gaussian marginals.
factorizationThe linear decomposition mode - either Marginals::CHOLESKY (faster and suitable for most problems) or Marginals::QR (slower but more numerically stable for poorly-conditioned problems).
orderingAn optional variable ordering for elimination.

◆ Marginals() [6/6]

gtsam::Marginals::Marginals ( const GaussianFactorGraph graph,
const VectorValues solution,
const Ordering ordering,
Factorization  factorization = CHOLESKY 
)

Construct a marginals class from a linear factor graph.

Parameters
graphThe factor graph defining the full joint density on all variables.
solutionThe solution point to compute Gaussian marginals.
factorizationThe linear decomposition mode - either Marginals::CHOLESKY (faster and suitable for most problems) or Marginals::QR (slower but more numerically stable for poorly-conditioned problems).
orderingAn optional variable ordering for elimination.

Member Function Documentation

◆ computeBayesTree() [1/2]

void gtsam::Marginals::computeBayesTree ( )
protected

Compute the Bayes Tree as a helper function to the constructor

◆ computeBayesTree() [2/2]

void gtsam::Marginals::computeBayesTree ( const Ordering ordering)
protected

Compute the Bayes Tree as a helper function to the constructor

◆ jointMarginalCovariance()

JointMarginal gtsam::Marginals::jointMarginalCovariance ( const KeyVector variables) const

Compute the joint marginal covariance of several variables

◆ jointMarginalInformation()

JointMarginal gtsam::Marginals::jointMarginalInformation ( const KeyVector variables) const

Compute the joint marginal information of several variables

◆ marginalCovariance()

Matrix gtsam::Marginals::marginalCovariance ( Key  variable) const

Compute the marginal covariance of a single variable

◆ marginalFactor()

GaussianFactor::shared_ptr gtsam::Marginals::marginalFactor ( Key  variable) const

Compute the marginal factor of a single variable

◆ marginalInformation()

Matrix gtsam::Marginals::marginalInformation ( Key  variable) const

Compute the marginal information matrix of a single variable. Use LLt(const Matrix&) or RtR(const Matrix&) to obtain the square-root information matrix.

◆ optimize()

VectorValues gtsam::Marginals::optimize ( ) const

Optimize the bayes tree

◆ print()

void gtsam::Marginals::print ( const std::string &  str = "Marginals: ",
const KeyFormatter keyFormatter = DefaultKeyFormatter 
) const

print


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