[−][src]Crate argmin_core
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
Modules
finitediff | Finite Differentiation |
macros | Macros |
modcholesky | Modified Cholesky decompositions Modified Cholesky decompositions |
Macros
check_param | Release an |
make_kv | Creates an |
Structs
ArgminBase | Storage for data needed by most solvers |
ArgminCheckpoint | |
ArgminIterData | 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 |
MinimalNoOperator | |
NoOperator | |
WriteToFile |
Enums
ArgminError | |
CheckpointMode | |
TerminationReason | Indicates why the optimization algorithm stopped |
Traits
ArgminAdd | Add a |
ArgminDiv | (Pointwise) Divide a |
ArgminDot | Dot/scalar product of |
ArgminEye | |
ArgminInv | Compute the inverse ( |
ArgminIter | Main part of every solver: |
ArgminLineSearch | Defines a common interface to line search methods. Requires that |
ArgminLog | Defince the interface every logger needs to expose |
ArgminMul | (Pointwise) Multiply a |
ArgminNLCGBetaUpdate | Every method for the update of beta needs to implement this trait. |
ArgminNorm | Compute the l2-norm ( |
ArgminOp | This trait needs to be implemented for every operator/cost function. |
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 |
ArgminTranspose | |
ArgminTrustRegion | Defines a common interface to methods which calculate approximate steps for trust region
methods. Requires that |
ArgminWeightedDot | Dot/scalar product of |
ArgminWrite | Every writer (which is something that writes parameter vectors somewhere after each iteration) needs to implement this. |
ArgminZero | Return param vector of all zeros (for now, this is a hack. It should be done better) |
Functions
load_checkpoint |