Module argmin::core

source ·
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.

Re-exports

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

Modules

Checkpointing
Macros
Observers
Convenience utilities for testing

Structs

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.

Enums

Argmin error type
Types available for use in KV.
Reasons for optimization algorithms to stop
Status of optimization execution

Traits

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