Class Scine::Utils::HessianUtilities¶
-
class
HessianUtilities
¶ A utility class for Hessians allowing easier access to eigenvalues and eigenvectors of transformed versions.
- Parameters
hessian
: Hessian in cartesian coordinates (not mass-weighted, also not if massWeighted is set to true)massWeighted
: If supposed to yield mass-weighted results set to true This results into all getter functions returning mass weighted properties
Public Functions
-
void
hessianUpdate
()¶ Brief signals that the referenced Hessian has changed and deletes cached data.
-
void
hessianUpdate
(const HessianMatrix &hessian)¶ Replaces the current Hessian and deletes cached data.
- Parameters
hessian
: The new Hessian reference.
-
const Eigen::MatrixXd &
getTransformationMatrix
() const¶ Get the transformation matrix removing rotational and translational contributions.
- Return
const Eigen::MatrixXd& The transformation matrix.
-
const Eigen::VectorXd &
getInternalEigenvalues
()¶ Getter for the eigenvalues of the transformed Matrix.
The eigenvalues are lazily evaluated and cached internally.
- Return
const Eigen::VectorXd&
-
const Eigen::MatrixXd &
getInternalEigenvectors
()¶ Getter for the eigenvectors of the transformed Matrix.
The eigenvectors are lazily evaluated and cached internally.
- Return
const Eigen::MatrixXd&
-
Eigen::MatrixXd
getBackTransformedInternalEigenvectors
()¶ Get the back-transformed internal eigenvectors without rotation and translation modes.
- Return
Eigen::MatrixXd
-
Eigen::MatrixXd
getInternalHessian
() const¶ Returns the transformed (pseudo-internal coordinates) Hessian.
- Return
const Eigen::MatrixXd& The Hessian.