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.