kwant.solvers.default.greens_function(sys, energy=0, args=(), out_leads=None, in_leads=None, check_hermiticity=True, *, params=None)[source]#

Compute the retarded Green’s function of the system between its leads.

An alias exists for this common name: kwant.greens_function.

  • sys (kwant.system.FiniteSystem) – Low level system, containing the leads and the Hamiltonian of a scattering region.

  • energy (number) – Excitation energy at which to solve the scattering problem.

  • args (tuple, defaults to empty) – Positional arguments to pass to the hamiltonian method. Deprecated in favor of ‘params’ (and mutually exclusive with it).

  • out_leads (sequence of integers or None) – Numbers of leads where current or wave function is extracted. None is interpreted as all leads. Default is None and means “all leads”.

  • in_leads (sequence of integers or None) – Numbers of leads in which current or wave function is injected. None is interpreted as all leads. Default is None and means “all leads”.

  • check_hermiticity (bool) – Check if the Hamiltonian matrices are Hermitian. Enables deduction of missing transmission coefficients.

  • params (dict, optional) – Dictionary of parameter names and their values. Mutually exclusive with ‘args’.


output – See the notes below and GreensFunction documentation.

Return type:



This function can be used to calculate the conductance and other transport properties of a system. It is often slower and less stable than the scattering matrix-based calculation executed by smatrix, and is currently provided mostly for testing purposes and compatibility with RGF code.

It returns an object encapsulating the Green’s function elements between the system sites interfacing the leads in in_leads and those interfacing the leads in out_leads. The returned object also contains a list with self-energies of the leads.

Both in_leads and out_leads must be sorted and may only contain unique entries.