Cholesky decomposition of ERIs. More...
#include <erichol.h>
Public Member Functions | |
ERIchol () | |
Constructor. | |
~ERIchol () | |
Destructor. | |
void | set_range_separation (double w, double a, double b) |
Set range separation. | |
void | get_range_separation (double &w, double &a, double &b) const |
void | load () |
Load B matrix. | |
void | save () const |
Save B matrix. | |
size_t | fill (const BasisSet &basis, double cholesky_tol, double shell_reuse_thr, double shell_screen_tol, bool verbose) |
Fill matrix, returns amount of significant pairs. | |
size_t | get_Naux () const |
Get amount of vectors. | |
size_t | get_Nbf () const |
Get basis set size. | |
size_t | get_Npairs () const |
Get basis set size. | |
arma::mat | get () const |
Get the matrix. | |
arma::umat | get_invmap () const |
Get basis function numbers. | |
arma::mat | calcJ (const arma::mat &P) const |
Form Coulomb matrix. | |
arma::mat | calcK (const arma::vec &C) const |
Form exchange matrix. | |
arma::mat | calcK (const arma::mat &C, const std::vector< double > &occs) const |
Form exchange matrix. | |
arma::cx_mat | calcK (const arma::cx_vec &C) const |
Form exchange matrix. | |
arma::cx_mat | calcK (const arma::cx_mat &C, const std::vector< double > &occs) const |
Form exchange matrix. | |
void | B_matrix (arma::mat &B) const |
Get full B matrix. | |
arma::mat | B_transform (const arma::mat &Cl, const arma::mat &Cr, bool verbose=false) const |
Get transformed B matrix. | |
Private Attributes | |
size_t | Nbf |
Amount of basis functions. | |
arma::uvec | prodidx |
Map of product indices in full space (for getting density subvector) | |
arma::umat | invmap |
Map to function indices, 2 x Nprod. | |
arma::umat | prodmap |
Map to product index. | |
arma::uvec | odiagidx |
List of off-diagonal products. | |
arma::mat | B |
Cholesky vectors, L x Nprod. | |
double | omega |
Range separation constant. | |
double | alpha |
Fraction of full-range Coulomb. | |
double | beta |
Fraction of short-range Coulomb. | |
Cholesky decomposition of ERIs.