Overview of the argmin optimization library
mainargmin is a numerical optimization library written in Rust designed to provide a wide range of optimization algorithms through a consistent interface.
Key features include:
- Type-agnostic design: Works with any type or math backend (e.g.,
nalgebra,ndarray, or custom implementations). - Observers: Allows tracking iteration progress via logging to screen, disk, or custom implementations.
- Checkpointing: An optional mechanism to mitigate data loss from crashes in unstable environments.
- Extensibility: Uses Rust's generics and traits so users can implement their own tailored versions of framework components.
- Algorithm Toolbox: Simplifies developing new algorithms by handling termination, parameter vectors, populations, gradients, Jacobians, and Hessians automatically.