The simplest [0](m) (that is, [0](0)) is the fundamental electron-repulsion integral, equation (5.2). The integration is performed by first replacing each of the three factors by its Fourier representation, giving (after some re-ordering)
The last two integrals above are Fourier representations of the three-dimensional Dirac delta function, allowing simplification to
Remembering that the Dirac
function has the sampling property of
for any function
allows the triple integral to collapse to the single integral
where, for convenience and computational efficiency, the following variables have been introduced:
and U is scaled by
.
The final integration is usually performed with the introduction of a special function
Gm(T),
giving
The higher momentum [0](m) formulae can be found via the relation
producing the general formula
If the value of T is less some critical value, the function
GL(T) is calculated using Chebyshev interpolation [167]. The
Gm(T),
are then calculated by downward recursion using
Note that this also requires an interpolation for
e-T.
If T is greater than a critical value, the distributions overlap negligibly, and
Gm(T) can be approximated
and the [0](m) reduces to the classical multipole formula
which can be computed extremely fast via recursion.
The (0)(m)s are formed if contraction is carried out immediately after forming the primitives. Contraction can occur early or late, depending on the PRISM path; however, it is advantageous to contract early if the total degree of contraction (
Ktot = KBraKKet) is high. With the new algorithms mainly reducing the cost of high momentum, the point is fast being approached where ERI generation is dominated by making and contracting the [0](m)s. During contraction, scalings are introduced which are required for the later transformations, so a (0)(m) is more accurately represented as:
The double sum above is the problem. The amount of work required to calculate (0)(m) scales with
KBraKKet. Note that this means two interpolations and a divide are calculated
KBraKKet times! The rest of this chapter presents a method which scales independently of KBra and KKet.