pele.transition_states.findLowestEigenVector#
- 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)
- H0float
the initial guess for the diagonal component of the inverse Hessian
- orthogZeroEigscallable
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_orderbool
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.
- gradientfloat 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
FindTransitionStateuses this class