3.3.7. horton/gbasis/cholesky.h – Cholesky decomposition of (any) four-center integrals

Functions

long cholesky(GB4IntegralWrapper *gbw4, std::vector<double> *vectors, double threshold)

Computes Cholesky vectors for a four-index object.

Only the 4-center integrals relevant for the decomposition are actually computed. This implementation computes slices of the four-index object for a pair of shells at a time. (This is because most implementations of a four-center work like that.)

Parameters
  • gbw4: A wrapper around a definition of the 4-center integral. See gbw.h
  • vectors: An output pointer. The Cholesky vectors will be added to this std::vector.
  • threshold: A threshold for the error on the (double) diagonal of the four-center object. The Cholesky decomposition stops when sufficient vectors are generated such that the error on the diagonal falls below this threshold.