Crate argmin_core[−][src]
Argmin Optimizaton toolbox core
This crate contains the core functionality of argmin. If you just want to run an optimization method, this is not what you are looking for. However, if you want to implement your own solver based on the argmin architecture, you should find all necessary tools here.
TODOs:
- Provide an example of how to implement a solver
Re-exports
pub extern crate ctrlc; |
pub extern crate failure; |
pub extern crate failure_derive; |
Modules
macros |
Macros |
Macros
box_clone |
Implements the |
check_param |
Release an |
make_kv |
Creates an |
Structs
ArgminBase |
Storage for data needed by most solvers |
ArgminIterationData |
The datastructure which is returned by the |
ArgminKV |
A simple key-value storage |
ArgminLogger |
Container for |
ArgminResult |
Return struct for all solvers. |
ArgminSlogLogger |
A logger based on |
ArgminWriter | |
Error |
The |
WriteToFile |
Enums
ArgminError | |
TerminationReason |
Indicates why the optimization algorithm stopped |
Traits
ArgminAdd |
Add a |
ArgminDot |
Dot/scalar product of |
ArgminLineSearch |
Defines a common interface to line search methods. Requires that |
ArgminLog |
Defince the interface every logger needs to expose |
ArgminNextIter |
Main part of every solver: |
ArgminNorm |
Compute the l2-norm ( |
ArgminOperator |
This trait needs to be implemented for every operator/cost function. |
ArgminScale |
Scale |
ArgminScaledAdd |
Add a |
ArgminScaledSub |
Subtract a |
ArgminSolver |
Defines the interface to a solver. Usually, there is no need to implement this manually, use
the |
ArgminSub |
Subtract a |
ArgminWrite |
Every writer (which is something that writes parameter vectors somewhere after each iteration) needs to implement this. |