Functions | |
std::pair< std::shared_ptr< GaussianConditional >, std::shared_ptr< HessianFactor > > | gtsam::EliminateCholesky (const GaussianFactorGraph &factors, const Ordering &keys) |
std::pair< std::shared_ptr< GaussianConditional >, std::shared_ptr< GaussianFactor > > | gtsam::EliminatePreferCholesky (const GaussianFactorGraph &factors, const Ordering &keys) |
Friends | |
GTSAM_EXPORT std::pair< std::shared_ptr< GaussianConditional >, shared_ptr > | gtsam::JacobianFactor::EliminateQR (const GaussianFactorGraph &factors, const Ordering &keys) |
std::pair<std::shared_ptr<GaussianConditional>, std::shared_ptr<HessianFactor> > gtsam::EliminateCholesky | ( | const GaussianFactorGraph & | factors, |
const Ordering & | keys | ||
) |
Densely partially eliminate with Cholesky factorization. JacobianFactors are left-multiplied with their transpose to form the Hessian using the conversion constructor HessianFactor(const JacobianFactor&).
If any factors contain constrained noise models, this function will fail because our current implementation cannot handle constrained noise models in Cholesky factorization. The function EliminatePreferCholesky() automatically does QR instead when this is the case.
Variables are eliminated in the order specified in keys
.
factors | Factors to combine and eliminate |
keys | The variables to eliminate and their elimination ordering |
Definition at line 517 of file HessianFactor.cpp.
std::pair<std::shared_ptr<GaussianConditional>, std::shared_ptr<GaussianFactor> > gtsam::EliminatePreferCholesky | ( | const GaussianFactorGraph & | factors, |
const Ordering & | keys | ||
) |
Densely partially eliminate with Cholesky factorization. JacobianFactors are left-multiplied with their transpose to form the Hessian using the conversion constructor HessianFactor(const JacobianFactor&).
This function will fall back on QR factorization for any cliques containing JacobianFactor's with constrained noise models.
Variables are eliminated in the order specified in keys
.
factors | Factors to combine and eliminate |
keys | The variables to eliminate and their elimination ordering |
Definition at line 540 of file HessianFactor.cpp.
|
friend |
Densely partially eliminate with QR factorization, this is usually provided as an argument to one of the factor graph elimination functions (see EliminateableFactorGraph). HessianFactors are first factored with Cholesky decomposition to produce JacobianFactors, by calling the conversion constructor JacobianFactor(const HessianFactor&). Variables are eliminated in the order specified in keys
.
factors | Factors to combine and eliminate |
keys | The variables to eliminate in the order as specified here in keys |
Multiply all factors and eliminate the given keys from the resulting factor using a QR variant that handles constraints (zero sigmas). Computation happens in noiseModel::Gaussian::QR Returns a conditional on those keys, and a new factor on the separator.
Definition at line 778 of file JacobianFactor.cpp.