gtsam  4.1.0
gtsam
gtsam::Marginals Class Reference

Detailed Description

A class for computing Gaussian marginals of variables in a NonlinearFactorGraph.

Public Member Functions

 Marginals ()
 Default constructor only for wrappers.
 
 Marginals (const NonlinearFactorGraph &graph, const Values &solution, Factorization factorization=CHOLESKY)
 Construct a marginals class from a nonlinear factor graph. More...
 
 Marginals (const NonlinearFactorGraph &graph, const Values &solution, const Ordering &ordering, Factorization factorization=CHOLESKY)
 Construct a marginals class from a nonlinear factor graph. More...
 
 Marginals (const GaussianFactorGraph &graph, const Values &solution, Factorization factorization=CHOLESKY)
 Construct a marginals class from a linear factor graph. More...
 
 Marginals (const GaussianFactorGraph &graph, const Values &solution, const Ordering &ordering, Factorization factorization=CHOLESKY)
 Construct a marginals class from a linear factor graph. More...
 
 Marginals (const GaussianFactorGraph &graph, const VectorValues &solution, Factorization factorization=CHOLESKY)
 Construct a marginals class from a linear factor graph. More...
 
 Marginals (const GaussianFactorGraph &graph, const VectorValues &solution, const Ordering &ordering, Factorization factorization=CHOLESKY)
 Construct a marginals class from a linear factor graph. More...
 
void print (const std::string &str="Marginals: ", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const
 print
 
GaussianFactor::shared_ptr marginalFactor (Key variable) const
 Compute the marginal factor of a single variable.
 
Matrix marginalInformation (Key variable) const
 Compute the marginal information matrix of a single variable. More...
 
Matrix marginalCovariance (Key variable) const
 Compute the marginal covariance of a single variable.
 
JointMarginal jointMarginalCovariance (const KeyVector &variables) const
 Compute the joint marginal covariance of several variables.
 
JointMarginal jointMarginalInformation (const KeyVector &variables) const
 Compute the joint marginal information of several variables.
 
VectorValues optimize () const
 Optimize the bayes tree.
 
 Marginals (const NonlinearFactorGraph &graph, const Values &solution, Factorization factorization, const Ordering &ordering)
 
 Marginals (const GaussianFactorGraph &graph, const Values &solution, Factorization factorization, const Ordering &ordering)
 
 Marginals (const GaussianFactorGraph &graph, const VectorValues &solution, Factorization factorization, const Ordering &ordering)
 

Public Types

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

Protected Member Functions

void computeBayesTree ()
 Compute the Bayes Tree as a helper function to the constructor.
 
void computeBayesTree (const Ordering &ordering)
 Compute the Bayes Tree as a helper function to the constructor.
 

Protected Attributes

GaussianFactorGraph graph_
 
Values values_
 
Factorization factorization_
 
GaussianBayesTree bayesTree_
 

Constructor & Destructor Documentation

◆ Marginals() [1/9]

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/9]

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/9]

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/9]

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/9]

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/9]

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.

◆ Marginals() [7/9]

gtsam::Marginals::Marginals ( const NonlinearFactorGraph graph,
const Values solution,
Factorization  factorization,
const Ordering ordering 
)
inline
Deprecated:
argument order changed due to removing boost::optional<Ordering>

◆ Marginals() [8/9]

gtsam::Marginals::Marginals ( const GaussianFactorGraph graph,
const Values solution,
Factorization  factorization,
const Ordering ordering 
)
inline
Deprecated:
argument order changed due to removing boost::optional<Ordering>

◆ Marginals() [9/9]

gtsam::Marginals::Marginals ( const GaussianFactorGraph graph,
const VectorValues solution,
Factorization  factorization,
const Ordering ordering 
)
inline
Deprecated:
argument order changed due to removing boost::optional<Ordering>

Member Function Documentation

◆ 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.


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