feature idea: re-scale interactions through RPA
Our current package provides a first-order solution to an interacting problem. To go beyond it, people usually use the Random Phase Approximation (RPA) which takes into account the screening due to spontaneous electron-hole creation in the vacuum to mediate the interaction. In practice, this means that the interaction gets re-scaled by the dynamic dielectric function, \hat{\tilde{V}}(R) = \hat{V}(R) / \epsilon_{\text{RPA}}(R)
.
The dielectric function \epsilon_{\text{RPA}}
depends on either the non-interacting or the mean-field system (not sure which one yet), so we would require a function like:
def dielectric_RPA(h_0, h_int):
# calculates the dielectric
return epsilon_RPA
which we could then integrate into our SCF loop.