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


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.)

  • 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.