dgamore.local_sde#
Local Schwinger-Dyson step. Given the two-particle DMFT Green’s functions and the bare interaction, the functions
here build the local vertex hierarchy per spin channel — the generalized susceptibility \(\chi_{r}\), the
irreducible vertex \(\Gamma_{r}\) (with the Kitatani shell asymptotics), the auxiliary susceptibility
\(\chi^{*}_{r}\), the three-leg vertex \(\gamma_{r}\) (vrg), the full vertex \(F_{r}\), and the
physical susceptibility — and recompute the local self-energy via the Schwinger-Dyson equation as a sanity check
against the DMFT input. Equation numbers refer to the author’s master’s thesis (Chapter 3). A second set of
functions implements the alternative ab-initio DGA formulation.
Functions
|
Returns the auxiliary susceptibility, see Eq. |
|
Returns the local full vertex in the |
|
Returns the local full vertex in the |
|
Returns the ph-irreducible vertex \(\Gamma_{r;abcd}^{\omega\nu\nu'} = \beta^2 [(\chi_{r;abcd}^{\omega\nu\nu'})^{-1} - (\delta_{\nu\nu'}\chi_{0;abcd}^{\omega\nu\nu'})^{-1}]\). |
|
Calculates the irreducible vertex with the shell correction as described by Motoharu Kitatani et al. 2022 J. |
|
Returns the generalized susceptibility, see also Eq. |
Calculates the generalized susceptibility with the shell correction as described by Motoharu Kitatani et al. 2022 J. |
|
|
Builds the full local vertex hierarchy for a single spin channel: the irreducible vertex \(\Gamma_{r}\) (with shell correction), the frequency-summed (shell-corrected) physical susceptibility, the three-leg vertex \(\gamma_{r}\), the full vertex \(F_{r}\), and the generalized susceptibility \(\chi_{r}\). |
|
Returns the three-leg vertex, see Eq. |
DEVELOPMENT / TESTING ONLY. |
|
|
Performs the local self-energy calculation using the Schwinger-Dyson equation, i.e. the local variant of Eq. |
|
Returns the local Hartree-Fock (static, frequency-independent) self-energy \(\Sigma^{HF}_{ab}\) from the bare interaction and the local occupation, i.e. the density-channel interaction contracted with the occupation, see Eq. |
|
Performs the local Schwinger-Dyson equation calculation for the local self-energy for sanity checks against the DMFT self-energy. |
DEVELOPMENT / TESTING ONLY -- this is the ab-initio DGA cross-check, NOT the production routine ( |
- dgamore.local_sde.create_auxiliary_chi(gamma_r: LocalFourPoint, gchi0_inv: LocalFourPoint, u_loc: LocalInteraction) LocalFourPoint[source]#
Returns the auxiliary susceptibility, see Eq. (3.60) in my master’s thesis, \(\chi^{*;\omega\nu\nu'}_{r;abcd} = ((\chi_{0;abcd}^{\omega\nu})^{-1} + (\Gamma_{r;abcd}^{\omega\nu\nu'} - U_{r;abcd})/\beta^2)^{-1}\).
- Parameters:
gamma_r (LocalFourPoint) – The irreducible vertex \(\Gamma_{r}\).
gchi0_inv (LocalFourPoint) – The inverse bare bubble \(\chi_0^{-1}\) (core box).
u_loc (LocalInteraction) – The bare local interaction \(U\).
- Returns:
The auxiliary susceptibility \(\chi^{*}_{r}\) as a
LocalFourPoint.- Return type:
- dgamore.local_sde.create_full_vertex(gchi_r: LocalFourPoint, gchi0_inv: LocalFourPoint) LocalFourPoint[source]#
Returns the local full vertex in the
niv_coreregion, see Eq. (3.58) in my master’s thesis, \(F_{r;abcd}^{\omega\nu\nu'} = \beta^2 (\chi_{0;abcd}^{-1} - \chi_{0;abef}^{-1} \chi_{r;fehg} \chi_{0;ghcd}^{-1})\).- Parameters:
gchi_r (LocalFourPoint) – The generalized susceptibility \(\chi_{r}\).
gchi0_inv (LocalFourPoint) – The inverse bare bubble \(\chi_0^{-1}\).
- Returns:
The full vertex \(F_{r}\) as a
LocalFourPoint.- Return type:
- dgamore.local_sde.create_full_vertex_from_gamma(gamma_r, gchi0, u_loc)[source]#
Returns the local full vertex in the
niv_fullregion from the irreducible vertex, \(F = \Gamma [1 + \frac{1}{\beta^2} \chi_0 \Gamma]^{-1}\) (with \(\Gamma\) padded with \(U\) beyond the core box).- Parameters:
gamma_r – The irreducible vertex \(\Gamma_{r}\) (core box).
gchi0 – The bare bubble \(\chi_0\) (with its fermionic axis taken on the diagonal).
u_loc – The bare local interaction \(U\), used to pad the shell.
- Returns:
The full vertex \(F_{r}\) as a
LocalFourPoint.
- dgamore.local_sde.create_gamma_r(gchi_r: LocalFourPoint, gchi0_inv: LocalFourPoint, beta: float) LocalFourPoint[source]#
Returns the ph-irreducible vertex \(\Gamma_{r;abcd}^{\omega\nu\nu'} = \beta^2 [(\chi_{r;abcd}^{\omega\nu\nu'})^{-1} - (\delta_{\nu\nu'}\chi_{0;abcd}^{\omega\nu\nu'})^{-1}]\).
- Parameters:
gchi_r (LocalFourPoint) – The generalized susceptibility \(\chi_{r}\).
gchi0_inv (LocalFourPoint) – The inverse bare bubble \(\chi_0^{-1}\) (diagonal in \(\nu\nu'\)).
beta (float) – Inverse temperature \(\beta\).
- Returns:
The irreducible vertex \(\Gamma_{r}\) as a
LocalFourPoint.- Return type:
- dgamore.local_sde.create_gamma_r_with_shell_correction(gchi_r: LocalFourPoint, gchi0: LocalFourPoint, u_loc: LocalInteraction) LocalFourPoint[source]#
Calculates the irreducible vertex with the shell correction as described by Motoharu Kitatani et al. 2022 J. Phys. Mater. 5 034005; DOI 10.1088/2515-7639/ac7e6d. More specifically, see equations A.4 and A.8. The irreducible vertex has an additional factor of \(1/\beta^2\) compared to DGApy. This is also described in my master’s thesis, Sec. 3.7.2.
- Parameters:
gchi_r (LocalFourPoint) – The generalized susceptibility \(\chi_{r}\) (core frequency box).
gchi0 (LocalFourPoint) – The bare bubble \(\chi_0\) over the full frequency box.
u_loc (LocalInteraction) – The bare local interaction \(U\).
- Returns:
The shell-corrected irreducible vertex \(\Gamma_{r}\) as a
LocalFourPoint.- Return type:
- dgamore.local_sde.create_generalized_chi(g2: LocalFourPoint, g_dmft: GreensFunction) LocalFourPoint[source]#
Returns the generalized susceptibility, see also Eq. (3.41) in my master’s thesis, \(\chi_{r;abcd}^{\omega\nu\nu'} = \beta (G_{r;abcd}^{(2);\omega\nu\nu'} - 2 \delta_{r,\mathrm{dens}} \delta_{\omega 0} G_{ab}^{\nu} G_{cd}^{\nu'})\). The disconnected term is subtracted only in the density (ph) channel at \(\omega = 0\).
- Parameters:
g2 (LocalFourPoint) – Two-particle (DMFT) Green’s function \(G^{(2)}_{r}\) as a
LocalFourPoint.g_dmft (GreensFunction) – The local (DMFT)
GreensFunction.
- Returns:
The generalized susceptibility \(\chi_{r}\) as a
LocalFourPoint(half niw range).- Return type:
- dgamore.local_sde.create_generalized_chi_with_shell_correction(gchi_aux_sum: LocalFourPoint, gchi0: LocalFourPoint, u_loc: LocalInteraction) LocalFourPoint[source]#
Calculates the generalized susceptibility with the shell correction as described by Motoharu Kitatani et al. 2022 J. Phys. Mater. 5 034005; DOI 10.1088/2515-7639/ac7e6d. Eq. A.15. This is also described in my master’s thesis, Sec. 3.7.2.
- Parameters:
gchi_aux_sum (LocalFourPoint) – The frequency-summed auxiliary susceptibility \(\sum_{\nu\nu'} \chi^{*}_{r}\).
gchi0 (LocalFourPoint) – The bare bubble \(\chi_0\) over the full frequency box.
u_loc (LocalInteraction) – The bare local interaction \(U\).
- Returns:
The shell-corrected physical susceptibility \(\chi_{r}^{\omega}\) as a
LocalFourPoint.- Return type:
- dgamore.local_sde.create_vertex_functions(g2_r: LocalFourPoint, gchi0: LocalFourPoint, gchi0_inv_core: LocalFourPoint, g_dmft: GreensFunction, u_loc: LocalInteraction) tuple[LocalFourPoint, LocalFourPoint, LocalFourPoint, LocalFourPoint, LocalFourPoint][source]#
Builds the full local vertex hierarchy for a single spin channel: the irreducible vertex \(\Gamma_{r}\) (with shell correction), the frequency-summed (shell-corrected) physical susceptibility, the three-leg vertex \(\gamma_{r}\), the full vertex \(F_{r}\), and the generalized susceptibility \(\chi_{r}\). Employs explicit asymptotics as proposed by Motoharu Kitatani et al. 2022 J. Phys. Mater. 5 034005; DOI 10.1088/2515-7639/ac7e6d for the local irreducible vertex.
- Parameters:
g2_r (LocalFourPoint) – The two-particle (DMFT) Green’s function \(G^{(2)}_{r}\) for this channel.
gchi0 (LocalFourPoint) – The bare bubble \(\chi_0\) over the full frequency box.
gchi0_inv_core (LocalFourPoint) – The inverse bare bubble \(\chi_0^{-1}\) over the core box (diagonal in \(\nu\)).
g_dmft (GreensFunction) – The local (DMFT)
GreensFunction.u_loc (LocalInteraction) – The bare local interaction \(U\).
- Returns:
The tuple
(gamma_r, gchi_r_sum, vrg_r, f_r, gchi_r)of local vertex functions.- Return type:
tuple[LocalFourPoint, LocalFourPoint, LocalFourPoint, LocalFourPoint, LocalFourPoint]
- dgamore.local_sde.create_vrg(gchi_aux: LocalFourPoint, gchi0_inv: LocalFourPoint) LocalFourPoint[source]#
Returns the three-leg vertex, see Eq. (3.63) in my master’s thesis, \(\gamma_{r;abcd}^{\omega\nu} = \beta (\chi^{\omega\nu\nu}_{0;ablm})^{-1} (\sum_{\nu'} \chi^{*;\omega\nu\nu'}_{r;mlcd})\).
- Parameters:
gchi_aux (LocalFourPoint) – The auxiliary susceptibility \(\chi^{*}_{r}\).
gchi0_inv (LocalFourPoint) – The inverse bare bubble \(\chi_0^{-1}\) (core box).
- Returns:
The three-leg vertex \(\gamma_{r}\) (
vrg) as aLocalFourPoint.- Return type:
- dgamore.local_sde.get_loc_self_energy_gamma_abinitio_dga(gamma_dens: LocalFourPoint, u_loc: LocalInteraction, g_loc: GreensFunction) SelfEnergy[source]#
DEVELOPMENT / TESTING ONLY. Returns the local self-energy with the density three-leg \(\gamma\) from ab-initio DGA (density channel only, by design),
\[\Sigma_{ij}^{\nu} = -\frac{1}{\beta} \sum_\omega U_{iabc}\, \gamma_{cbdj}^{\omega\nu}\, G_{ad}^{\omega-\nu}.\]- Parameters:
gamma_dens (LocalFourPoint) – The density three-leg vertex \(\gamma_{\mathrm{dens}}\) (ab-initio convention).
u_loc (LocalInteraction) – The bare local interaction \(U\).
g_loc (GreensFunction) – The local
GreensFunction.
- Returns:
The local
SelfEnergy(including the Hartree term).- Return type:
- dgamore.local_sde.get_loc_self_energy_vrg(vrg_dens: LocalFourPoint, vrg_magn: LocalFourPoint, gchi_dens_sum: LocalFourPoint, gchi_magn_sum: LocalFourPoint, g_dmft: GreensFunction, u_loc: LocalInteraction) SelfEnergy[source]#
Performs the local self-energy calculation using the Schwinger-Dyson equation, i.e. the local variant of Eq. (3.64) in my master’s thesis. This is done to verify the implementation of the Schwinger-Dyson equation with the three-leg vertex and the local susceptibility against the DMFT self-energy. Note that there will never be a perfect match due to the sampling method of w2dynamics and the stochastic nature of the CTQMC solver. Nevertheless, the results should be very close. For more details, see also Paul Worm’s PhD thesis, Eq. (3.70) and Anna Galler’s PhD Thesis, P. 76 ff.
- Parameters:
vrg_dens (LocalFourPoint) – The density three-leg vertex \(\gamma_{\mathrm{dens}}\).
vrg_magn (LocalFourPoint) – The magnetic three-leg vertex \(\gamma_{\mathrm{magn}}\).
gchi_dens_sum (LocalFourPoint) – The frequency-summed density susceptibility \(\chi_{\mathrm{dens}}^{\omega}\).
gchi_magn_sum (LocalFourPoint) – The frequency-summed magnetic susceptibility \(\chi_{\mathrm{magn}}^{\omega}\).
g_dmft (GreensFunction) – The local (DMFT)
GreensFunction.u_loc (LocalInteraction) – The bare local interaction \(U\).
- Returns:
The local
SelfEnergy(including the Hartree-Fock term).- Return type:
- dgamore.local_sde.get_local_hartree_fock(u_loc: LocalInteraction, occ: ndarray) ndarray[source]#
Returns the local Hartree-Fock (static, frequency-independent) self-energy \(\Sigma^{HF}_{ab}\) from the bare interaction and the local occupation, i.e. the density-channel interaction contracted with the occupation, see Eq. (3.55) in my master’s thesis.
The interaction tensor is stored with the inter-orbital density \(U'\) at \(U_{abab}\) (the convention of
Hamiltonian.kanamori_interaction_dp()and the w2dynamicsumatrixfiles), whereas the density-channel projection contracted as"abcd,dc->ab"picks up \(U_{aabb}\). The middle two orbital indices are therefore swapped ("abcd->acbd") before the projection, so that the Hartree term uses \(U'\) while the Fock term still uses \(U_{adcb}\). This only affects multi-orbital systems with off-diagonal interactions; single-orbital and purely orbital-diagonal interactions are unchanged.- Parameters:
u_loc (LocalInteraction) – The bare local interaction \(U\).
occ (ndarray) – The local occupation matrix \(n_{ab}\), shape
[n_bands, n_bands].
- Returns:
The Hartree-Fock self-energy, shape
[n_bands, n_bands].- Return type:
- dgamore.local_sde.perform_local_schwinger_dyson(g_dmft: GreensFunction, g2_dens: LocalFourPoint, g2_magn: LocalFourPoint, u_loc: LocalInteraction)[source]#
Performs the local Schwinger-Dyson equation calculation for the local self-energy for sanity checks against the DMFT self-energy. Includes the calculation of the local three-leg and full vertices, (auxiliary/bare/physical) susceptibilities and the irreducible vertices for both the density and magnetic channel. Employs explicit asymptotics as proposed by Motoharu Kitatani et al. 2022 J. Phys. Mater. 5 034005; DOI 10.1088/2515-7639/ac7e6d.
- Parameters:
g_dmft (GreensFunction) – The local (DMFT)
GreensFunction.g2_dens (LocalFourPoint) – The two-particle (DMFT) Green’s function in the density channel.
g2_magn (LocalFourPoint) – The two-particle (DMFT) Green’s function in the magnetic channel.
u_loc (LocalInteraction) – The bare local interaction \(U\).
- Returns:
The tuple
(gamma_d, gamma_m, gchi_d_sum, gchi_m_sum, vrg_d, vrg_m, f_d, f_m, gchi_d, gchi_m, sigma_loc)of local vertex functions and the local self-energy.
- dgamore.local_sde.perform_local_schwinger_dyson_abinitio_dga(g_loc: GreensFunction, g2_dens: LocalFourPoint, g2_magn: LocalFourPoint, u_loc: LocalInteraction)[source]#
DEVELOPMENT / TESTING ONLY – this is the ab-initio DGA cross-check, NOT the production routine (
perform_local_schwinger_dyson()). Performs the local Schwinger-Dyson equation for the local (DMFT) self-energy as an internal sanity check, building the local self-energy from the full vertices.- Parameters:
g_loc (GreensFunction) – The local
GreensFunction.g2_dens (LocalFourPoint) – The two-particle (DMFT) Green’s function in the density channel.
g2_magn (LocalFourPoint) – The two-particle (DMFT) Green’s function in the magnetic channel.
u_loc (LocalInteraction) – The bare local interaction \(U\).
- Returns:
The tuple
(gchi_dens_loc, gchi_magn_loc, gchi0_loc_full, one_plus_gamma_dens_loc, one_plus_gamma_magn_loc, f_dens_loc, f_magn_loc, sigma_loc).