Skip to main content

Module optimizer

Module optimizer 

Source
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§

ConvergenceInfo
Detailed convergence information.
ConvergenceParams
Parameters for convergence checking, shared across optimizers.
InitializedState
Result of optimization state initialization, shared by all optimizers.
IterationStats
Per-iteration statistics for detailed logging (Ceres-style output).
OptimizerSummary
Unified summary statistics for all optimizer types.
SolverResult
Result of a solver execution.

Enums§

OptimizationStatus
Status of an optimization process
OptimizerError
Optimizer-specific error types for apex-solver
OptimizerType
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§

OptimizerResult
Result type for optimizer operations