Random phase approximation (RPA)
Interaction
In triqs the interaction Hamiltonian is represented as a sum of monomials of quartic operators
where the sum runs over all unique sets of \(\bar{a}\bar{b}cd\) of normal ordered and lexicographically ordered operators.
Note
This is a unique representation of the Hamiltonian and a unique representation of the prefactor \(V(\bar{a}\bar{b}cd)\), in contrast to representations where we allow any permutation of \(\bar{a}\bar{b}\) and \(cd\).
Antisymmetrized interaction tensor \(U\)
In RPA we approximate the vertex \(\Gamma^{PH}\) in the Bethe-Salpeter equation
by a constant rank 4 tensor \(U(a\bar{b}c\bar{d})\)
To determine the relation between \(U(a\bar{b}c\bar{d})\) and \(V(\bar{a}\bar{b}cd)\) we expand \(\chi\) to first order in \(V\). The generalized susceptibility is defined as
To zeroth order in \(V\), we get the bare susceptibility
The first order is given by
where in the last step we performed the restricted summation over unique interaction terms, as defined above, and use the fact that all contractions of \(d\bar{c}\) and \(b\bar{a}\) in the first term are canceled by the two last terms.
Performing the Wick contraction and pairing the quadratic expectation values into \(\chi_0\) terms gives
Defining the tensor \(U\) as
we can rewrite the above equation as an unrestricted sum over \(U(\bar{A}B\bar{C}D)\)
which determines that the RPA \(U(\bar{A}C\bar{B}D)\) tensor transforms as the prefactor of
under permutations of the indices.
Spin-independent RPA calculations
In many papers, such as Takimoto, et. al., PRB 69, 104504 (2004), people use a matrix scheme to calculate spin- and charge-susceptibilites in RPA. In contrast to the generalized susceptibility used in TPRF they don’t use an explicit spin index, which is valid in SU(2) symmetric systems. This allows for more efficient calculations both in memory and time. A mapping between both methods is therefore advantageous and shown in this documentation entry.
With the mapping we can obtain a full generalized RPA susceptibility from spin-independent calculations by decoupling a spin-dependent interaction into spin and charge channel.
Warning
For historical reasons the four-index order used in the matrix RPA differs from the order used in the rest of the TPRF package, see below.
Matrix RPA
The matrix RPA is based on two equations, one for the spin-susceptibility
and the other for the charge susceptibility
Note
This is different to the equations in the paper Takimoto, et. al., PRB 69, 104504 (2004) where they have \(\chi\) and \(U\) flipped. But I think that this is the correct way to write it. This difference must be resolved, because it will have difference on the particle-particle vertex, and therefore calculations of the Eliashberg equation in the RPA limit.
Here every quantity with a hat is a matrix and \(\hat{\chi}^{(0)}\) is therefore the matrix representation of the bare particle-hole bubble and the same holds for the spin channel \(\hat{U}^{(\mathrm{s})}\) and charge channel \(\hat{U}^{(\mathrm{c})}\) of the interaction.
The matrices are given as
and for a Kanamori interaction by
The equation for the elements of the bare-particle hole bubbles is given by
were we used greek indices, which we will do exclusively for matrix RPA quantities to highlight that they are spin-independent. The spin and charge channel interaction are given by
Here we have to note that operator order used in the matrix RPA differs from the one we use in TPRF. While in TPRF the susceptibilites are ordered as \(c^\dagger cc^\dagger c\) and the vertices as \(cc^\dagger cc^\dagger\), in matrix RPA the last two indices are flipped. This means \(c^\dagger ccc^\dagger\) for susceptibilites and \(cc^\dagger c^\dagger c\) for vertices. This flipping of the last two indices corresponds to the particle-hole product, see Derivation: Product relations, which the matrix RPA explicitly keeps in the notation. Therefore, when comparing matrix RPA susceptibilites to TPRF ones this flip of indices has to be taken into account.
Mapping between spin-dependent and independent quantities
While the greek indices only carry orbital information, the latin indices used for the quantities in TPRF carry orbital and spin information. To map the spin-dependent to independent quantities and vice versa, we introduce the following notation
where the \(\mathrm{orb}\) function extracts the orbital information, mapping to the greek letters, and the \(\sigma\) extracts the spin.
With this we can state the mapping between the susceptibilites as
and
And for the interaction they are given by
Example
If you have a spin-dependent bare particle-hole bubble chi00_wk
and a spin-dependent vertex
U_abcd
, you could use the following code snippet to produce the corresponding
spin-dependent general RPA susceptibility chi_wk
, without doing a spin-dependent calculation.
from triqs_tprf.rpa_tensor import lose_spin_degree_of_freedom
chi00_wk_wo_spin = lose_spin_degree_of_freedom(chi00_wk, spin_fast=False)
from triqs_tprf.rpa_tensor import lose_spin_degree_of_freedom
U_c, U_s = split_quartic_tensor_in_charge_and_spin(U_abcd)
from triqs_tprf.lattice import solve_rpa_PH
chi_s = solve_rpa_PH(chi00_wk_wo_spin, U_s)
chi_c = solve_rpa_PH(chi00_wk_wo_spin, -U_c) # Minus for correct charge rpa equation
from triqs_tprf.rpa_tensor import general_susceptibility_from_charge_and_spin
chi_wk = general_susceptibility_from_charge_and_spin(chi_c, chi_s, spin_fast=False)
Or you could already start at the spin-dependent Green’s function g0_wk
to construct
a spin-independent bare particle-hole bubble.
from triqs_tprf.rpa_tensor import lose_spin_degree_of_freedom
g0_wk_wo_spin = lose_spin_degree_of_freedom(g0_wk, spin_fast=False)
from triqs_tprf.lattice_utils import imtime_bubble_chi0_wk
chi00_wk_wo_spin = imtime_bubble_chi0_wk(g0_wk_wo_spin, nw=1)