Expand description
Core functionality 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.
Re-exports§
pub use executor::*;
Modules§
- executor
- Executor
- file
- Output parameter vectors to file
- macros
- Macros
- slog_
logger - Loggers based on the
slog
crate
Structs§
- Argmin
Checkpoint - Checkpoint
- Argmin
Iter Data - The datastructure which is returned by the
next_iter
method of theSolver
trait. - ArgminKV
- A simple key-value storage
- Argmin
Result - Final struct returned by the
run
method ofExecutor
. - Argmin
SlogKV - This type is necessary in order to be able to implement
slog::KV
onArgminKV
- Argmin
Slog Logger - A logger based on
slog
- Error
- The
Error
type, a wrapper around a dynamic error type. - Iter
State - Maintains the state from iteration to iteration of a solver
- Minimal
NoOperator - Minimal No-op operator which does nothing, really.
- NoOperator
- Fake Operators for testing No-op operator with free choice of the types
- Observer
- Container for observers which acts just like a single
Observe
r by implementingObserve
on it. - OpWrapper
- This wraps an operator and keeps track of how often the cost, gradient and Hessian have been computed and how often the modify function has been called. Usually, this is an implementation detail unless a solver is needed within another solver (such as a line search within a gradient descent method), then it may be necessary to wrap the operator in an OpWrapper.
- Write
ToFile - Write parameter vectors to file
Enums§
- Argmin
Error - Argmin error type
- Checkpoint
Mode - Defines at which intervals a checkpoint is saved.
- Observer
Mode - This is used to indicate how often the observer will observe the status.
Never
deactivates the observer,Always
andEvery(i)
will call the observer in every or every ith iteration, respectively.NewBest
will call the observer only, if a new best solution is found. - Termination
Reason - Indicates why the optimization algorithm stopped
- Write
ToFile Serializer - Different kinds of serializers
Traits§
- Argmin
Add - Add a
T
toself
- Argmin
Conj - Return the conjugate
- Argmin
Div - (Pointwise) Divide a
T
byself
- Argmin
Dot - Dot/scalar product of
T
andself
- Argmin
Eye - Identity matrix
- Argmin
Float - Trait alias to simplify common trait bounds
- Argmin
Inv - Compute the inverse (
T
) ofself
- Argmin
Line Search - Defines a common interface for line search methods.
- Argmin
MinMax - Minimum and Maximum of type
T
- Argmin
Mul - (Pointwise) Multiply a
T
withself
- ArgminNLCG
Beta Update - Common interface for beta update methods (Nonlinear-CG)
- Argmin
Norm - Compute the l2-norm (
U
) ofself
- Argmin
Op - This trait needs to be implemented for every operator/cost function.
- Argmin
Random - Create a random number
- Argmin
Scaled Add - Add a
T
scaled by anU
toself
- Argmin
Scaled Sub - Subtract a
T
scaled by anU
fromself
- Argmin
Sub - Subtract a
T
fromself
- Argmin
Transpose - Transposing a type
- Argmin
Trust Region - Defines a common interface to methods which calculate approximate steps for trust region methods.
- Argmin
Weighted Dot - Dot/scalar product of
T
andself
weighted by W (p^TWv) - Argmin
Zero - Return param vector of all zeros (for now, this is a hack. It should be done better)
- Argmin
Zero Like - Zero for dynamically sized objects
- Observe
- Defines the interface every Observer needs to expose
- Solver
- Solver
Functions§
- load_
checkpoint - Load a checkpoint from disk