Class Scine::Utils::LcaoUtil::EnergyWeightedDensityMatrixBuilder

class EnergyWeightedDensityMatrixBuilder

Class to generate energy-weighted density matrices for given occupations

Public Functions

Eigen::MatrixXd generateRestrictedForNumberElectrons(int nElectrons) const

Generates a restricted energy-weighted density matrix for the given number of electrons.

Eigen::MatrixXd generateUnrestrictedForNumberElectronsAndMultiplicity(int nElectrons, int spinMultiplicity) const

Generates an unrestricted energy-weighted density matrix for the given number of electrons and corresponding spin multiplicity.

Eigen::MatrixXd generateUnrestrictedForNumberAlphaAndBetaElectrons(int nAlpha, int nBeta) const

Generates an unrestricted energy-weighted density matrix for the given number of alpha and beta electrons.

Eigen::MatrixXd generateRestrictedForSpecifiedOrbitals(const std::vector<int> &doublyOccupiedOrbitals) const

Generates a restricted energy-weighted density matrix from specified molecular orbitals (eigenvectors), which will be doubly filled.

Eigen::MatrixXd generateUnrestrictedForSpecifiedOrbitals(const std::vector<int> &alphaOrbitals, const std::vector<int> &betaOrbitals) const

Generates an unrestricted energy-weighted density matrix from specified molecular orbitals (eigenvectors).