Class Scine::Utils::HessianUtilities¶
-
class
HessianUtilities¶ A utility class for Hessians allowing easier access to eigenvalues and eigenvectors of transformed versions.
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(bool massWeighted = false)¶ Getter for the eigenvalues of the transformed Matrix.
The eigenvalues are lazily evaluated and cached internally.
- Return
const Eigen::VectorXd&
- Parameters
massWeighted: If true returns the massweighted transformed eigenvalues.
-
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(bool massWeighted)¶ Get the back-transformed internal eigenvectors without rotation and translation modes.
- Return
Eigen::MatrixXd
- Parameters
massWeighted: If true returns the massweighted backtransformed eigenvectors (without rotational and translational degrees of freedom).
-
Eigen::MatrixXd
getInternalHessian(bool massWeighted = false) const¶ Returns the transformed (pseudo-internal coordinates) Hessian.
- Return
const Eigen::MatrixXd& The Hessian.
- Parameters
massWeighted: If true returns the massweighted transformed Hessian.
-
void