---
myst:
html_meta:
"description": "Configuration options for the various geometry optimizers in eOn, including LBFGS, QuickMin, FIRE, CG, and SD."
"keywords": "eOn optimizer, LBFGS, QuickMin, FIRE, CG, SD, geometry optimization"
---
# Optimizer
```{note}
All the optimizers in `eOn` **do not** use a line search to determine steepest descent!!
```
There are several other ways in which the `eOn` implementations differ from a
standard optimizer software suite[^1] . Some prominent reasons are:
- They are meant to be used with the which does not
have well defined closed form energy surface
+ Especially in the global band optimization approach {cite:p}`opt-sheppardOptimizationMethodsFinding2008`.
- They are specialized for atomic systems
- The optimizers **only** see the moving atoms, the frozen atoms are omitted
before being passed to the optimizer
## Configuration
```{code-block} ini
[Optimizer]
```
```{eval-rst}
.. autopydantic_model:: eon.schema.OptimizerConfig
```
Each of the optimizer methods have their own settings as well.
### LBFGS
```{code-block} ini
[LBFGS]
```
```{eval-rst}
.. autopydantic_model:: eon.schema.LBFGSConfig
```
### QuickMin
```{code-block} ini
[QuickMin]
```
```{eval-rst}
.. autopydantic_model:: eon.schema.QuickMinConfig
```
### FIRE
```{code-block} ini
[FIRE]
```
```{eval-rst}
.. autopydantic_model:: eon.schema.FIREConfig
```
### CG
```{code-block} ini
[CG]
```
```{eval-rst}
.. autopydantic_model:: eon.schema.CGConfig
```
### SD
```{code-block} ini
[SD]
```
```{eval-rst}
.. autopydantic_model:: eon.schema.SDConfig
```
## References
```{bibliography}
---
style: alpha
filter: docname in docnames
labelprefix: OPT_
keyprefix: opt-
---
```
[^1]: e.g. as may be found in `scipy` or `ceres` for instance