horton/gbasis/gbw.h – A four-center integral wrapper for the Cholesky code¶
- #include <gbw.h>
A wrapper around a four-center integral implementation that is suitable for a Cholesky algorithm.
GB4IntegralWrapper(GOBasis *gobasis, GB4Integral *gb4int)¶
Construct the wrapper.
A Gaussian basis set for which the four-center integrals are to be computed.
A definition/implementation of a four-center integral.
The number of basis functions.
select_2index(long index0, long index2, long *pbegin0, long *pend0, long *pbegin2, long *pend2)¶
Select a pair of shells to which a pair of basis indexes belong.
The output of this function is also stored internally for the next call to the compute method.
The first basis index.
The third basis index. (Physicist notation!)
Output argument. The begin of the range for the first shell.
Output argument. The end (non-inclusive) of the range for the first shell.
Output argument. The begin of the range for the third shell. (Physicist notation!)
Output argument. The end (non-inclusive) of the range for the third shell. (Physicist notation!)
Compute four-center integrals for the slices selected with the select_2index method.
Compute the (double) diagonal of the four-index object. This is usually needed in the initialization of a Cholesky algorithm.
The output array to which the result is written (size=nbasis*basis).
get_2index_slice(long index0, long index2)¶
Get a slice from the four-center integral computed with the last call to the compute method.
The first index of the slice. (Absolute indexes, not relative within the currently selected shell.)
The third index of the slice. (Physicist notation!) (Absolute indexes, not relative within the currently selected shell.)
compute_shell(long ishell1, long ishell3)¶
Compute four-center integrals for a quadruplet of shells (defined by ishell0, ishell1, ishell2 and ishell3).