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