21#ifndef VOTCA_XTP_ERIS_H
22#define VOTCA_XTP_ERIS_H
44 const Eigen::MatrixXd& occMos,
const Eigen::MatrixXd& DMAT)
const {
45 std::array<Eigen::MatrixXd, 2> result;
47 if (occMos.rows() > 0 && occMos.cols() > 0) {
48 assert(occMos.rows() == DMAT.rows() &&
"occMos.rows()==DMAT.rows()");
62 const Eigen::MatrixXd& DMAT,
double error)
const {
69 const Eigen::MatrixXd& matrix_operator) {
70 return matrix_operator.cwiseProduct(DMAT).sum();
86 const std::vector<libint2::Shell>& basis,
87 const std::vector<std::vector<Index>>& shellpairs)
const;
92 template <
bool with_exchange>
93 std::array<Eigen::MatrixXd, 2>
Compute4c(
const Eigen::MatrixXd& dmat,
Container to hold Basisfunctions for all atoms.
Takes a density matrix and and an auxiliary basis set and calculates the electron repulsion integrals...
Eigen::MatrixXd CalculateERIs_3c(const Eigen::MatrixXd &DMAT) const
Index Removedfunctions() const
std::vector< std::vector< libint2::ShellPair > > shellpairdata_
std::vector< libint2::Shell > basis_
Eigen::MatrixXd ComputeSchwarzShells(const AOBasis &dftbasis) const
std::vector< std::vector< Index > > shellpairs_
std::array< Eigen::MatrixXd, 2 > CalculateERIs_EXX_4c(const Eigen::MatrixXd &DMAT, double error) const
void Initialize_4c(const AOBasis &dftbasis)
static double CalculateEnergy(const Eigen::MatrixXd &DMAT, const Eigen::MatrixXd &matrix_operator)
std::array< Eigen::MatrixXd, 2 > Compute4c(const Eigen::MatrixXd &dmat, double error) const
std::array< Eigen::MatrixXd, 2 > CalculateERIs_EXX_3c(const Eigen::MatrixXd &occMos, const Eigen::MatrixXd &DMAT) const
std::vector< std::vector< libint2::ShellPair > > ComputeShellPairData(const std::vector< libint2::Shell > &basis, const std::vector< std::vector< Index > > &shellpairs) const
void Initialize(const AOBasis &dftbasis, const AOBasis &auxbasis)
Eigen::MatrixXd CalculateERIs_4c(const Eigen::MatrixXd &DMAT, double error) const
Eigen::MatrixXd schwarzscreen_
Eigen::MatrixXd ComputeShellBlockNorm(const Eigen::MatrixXd &dmat) const
std::vector< Index > starts_
Eigen::MatrixXd CalculateEXX_dmat(const Eigen::MatrixXd &DMAT) const
TCMatrix_dft threecenter_
Eigen::MatrixXd CalculateEXX_mos(const Eigen::MatrixXd &occMos) const
Index Removedfunctions() const
base class for all analysis tools