Crate apex_solver

Crate apex_solver 

Source
Expand description

§Apex Solver

A comprehensive Rust library for nonlinear least squares optimization, specifically designed for computer vision applications such as bundle adjustment, graph-based pose optimization, and SLAM.

§Features

  • Multiple Optimization Algorithms: Gauss-Newton, Levenberg-Marquardt, and Dog Leg solvers
  • Flexible Linear Algebra Backend: Support for both Sparse Cholesky and Sparse QR decomposition
  • Configurable Solver System: Easy-to-use configuration system for algorithm and backend selection
  • High Performance: Built on the faer linear algebra library for optimal performance
  • Comprehensive Testing: Extensive test suite ensuring correctness and reliability

§Solver Types

  • Gauss-Newton: Fast convergence for well-conditioned problems
  • Levenberg-Marquardt: Robust algorithm with adaptive damping
  • Dog Leg: Trust region method combining Gauss-Newton and steepest descent

§Linear Algebra Backends

  • Sparse Cholesky: Efficient for positive definite systems
  • Sparse QR: More robust for rank-deficient or ill-conditioned systems

Re-exports§

pub use core::variable::Variable;
pub use error::ApexError;
pub use error::ApexResult;
pub use factors::BetweenFactorSE2;
pub use factors::BetweenFactorSE3;
pub use factors::DoubleSphereProjectionFactor;
pub use factors::EucmProjectionFactor;
pub use factors::Factor;
pub use factors::KannalaBrandtProjectionFactor;
pub use factors::PriorFactor;
pub use factors::RadTanProjectionFactor;
pub use factors::UcmProjectionFactor;
pub use linalg::LinearSolverType;
pub use linalg::SparseCholeskySolver;
pub use linalg::SparseLinearSolver;
pub use linalg::SparseQRSolver;
pub use optimizer::LevenbergMarquardt;
pub use optimizer::OptimizerType;
pub use optimizer::Solver;
pub use optimizer::levenberg_marquardt::LevenbergMarquardtConfig;

Modules§

core
Core optimization components for the apex-solver library
error
Error types for the apex-solver library
factors
Factor implementations for graph-based optimization problems.
io
linalg
manifold
Manifold representations for optimization on non-Euclidean spaces.
optimizer
Optimization solvers for nonlinear least squares problems.