# [−][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.

## Re-exports

`pub use crate::executor::*;` |

## Modules

executor | Executor |

file | Output parameter vectors to file |

finitediff | Finite Differentiation |

macros | Macros |

modcholesky | Modified Cholesky decompositions Modified Cholesky decompositions |

slog_logger | Loggers based on the |

visualizer | Observer which visualizes the progress of the solver |

## Macros

check_param | Release an |

make_kv | Creates an |

trait_bound | Reuse a list of trait bounds by giving it a name, e.g. trait_bound!(CopyAndDefault; Copy, Default); |

## Structs

ArgminCheckpoint | |

ArgminIterData | The datastructure which is returned by the |

ArgminKV | A simple key-value storage |

ArgminResult | This is returned by the |

ArgminSlogKV | This type is necessary in order to be able to implement |

ArgminSlogLogger | A logger based on |

Error | The |

IterState | |

MinimalNoOperator | |

NoOperator | Fake Operators for testing No-op operator with free choice of the types |

Observer | Container for observers which acts just like a single |

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

Surface | Helper class for visualized surface |

Visualizer3d | Visualize iterations of a solver for cost functions of type (x,y) -> cost , where x and y are real numbers. If the solver is population-based, The current population is also visualized. |

WriteToFile |

## Enums

ArgminError | |

CheckpointMode | |

ObserverMode | This is used to indicate how often the observer will observe the status. |

TerminationReason | Indicates why the optimization algorithm stopped |

WriteToFileSerializer |

## Traits

ArgminAdd | Add a |

ArgminConj | Return the conjugate |

ArgminDiv | (Pointwise) Divide a |

ArgminDot | Dot/scalar product of |

ArgminEye | |

ArgminInv | Compute the inverse ( |

ArgminLineSearch | Defines a common interface for line search methods. |

ArgminMinMax | |

ArgminMul | (Pointwise) Multiply a |

ArgminNLCGBetaUpdate | Common interface for beta update methods (Nonlinear-CG) |

ArgminNorm | Compute the l2-norm ( |

ArgminOp | This trait needs to be implemented for every operator/cost function. |

ArgminRandom | |

ArgminScaledAdd | Add a |

ArgminScaledSub | Subtract a |

ArgminSub | Subtract a |

ArgminTranspose | |

ArgminTrustRegion | Defines a common interface to methods which calculate approximate steps for trust region methods. |

ArgminWeightedDot | Dot/scalar product of |

ArgminZero | Return param vector of all zeros (for now, this is a hack. It should be done better) |

ArgminZeroLike | Zero for dynamically sized objects |

Observe | Defines the interface every Observer needs to expose |

Solver |

## Functions

load_checkpoint |