20 #ifndef ERKALE_ERITABLE
21 #define ERKALE_ERITABLE
63 size_t offset(
size_t ip,
size_t jp)
const;
89 arma::mat
calcJ(
const arma::mat & P)
const;
91 arma::mat
calcK(
const arma::mat & P)
const;
93 arma::cx_mat
calcK(
const arma::cx_mat & P)
const;
size_t N_ints(const BasisSet *basis, double thr)
Compute number of integrals.
Definition: eritable.cpp:59
std::vector< double > ints
Table of integrals.
Definition: eritable.h:51
arma::mat calcK(const arma::mat &P) const
Form exchange matrix.
Definition: eritable.cpp:128
arma::mat calcJ(const arma::mat &P) const
Form Coulomb matrix.
Definition: eritable.cpp:100
void get_range_separation(double &omega, double &alpha, double &beta) const
Get range separation.
Definition: eritable.cpp:53
size_t offset(size_t ip, size_t jp) const
Calculate offset in integrals table.
Definition: eritable.cpp:90
size_t fill(const BasisSet *basis, double thr)
Fill table, return amount of significant shell pairs.
Definition: eritable.cpp:186
void set_range_separation(double omega, double alpha, double beta)
Set range separation.
Definition: eritable.cpp:47
double alpha
Fraction of long-range (i.e. exact) exchange.
Definition: eritable.h:58
~ERItable()
Destructor.
Definition: eritable.cpp:44
std::vector< eripair_t > shpairs
Integral pairs sorted by value.
Definition: eritable.h:47
void print() const
Print ERI table.
ERItable()
Constructor.
Definition: eritable.cpp:38
double omega
Range separation parameter.
Definition: eritable.h:56
arma::mat screen
Screening matrix.
Definition: eritable.h:49
Table of electron repulsion integrals.
Definition: eritable.h:44
Basis set.
Definition: basis.h:187
size_t get_N() const
Get size of ERI table.
Definition: eritable.cpp:86
double beta
Fraction of short-range exchange.
Definition: eritable.h:60
std::vector< size_t > shoff
Offset lookup.
Definition: eritable.h:53