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