triqs_modest.local_gf.gloc

triqs_modest.local_gf.gloc()

Dispatched C++ function(s).

[1] (obe: OneBodyElementsOnGrid,
     mu: float,
     Sigma_dynamic: Block2Gf[MeshImFreq, 2],
     Sigma_static: ndarray[ndarray[complex, 2], 2])
  -> Block2Gf[MeshImFreq, 2]

[2] (obe: OneBodyElementsOnGrid,
     mu: float,
     Sigma_dynamic: Block2Gf[MeshDLRImFreq, 2],
     Sigma_static: ndarray[ndarray[complex, 2], 2])
  -> Block2Gf[MeshDLRImFreq, 2]

[3] (mesh: MeshImFreq, obe: OneBodyElementsOnGrid, mu: float)
  -> Block2Gf[MeshImFreq, 2]

[4] (mesh: MeshDLRImFreq, obe: OneBodyElementsOnGrid, mu: float)
  -> Block2Gf[MeshDLRImFreq, 2]

[5] (obe: OneBodyElementsTb,
     mu: float,
     Sigma_dynamic: Block2Gf[MeshImFreq, 2],
     Sigma_static: ndarray[ndarray[complex, 2], 2],
     opt: BzIntOptions)
  -> Block2Gf[MeshImFreq, 2]

[6] (mesh: MeshImFreq,
     obe: OneBodyElementsTb,
     mu: float,
     opt: BzIntOptions)
  -> Block2Gf[MeshImFreq, 2]

[1, 2] Compute local Green’s function on a \(M \times M\) mesh.

When the one-body dispersion is defined as fixed k-grid, which is the case when working with DFT codes (e.g., VASP, Wien2k, Elk) or performing charge self-consistent calculations with any DFT code, \(H(\mathbf{k})\) is diagonal in the band basis and reduces to \(\varepsilon_{\nu}^{\sigma}(\mathbf{k})\). The local Green’s function becomes:

\[[ G_{\mathrm{loc}}^{\sigma} ]_{m m'} = \sum_{\mathbf{k}} P_{m\nu}^{\sigma}(\mathbf{k}) \Big [ (\omega + \mu - \varepsilon_{\nu}^{\sigma}(\mathbf{k}))\delta_{\nu\nu'} - [P_{m\nu}^{\sigma}]^{\dagger}\Sigma_{\mathrm{embed}} P_{m'\nu'}^{\sigma}(\mathbf{k}) \Big ]^{-1} [P_{m'\nu'}^{\sigma}]^{\dagger}.\]

For performance reasons, we can avoid performing the matrix inverstion in the larger band basis (\(N_{\nu}\)) using the Woodbury formula which allows us to perform the matrix inversion in the smaller orbital basis \(N_{M}\).


[3, 4, 5, 6] Compute the local Green’s function without a self-energy.

See other overloads (gloc) for more details.


Parameters:
obeOneBodyElementsOnGrid

One-body elements on a fixed grid.

mufloat

Chemical potential \(\mu\).

Sigma_dynamicBlock2Gf[MeshImFreq, 2], Block2Gf[MeshDLRImFreq, 2]

The dynamic part of the embedded self-energy in the embedded view, \(\Sigma_{\text{dynamic}}[\alpha, \sigma]\).

Sigma_staticndarray[ndarray[complex, 2], 2]

The static part of the embedded self-energy in the embedded view, \(\Sigma_{\text{static}}[\alpha,\sigma]\).

meshMeshImFreq, MeshDLRImFreq

(DLR) imaginary frequency mesh.

optBzIntOptions

Container for options related to integration of the BZ.

Returns:
[1]Block2Gf[MeshImFreq, 2]

\(G_{\mathrm{loc}}^{\sigma}\), the local Green’s function in the full \(\mathcal{C}\) space.

[2]Block2Gf[MeshDLRImFreq, 2]

\(G_{\mathrm{loc}}^{\sigma}\), the local Green’s function in the full \(\mathcal{C}\) space.

[3, 5, 6]Block2Gf[MeshImFreq, 2]

\(G_{\mathrm{loc}}^{\sigma}\), the local Green’s function.

[4]Block2Gf[MeshDLRImFreq, 2]

\(G_{\mathrm{loc}}^{\sigma}\), the local Green’s function.