pele.transition_states.findLowestEigenVector(coords, pot, eigenvec0=None, H0=None, orthogZeroEigs=0, dx=0.001, first_order=True, gradient=None, **minimizer_kwargs)[source]

Compute the lowest eigenvector of the Hessian using Rayleigh-Ritz minimization

*orthogZeroEigs is system dependent, don’t forget to set it*

Parameters :

coords :

the coordinates at which to find the lowest eigenvector

pot :

potential object

eigenvec0 :

the initial guess for the lowest eigenvector (will be random if not passed)

H0 : float

the initial guess for the diagonal component of the inverse Hessian

orthogZeroEigs : callable

this function makes a vector orthogonal to the known zero eigenvectors

orthogZeroEigs=0 : default behavior, assume translational and

rotational symmetry

orthogZeroEigs=None : the vector is unchanged

first_order : bool

use the first order forward finite differences approximation for the curvature rather than the second order central differences approximation. This is less accurate, but requires one fewer potential call per iteration.

gradient : float array

the true gradient at coords. If first_order is true and gradient is not None then one potential call will be saved.

minimizer_kwargs :

any additional keyword arguments are passed to the minimizer

See also

uses this class

Previous topic


Next topic