triqs.dos.hilbert_transform.HilbertTransform.__call__

HilbertTransform.__call__(Sigma, mu=0, eta=0, field=None, epsilon_hat=None, result=None, n_points_integral=None, test_convergence=None)[source]

Evaluate the Hilbert transform with the given self-energy.

Parameters:
SigmaGf or callable

Either a Green’s function block, or a single-argument callable f(epsilon) returning a Green’s function block.

mufloat, optional

Chemical potential. Default 0.

etafloat, optional

Imaginary broadening \(\eta\). Default 0.

fieldoptional

Anything that can be added to Sigma (e.g. a matrix-shaped ndarray or another Green’s function block). Default None.

epsilon_hatcallable, optional

Function taking a 1D array eps and returning a 3D array eps_hat[i, :, :] whose [:, :] slice matches the target shape of Sigma. Defaults to eps[i] * I. Used only when self.dos is a DOSFromFunction.

resultGf, optional

Pre-allocated output. If given, the result is computed in place. If None (default), a fresh copy of the model is returned.

n_points_integralint, optional

Number of mesh points to use. Defaults to the value passed at DOSFromFunction construction. Only valid when self.dos is a DOSFromFunction.

test_convergencefloat, optional

Refinement tolerance. When set, the mesh is doubled iteratively (up to 10 times) until the result changes by less than this tolerance. Only valid when self.dos is a DOSFromFunction.

Returns:
Gf

The Hilbert transform on the mesh of Sigma. Returned as result when that argument is provided, otherwise a fresh copy.