[CPMD-list] Line minimization?
Salomon Billeter
ZRLSRB at ch.ibm.com
Mon Jul 5 16:39:55 CEST 2004
Hi,
The conjugate gradient and steepest descent optimizers (and, if specified
to do so, the L-BFGS optimizer) perform a line search for locating the
minimizer along the current search direction.
The implementations of the DIIS/BFGS and BFGS methods don't do this.
Instead, they use the predicted step as long as it does not exceed some
criteria. This saves the extra energy/gradient evaluations involved in the
line search but sometimes causes these optimizers to get caught in some
higher-energy region of the configurational space, requiring the user to
restart and/or to switch to another algorithm.
The default of the implementation of the L-BFGS method tries to predict a
trust region based on the previous progress and the predicted step length.
Based on the success (energy decrease, Wolfe conditions) of the attempted
step, it either rejects it (and reduces the trust radius) or accepts it
(and keeps or increases the maximum trust radius for the next step). This
avoids the extra energy/gradient evaluations involved in the line search
but ensures comparable step sizes and therefore stability. The parameters
in this implementation have been chosen to optimize the tradeoff between
the number of rejected steps and as large a step as possible.
Given the anharmonicity of the potential energy surface, unavoidable
numerical errors, and the error due to the exchange-correlation functional
evaluated on a finite real-space mesh, and since in the Newton-Raphson
step, written in the basis of Hessian eigenmodes, the softest modes often
dominate the error, the Newton-Raphson step length alone can be
dramatically wrong, particularly when using an extrapolated inverse Hessian
(e.g. using the BFGS formula). Therefore, the adapted trust radius or the
line search will make the optimization much more robust.
Best regards,
Salomon
More information about the CPMD-list
mailing list