Expand description

argmin optimization toolbox core

This module contains the traits and types necessary for implementing optimization algorithms and tools for observing the state of optimization runs and checkpointing.


pub use crate::solver::conjugategradient::beta::NLCGBetaUpdate;
pub use crate::solver::linesearch::LineSearch;
pub use crate::solver::trustregion::TrustRegionRadius;





Convenience utilities for testing


The Error type, a wrapper around a dynamic error type.

Solves an optimization problem with a solver

Maintains the state from iteration to iteration of a solver

A simple key-value storage

Maintains the state from iteration to iteration of a solver

Result of an optimization returned by after running an Executor.

Maintains the state from iteration to iteration of a population-based solver

Wrapper around problems defined by users.


Argmin error type

Reasons for optimization algorithms to stop


An alias for float types (f32, f64) which combines multiple commonly needed traits from num_traits, std::fmt and for serialization/deserialization (the latter only if the serde1 feature is enabled). It is automatically implemented for all types which fulfill the trait bounds.

Defines computation of a cost function value

Trait alias for serdes DeserializeOwned.

Defines the computation of the gradient.

Defines the computation of the Hessian.

Defines the computation of the Jacobian.

Defines a linear Program

Defines the application of an operator to a parameter vector.

Trait alias for Send

Trait alias for serdes Serialize.

The interface all solvers are required to implement.

Minimal interface which struct used for managing state in solvers have to implement.

Trait alias for Sync