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.