  The random phase approximation (RPA) is exact for the exchange energy of a
many-electron ground state, but RPA makes the correlation energy too negative
by about 0.5 eV/electron. That large short-range error, which tends to cancel
out of iso-electronic energy differences, is largely corrected by an
exchange-correlation kernel, or (as in RPA+) by an additive local or semilocal
correction. RPA+ is by construction exact for the homogeneous electron gas, and
it is also accurate for the jellium surface. RPA+ often gives realistic total
energies for atoms or solids in which spin-polarization corrections are absent
or small. RPA and RPA+ also yield realistic singlet binding energy curves for
H2 and N2, and thus RPA+ yields correct total energies even for
spin-unpolarized atoms with fractional spins and strong correlation, as in
stretched H2 or N2. However, RPA and RPA+ can be very wrong for spin-polarized
one-electron systems (especially for stretched H2+), and also for the
spin-polarization energies of atoms. The spin-polarization energy is often a
small part of the total energy of an atom, but important for ionization
energies, electron affinities, and the atomization energies of molecules. Here
we propose a computationally efficient generalized RPA+ (gRPA+) that changes
RPA+ only for spin-polarized systems by making gRPA+ exact for all one-electron
densities, in the same simple semilocal way that the correlation energy
densities of many meta-generalized gradent approximations are made
self-correlation free. By construction, gRPA+ does not degrade the exact RPA+
description of jellium. gRPA+ is found to greatly improve upon RPA and RPA+ for
the ionization energies and electron affinities of light atoms. Many versions
of RPA with an approximate exchange-correlation kernel fail to be exact for all
one-electron densities, and they can also be self-interaction corrected in this
way.
