The linear module represents and solves Gaussian factor graphs. Nonlinear
optimizers use these classes after linearizing a nonlinear factor graph around
the current estimate.
Gaussian Factors and Graphs¶
GaussianFactor is the common interface for linear Gaussian factors.
JacobianFactor represents a whitened least-squares term in Jacobian form, .
HessianFactor represents the equivalent quadratic term in information form.
GaussianFactorGraph stores a collection of Gaussian factors and provides elimination, optimization, gradient, Jacobian, and Hessian operations.
GaussianConditional represents a conditional produced by eliminating one or more frontal variables.
VectorValues stores vector-valued assignments such as a linear solution or nonlinear tangent-space update.
Direct Solvers and Elimination¶
MultifrontalSolver explains the reusable, imperative multifrontal solver, its lifecycle, supported factors, packed numerical storage, partial-elimination export, and every tuning option with its default.
GaussianBayesNet and GaussianBayesTree store the results of sequential and multifrontal elimination. Their graph structure is introduced in the inference module.
GaussianEliminationTree and GaussianJunctionTree organize elimination work from an ordering.
Iterative Solvers¶
ConjugateGradientSolver implements conjugate gradients for linear systems.
PCGSolver implements preconditioned conjugate gradients.
Preconditioner is the interface for iterative-solver preconditioners.
Diagnostics¶
Debugging an Indeterminate Linear System shows how to preserve a failing graph, inspect its Jacobian rank and null space, and repair missing gauge constraints.