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 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;