Expand description
Optimization solvers for nonlinear least squares problems.
This module provides various optimization algorithms specifically designed for nonlinear least squares problems commonly found in computer vision:
- Levenberg-Marquardt algorithm
- Gauss-Newton algorithm
- Dog Leg algorithm
Re-exports§
pub use dog_leg::DogLeg;pub use gauss_newton::GaussNewton;pub use levenberg_marquardt::LevenbergMarquardt;pub use crate::observers::OptObserver;pub use crate::observers::OptObserverVec;
Modules§
- dog_leg
- Dog Leg trust region optimization algorithm implementation.
- gauss_
newton - Gauss-Newton optimization algorithm implementation.
- levenberg_
marquardt - Levenberg-Marquardt algorithm implementation.
Structs§
- Convergence
Info - Detailed convergence information.
- Convergence
Params - Parameters for convergence checking, shared across optimizers.
- Initialized
State - Result of optimization state initialization, shared by all optimizers.
- Iteration
Stats - Per-iteration statistics for detailed logging (Ceres-style output).
- Optimizer
Summary - Unified summary statistics for all optimizer types.
- Solver
Result - Result of a solver execution.
Enums§
- Optimization
Status - Status of an optimization process
- Optimizer
Error - Optimizer-specific error types for apex-solver
- Optimizer
Type - Type of optimization solver algorithm to use
Traits§
- Solver
- Core trait for optimization solvers.
Functions§
- apply_
negative_ parameter_ step - Apply negative parameter step to rollback variables.
- apply_
parameter_ step - Apply parameter update step to all variables.
- build_
solver_ result - Build a SolverResult from common optimization loop outputs.
- check_
convergence - Check convergence criteria common to all optimizers.
- compute_
cost - compute_
parameter_ norm - Compute total parameter vector norm ||x|| across all variables.
- compute_
step_ quality - Compute step quality ratio (actual vs predicted reduction).
- create_
jacobi_ scaling - Create Jacobi scaling diagonal matrix from Jacobian column norms.
- create_
linear_ solver - Create the appropriate linear solver based on configuration.
- create_
optimizer_ summary - Create an OptimizerSummary from common optimization loop outputs.
- initialize_
optimization_ state - Initialize optimization state from problem and initial parameters.
- notify_
observers - Notify observers with current optimization state.
- process_
jacobian - Process Jacobian by applying Jacobi scaling (created on first iteration).
Type Aliases§
- Optimizer
Result - Result type for optimizer operations