Loading...
Searching...
No Matches
Solving of sparse linear systems with least-squares

## Functions

std::pair< boost::shared_ptr< GaussianConditional >, boost::shared_ptr< HessianFactor > > | gtsam::EliminateCholesky (const GaussianFactorGraph &factors, const Ordering &keys)
| Densely partially eliminate with Cholesky factorization.
std::pair< boost::shared_ptr< GaussianConditional >, boost::shared_ptr< GaussianFactor > > | gtsam::EliminatePreferCholesky (const GaussianFactorGraph &factors, const Ordering &keys)
| Densely partially eliminate with Cholesky factorization.

## Friends

GTSAM_EXPORT std::pair< boost::shared_ptr< GaussianConditional >, shared_ptr > | gtsam::JacobianFactor::EliminateQR (const GaussianFactorGraph &factors, const Ordering &keys)
| Densely partially eliminate with QR factorization, this is usually provided as an argument to one of the factor graph elimination functions (see EliminateableFactorGraph).

## Detailed Description

## Function Documentation

## EliminateCholesky()

GTSAM_EXPORT std::pair< boost::shared_ptr< GaussianConditional >, boost::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`.

Parameters

  factors | Factors to combine and eliminate
  keys | The variables to eliminate and their elimination ordering

Returns
  The conditional and remaining factor

## EliminatePreferCholesky()

GTSAM_EXPORT std::pair< boost::shared_ptr< GaussianConditional >, boost::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`.

Parameters

  factors | Factors to combine and eliminate
  keys | The variables to eliminate and their elimination ordering

Returns
  The conditional and remaining factor

## Friends

## EliminateQR

GTSAM_EXPORT std::pair< boost::shared_ptr< GaussianConditional >, shared_ptr > EliminateQR | ( | const GaussianFactorGraph & | factors,
|  | const Ordering & | keys )

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

Parameters

  factors | Factors to combine and eliminate
  keys | The variables to eliminate in the order as specified here in `keys`

Returns
  The conditional and remaining factor

Computation happens in noiseModel::Gaussian::QR Returns a conditional on those keys, and a new factor on the separator.