Questaal Home

Including ladder diagrams in W

The screened Coulomb interaction W is usually calculated at the level of the random phase approximation (RPA). Here we will go through the background of how we can go beyond the RPA using the Bethe-Salpeter equation (BSE) for the polarization. We correct the full polarization matrix at all k points in the IBZ and this is used to calculate the screened Coulomb interaction and hence the correlation part of the self-energy. A tutorial using Questaal to include ladder diagrams in W is included on this page. We will introduce quantities and methods here that are used in the program, and relate to these in the tutorial given.


Questaal performs QSGW calculations using the script lmgwsc, which in turn calls further scripts; see the output from lmgwsc to see the set of scripts run and their output. The screened Coulomb interaction is calculated in the program hx0fp0 at the level of the random phase approximation (RPA) and this is used to determine the screened part of the self-energy. Local field effects are included in hx0fp0, however, excitonic effects are not. Excitonic effects, or ladder diagrams/vertex contributions, in W can have a huge impact on the electronic structure, and the neglection of these perhaps contribute the most to the bandgap overestimation of QSGW.

Dielectric Function

In the GW formalism, the self energy is calculated from the Green’s function and screened Coulomb interaction . The screened Coulomb interaction is calculated using the bare Coulomb interaction and the dielectric function . The RPA (or independent particle) polarisation assumes a sum over independent transitions:

where the spin, k and band index are subsumed into the indices and .

Ladder Diagrams

Excitonic effects (or ladder diagrams in the language of Feynman diagrams) can be included though the Bethe-Salpeter equation for the 4-point polarisation:

with the screened Coulomb interaction calculated using the RPA polarization. Note that the index (1,2) means . The 4-point polarisation is such that . The Bethe-Salpeter equation can be derived by combining the Hedin’s equations for the polarization and vertex and assuming the GW approximation for the interaction kernel, . We express the functions in transition space, such that

where, again, contains the band and spin indices and -point, and in the basis of eigenfunctions (easily shown using the completeness relation for the eigenfunctions). The polarization in the eigenfunction basis can then be expressed as


where is calculated from the RPA in the mixed product basis used in questaal.
In the code, is constructed assuming a static interaction kernel and adopting the Tamm-Dancoff approximation (Onida. Rev. Mod. Phys. 74, 601, 2002) and this is then diagonalized to represent in the spectral form:

where and are the eigenvectors and eigenvalues of the matrix .

The broadening determines the width and height of the peaks; in Questaal, the default is 0.01 Hartree. Finally, the number of states considered in the BSE must be considered. The matrix has the shape , where is the product of the number of spin channels, the number of -points in the FBZ, the number of valence states, and the number of conduction states. Due to memory limitations, we cannot consider transitions between all the states. We pick an energy window about the Fermi level and consider states corresponding to transitions within this window. Transitions not considered in the BSE will be included in the polarization at the level of the RPA.

Finally, once we have the polarization, we can calulate the screened Coulomb interaction, and hence the screened part of the self-energy