PAOFLOW.transport.hamiltonian.gzero_maker#

Functions#

compute_non_interacting_gf(blc_00C[, smearing_type, ...])

Compute the non-interacting Green's function or its inverse using smearing.

Module Contents#

PAOFLOW.transport.hamiltonian.gzero_maker.compute_non_interacting_gf(blc_00C, smearing_type='lorentzian', delta=1e-05, delta_ratio=0.005, g_smear=None, xgrid=None, calc='inverse')[source]#

Compute the non-interacting Green’s function or its inverse using smearing.

Parameters:
  • energy (float) – Real energy value at which to evaluate the Green’s function.

  • smearing_type (str) – Smearing method: ‘lorentzian’, ‘none’, or ‘numerical’.

  • delta (float) – Smearing parameter for imaginary broadening.

  • delta_ratio (float) – Used for ‘none’ smearing: delta_eff = delta * delta_ratio.

  • g_smear (np.ndarray, optional) – Precomputed smeared Green’s function values on xgrid (for numerical smearing).

  • xgrid (np.ndarray, optional) – Energy grid corresponding to g_smear.

  • calc ({'direct', 'inverse'}) – Whether to return G or G⁻¹.

Returns:

`gzero` – The resulting Green’s function or its inverse.

Return type:

np.ndarray

Notes

The function evaluates one of the following:

  • For ‘lorentzian’:

    G = [ (E + i·δ)·S - H ]⁻¹

  • For ‘none’:

    G = [ (E + i·δ·δ_ratio)·S - H ]⁻¹

  • For ‘numerical’:

    Diagonalize A = E·S - H, interpolate on xgrid, and reconstruct G.

Smearing ensures convergence and causality in retarded Green’s functions.