8 #ifndef SPARROW_CISMATRIXAOFOCKBUILDER_H
9 #define SPARROW_CISMATRIXAOFOCKBUILDER_H
18 template<Utils::Reference restrictedness>
23 std::map<
int, std::vector<int>> atomPairList)
const = 0;
27 template<Utils::Reference restrictedness, Utils::SpinTransition spinBlock = Utils::SpinTransition::Singlet>
33 SAMType getAOFock(
const SAMType& pseudoDensity, std::map<
int, std::vector<int>> atomPairList)
const final;
36 SAMType buildFock(
const SAMType& pseudoDensity, std::map<
int, std::vector<int>> atomPairList)
const;
38 void calculateMatrices();
39 void calculate(
int atomI,
int atomJ);
40 void calculate(
int atomI);
41 Eigen::MatrixXd getCoulombIntegrals(
int atomI,
int atomJ);
42 Eigen::MatrixXd getExchangeIntegrals(
int atomI,
int atomJ);
46 std::shared_ptr<std::vector<std::map<int, std::unique_ptr<Eigen::MatrixXd>>>> coulombContainer_, exchangeContainer_;
47 static constexpr
const double sparseThreshold_ = 1e-8;
55 #endif // SPARROW_CISMATRIXAOFOCKBUILDER_H
Definition: CISMatrixAOFockBuilder.h:28
Definition: TimeDependentUtils.h:22
Definition: CISMatrixAOFockBuilder.h:19
This class contains the infos needed to perform a CIS calculation. This way excited states properties...
Definition: CISData.h:24
int getNAtomicOrbitals() const