## 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

Reasons for optimization algorithms to stop

## 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 `serde`

s `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 `serde`

s `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`