
.. _optimizer:

Optimizer
==============

The eon client provides three optimizers quick-min, conjugate gradients, and L-BFGS.

**[Optimizer]** parameters
--------------------------- 

**opt_method**: The optimization method to use.

    type: string

    default: ``cg``

    options:

        ``box``: Optimizes the atom positions and box using quickmin

        ``cg``: Conjugate gradient

        ``qm``: Quickmin

        ``lbfgs``: Limited Memory Broyden-Fletcher-Goldfarb-Shanno QuasiNewton
        optimizer

        ``fire``: Fast inertial relaxation engine


**converged_force**: When the maximum force (in eV/A) on any one atom is
smaller than this value, the structure is considered minimized.

    type: float

    default: ``0.01``

**max_move**: Maximum distance that an atom may be moved in a single
optimization step (Angstoms).

    type: float

    default: ``0.2``

**time_step**: The dynamical timestep for the quickmin algorithm (fs).

    type: float

    default: ``1.0``

**max_iterations**: The maximum number of optimization iterations that the will
be performed.

    type: int

    default: ``1000``

**lbfgs_memory**: The maximum number of previous gradients and positions that
are kept in memory for the L-BFGS algorithm.

    type: int

    default: ``50``

**lbfgs_inverse_curvature**: The initial inverse curvature, which is used to
construct the inverse Hessian matrix.
