During writing my own two-electron integration library I faced an issue of dealing with integrals that have very small values beyond the C/C++ double data type. Basically, most integrals turn out to be NaN. So, the prescreening is apparently necessary.
Referring to this thread I see how the prescreening is done, but I have just a little concern. Is there a simple method/algorithm of calculating (ab|ab) and (cd|cd) integrals or am I supposed to calculate them as if they were regular 4-index integrals? Maybe there's a transformation that can be used to calculate them as 1-electron integrals? I lack the mathematical education and am trying to learn things on the fly.
The question about implementing the Schwartz inequality is still open and important.
– Dmitry Govorov May 27 '22 at 19:55