Double counting

Routines for computing the double-counting correction \(\Sigma_{\mathrm{DC}}\) that (approximately) removes the local-interaction contribution already present in the DFT exchange-correlation functional.

Embedded self-energy

The double-counting correction enters DMFT through the embedded self-energy: it is the impurity self-energy minus the double-counting term that is embedded back to the lattice,

\[\Sigma_{\mathrm{embed}}^{\sigma}(\omega) = \mathrm{embed}\bigl(\Sigma_{\mathrm{imp}}^{\sigma}(\omega) - \Sigma_{\mathrm{DC}}^{\sigma}\bigr).\]

The subtraction happens before embedding, so \(\Sigma_{\mathrm{DC}}^{\sigma}\) enters with the same projector structure as \(\Sigma_{\mathrm{imp}}^{\sigma}\).

triqs_modest.utils.dc.DcSolver

Double counting "solver".

triqs_modest.utils.dc.dc_formulas

Double counting formulas.

Where does the double-counting term appear in the DMFT loop

The DMFT self-consistency condition

\[G_{\mathrm{loc}} \;\stackrel{!}{=}\; G_{\mathrm{imp}},\]

reads, when both sides are written explicitly,

(1)\[\sum_{\mathbf{k}} P(\mathbf{k})\, \bigl[i\omega_n + \mu - H(\mathbf{k}) - P^{\dagger}\bigl(\Sigma_{\mathrm{imp}}(i\omega_n) - \Sigma_{\mathrm{DC}}\bigr) P\bigr]^{-1}\, P^{\dagger}(\mathbf{k}) = \frac{1}{i\omega_n - E_{\mathrm{imp}} - \Delta(i\omega_n) - \Sigma_{\mathrm{imp}}(i\omega_n)}.\]

When we embed the self-energy back into the lattice it is important that the double-counting term is subtracted from the impurity self-energy.

The impurity-level definition follows from taking the high-frequency expansion of both sides of (1),

\[\mu - \langle H(\mathbf{k}) \rangle_{\mathbf{k}} - \Sigma_{\infty} + \Sigma_{\mathrm{DC}} = - E_{\mathrm{imp}} - \Sigma_{\infty},\]

and solving for \(E_{\mathrm{imp}}\) gives

(2)\[E_{\mathrm{imp}} = \langle H(\mathbf{k}) \rangle_{\mathbf{k}} - \mu - \Sigma_{\mathrm{DC}}.\]

The double-counting term therefore appears in two places in the DMFT loop:

  1. The embedded self-energy, \(\Sigma_{\mathrm{embed}} = \Sigma_{\mathrm{imp}} - \Sigma_{\mathrm{DC}}\), which is what gets upfolded to the lattice through \(P\).

  2. The local impurity levels, \(E_{\mathrm{imp}} = \langle H(\mathbf{k}) \rangle_{\mathbf{k}} - \mu - \Sigma_{\mathrm{DC}}\), which enter the hybridization function via \(\Delta(\omega) = \omega - E_{\mathrm{imp}} - G_{\mathrm{loc}}^{-1}(\omega) - \Sigma_{\mathrm{imp}}(\omega)\).