7 #ifndef SPARROW_CISPSEUDODENSITYBUILDER_H
8 #define SPARROW_CISPSEUDODENSITYBUILDER_H
13 #include <Eigen/Sparse>
41 template<Utils::Reference restrictedness>
68 void constructOrbitals(Eigen::MatrixXd& occupiedOrbitals, Eigen::MatrixXd& virtualOrbitals,
69 const Eigen::MatrixXd& allMOs,
const std::vector<int>& filledOrbitals);
97 Eigen::MatrixXd
mapAndMultiply(
const Eigen::VectorXd& Vector,
const Eigen::MatrixXd& virtualMOs,
98 const Eigen::MatrixXd& occupiedMOs)
const;
101 SAMType occupiedMolecularOrbitals_;
102 SAMType virtualMolecularOrbitals_;
105 template<Utils::Reference restrictedness>
107 return occupiedMolecularOrbitals_;
110 template<Utils::Reference restrictedness>
112 return virtualMolecularOrbitals_;
117 #endif // SPARROW_CISPSEUDODENSITYBUILDER_H
SAMType getOccupiedOrbitals() const
Getter for occupied block of coefficient matrix.
Definition: CISPseudoDensityBuilder.h:106
const SAMType getPseudoDensityMatrix(const Utils::SpinAdaptedContainer< restrictedness, Eigen::VectorXd > &guessVector) const
Evaluates and returns the pseudo-density matrix Calculates the pseudo-density matrix with one guessVe...
~CISPseudoDensityBuilder()=default
Destructor.
This class evaluates pseudo-density matrices for the construction of the sigma-vectors in the Davidso...
Definition: CISPseudoDensityBuilder.h:42
CISPseudoDensityBuilder(const Utils::MolecularOrbitals &molecularOrbitals, const Utils::LcaoUtils::ElectronicOccupation &occupation)
Constructs the class by building the virtual and occupied blocks from the full coefficient matrix...
Eigen::MatrixXd mapAndMultiply(const Eigen::VectorXd &Vector, const Eigen::MatrixXd &virtualMOs, const Eigen::MatrixXd &occupiedMOs) const
Perform a matrix multiplication of the coefficient blocks with a mapped guessVector.
Definition: CISPseudoDensityBuilder.cpp:99
void constructOrbitals(Eigen::MatrixXd &occupiedOrbitals, Eigen::MatrixXd &virtualOrbitals, const Eigen::MatrixXd &allMOs, const std::vector< int > &filledOrbitals)
Constructs the virtual and occupied blocks from the full coefficient matrix. The blocks are construct...
Definition: CISPseudoDensityBuilder.cpp:56
SAMType getVirtualOrbitals() const
Getter for virtual block of coefficient matrix.
Definition: CISPseudoDensityBuilder.h:111