File HFWaveFunctionOverlap.h

Copyright

This code is licensed under the 3-clause BSD license.

Copyright ETH Zurich, Laboratory for Physical Chemistry, Reiher Group.

See LICENSE.txt for details.

namespace Scine

This header file contains functions that allow for common notation for common things that can be done at a different degree of derivatives.

This header contains alias definitions defining which classes to use for the different degrees of derivatives.

namespace Utils
namespace LcaoUtil
class HFWaveFunctionOverlap
#include <HFWaveFunctionOverlap.h>

Class to calculate the overlap between two HartreeFock-like wave functions.

Public Static Functions

static double calculateOrthonormalOverlap(const OccupiedMolecularOrbitals &c1, const OccupiedMolecularOrbitals &c2)

Calculate the overlap in an orthonormal basis.

static double calculateNonOrthonormalOverlap(const OccupiedMolecularOrbitals &c1, const OccupiedMolecularOrbitals &c2, const Eigen::MatrixXd &s)

Calculate the overlap in a non-orthonormal basis.

Private Static Functions

static double unrestrictedOrthonormalOverlap(const OccupiedMolecularOrbitals &c1, const OccupiedMolecularOrbitals &c2)
static double unrestrictedNonOrthonormalOverlap(const OccupiedMolecularOrbitals &c1, const OccupiedMolecularOrbitals &c2, const Eigen::MatrixXd &s)
static double orthonormalContribution(const Eigen::MatrixXd &m1, const Eigen::MatrixXd &m2)
static double nonOrthonormalContribution(const Eigen::MatrixXd &m1, const Eigen::MatrixXd &m2, const Eigen::MatrixXd &s)