triqs.sumk.sumk_discrete_from_lattice.SumkDiscreteFromLattice.__call__
- SumkDiscreteFromLattice.__call__(Sigma, mu=0, field=None, epsilon_hat=None, result=None, selected_blocks=())
Compute the momentum-summed local Green’s function.
Evaluates
\[G(i\omega_n) = \sum_k w_k \bigl[ (i\omega_n + \mu)\,\mathbf{1} - \mathrm{field} - \hat\epsilon(\epsilon_k) - \Sigma(k, i\omega_n) \bigr]^{-1}\]over the stored grid
(bz_points, bz_weights, hopping), in parallel across MPI ranks.- Parameters:
- Sigmatriqs.gfs.BlockGf or callable
Either a Green’s function block, or a callable returning one. When callable, it must accept one argument
k(1Dnumpy.ndarrayof shape(dim,)with components in \((-1/2, 1/2)\)) or two arguments(k, eps_k)(witheps_kthe(n_orb, n_orb)hopping matrix at that k). Each block of the result must have the same target shape ashopping(or asepsilon_hat(hopping[k])whenepsilon_hatis given).- mufloat, optional
Chemical potential. Default 0.
- fieldoptional
Any k-independent object subtracted from the inverse propagator (e.g. a matrix-shaped array or a Green’s function block). Default
None.- epsilon_hatcallable, optional
Function mapping
hopping[k]to a matrix with the same target shape as each block ofSigma. DefaultNone(usehopping[k]directly).- resulttriqs.gfs.BlockGf, optional
Pre-allocated output. If given, the calculation writes into it and returns the same object, enabling chained calls such as
SK(mu=mu, Sigma=Sigma, result=G).total_density(). IfNone(default), a fresh copy of the model is returned.- selected_blockstuple, optional
Reserved for future use; currently must be
().
- Returns:
- triqs.gfs.BlockGf
The local Green’s function on the same
triqs.gfs.MeshImFreqas the model (or asresultwhen supplied).
Notes
The mesh of every block in the result must be a
triqs.gfs.MeshImFreq. The orbital basis must be orthogonal (self.orthogonal_basis == True). The same \(t(k)\) is used for every block, and the partial sums from each MPI rank are combined withtriqs.utility.mpi.all_reduce()followed by a barrier.