Skip to main content

Module linearizer

Module linearizer 

Source
Expand description

Jacobian linearization — the bridge between the nonlinear factor graph and the linear system solved each iteration.

This is the central module for all linearization concerns:

  • [linearize_block()]: Shared factor evaluation (loss correction, residual accumulation)
  • cpu::sparse: Sparse Jacobian assembly using SparseColMat and symbolic structure
  • cpu::dense: Dense Jacobian assembly using Mat<f64>
  • AssemblyBackend: Trait bridging linearization with the optimizer’s solver types

§Architecture

Problem (factor graph)
    │  AssemblyBackend::assemble()
    ▼
(r: Mat<f64>, J: M::Jacobian)   ← M: LinearizationMode
    │
    ▼
LinearSolver<M>   (linalg/)
    │
    ▼
dx: Mat<f64>  → manifold update

Re-exports§

pub use cpu::sparse::SymbolicStructure;

Modules§

cpu
CPU linearizer implementations.
gpu
GPU linearizer implementations (reserved for future use).

Enums§

LinearizerError
Linearizer-specific error types for Jacobian assembly and symbolic structure operations.

Traits§

AssemblyBackend
Type-level backend for assembling (residuals, Jacobian) and performing matrix operations. Implemented by SparseMode and DenseMode.

Type Aliases§

LinearizerResult
Result type for linearizer module operations