Template Function helpme::cartesianTransform

Function Documentation

template<typename Real>
Matrix<Real> helpme::cartesianTransform(int maxAngularMomentum, bool transformOnlyThisShell, const Matrix<Real> &transformer, const Matrix<Real> &transformee)

cartesianTransform transforms a list of a cartesian quantities to a different basis. Assumes a list of quantities are to be transformed (in place) and all angular momentum components up to and including the specified maximum are present in ascending A.M. order.

Parameters:
  • maxAngularMomentum – the angular momentum of the incoming quantity.

  • transformOnlyThisShell – if true, only the shell with angular momentum specified will be transformed

  • transformer – the matrix R to do the transform defined for a dipole as µ_new = R . µ_old.

  • transformee – the quantity to be transformed, stored as nAtoms X nComponents, with components being the fast running index.