Do any freely available or proprietary electronic structure packages explicitly compute two-electron exchange correlation integrals?

I have found a few derivations to calculate excited state properties/spectroscopic observables using DFT,[1] and they tend to write expressions including integrals of the form


where $w$ is the exchange-correlation kernel. However, I have yet to find a package that specifically generates these integrals. It seems that in general they do some sort of prior contraction with the density to avoid the need to generate these terms explicitly when calculating response properties. However, I had wanted to make a small standalone script that used these quantities. Its presumably much less efficient than the approach used in these packages, but the implementation is much clearer for me. Are there any packages that have an existing option to do this? Or is it something that would require some modification of either these packages themselves or some existing API?

  1. S. Hirata, M. Head-Gordon, R.J. Bartlett Configuration interaction singles, time-dependent Hartree–Fock, and time-dependent density functional theory for the electronic excited states of extended systems J. Chem. Phys. 111, 10774 (1999); DOI: 10.1063/1.480443

1 Answer 1


I assume you're referring to eq 51 of the Hirata-Head-Gordon-Bartlett paper.

One should note that these are not two-electron integrals, since there is only one spatial position; these are rather weighted four-center one-electron integrals.

As always, the problem when you have four indices is that there is a huge number of integrals that come out, and you might not have storage for them.

Another issue is that the set of four-products is linearly dependent to a ridiculous degree. If you start out with a atomic basis set, in usual electron repulsion integrals you get basis function products. Most of these will be linearly dependent, and you get out a linearly growing number of independent functions (this is why the Cholesky decomposition is so powerful in repulsion integrals) and the rest $O(N^2)$ are linearly dependent.

Now, instead of basis function products, you have products of basis function products. Again, you only get a linearly growing number of independent functions, with a prefactor higher than in the two-electron case, meaning that the number of linearly dependent functions grows as $O(N^4)$. So, you'd like to get a large number of integrals that are mostly linearly dependent.

Other than this issue, there's nothing that would prevent you from evaluating the integrals in the same way as is done in the paper. That is, you just need numerical quadrature to do it.

If you had an optimized version of the procedure, one could extract the integrals by $O(N^2)$ calls to eq (54). But this is going to be so costly that I doubt that you could do it in anything except the smallest basis set...

  • $\begingroup$ From the equations in their paper, I would agree that these would more accurately be called one electron integrals. However they repeatedly refer to them as two electron integrals in the paper. Is this just sloppy notation or are they just trying to convey that these get treated in a similar way to the two-electron terms when solving the CPKS equations? $\endgroup$
    – Tyberius
    May 18, 2020 at 16:17
  • $\begingroup$ In terms of use, I didn't necessarily have high expectations about how large a system I could use this on. The intent was to have a simplified implementation that I could use to validate a more complicated/efficient program. $\endgroup$
    – Tyberius
    May 18, 2020 at 16:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .