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

Compute the scattering matrix of a system.

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


Low level system, containing the leads and the Hamiltonian of a scattering region.


Excitation energy at which to solve the scattering problem.

argstuple, defaults to empty

Positional arguments to pass to the hamiltonian method. Deprecated in favor of ‘params’ (and mutually exclusive with it).

out_leadssequence 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_leadssequence 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 if the Hamiltonian matrices are Hermitian. Enables deduction of missing transmission coefficients.

paramsdict, optional

Dictionary of parameter names and their values. Mutually exclusive with ‘args’.


See the notes below and SMatrix documentation.


This function can be used to calculate the conductance and other transport properties of a system. See the documentation for its output type, SMatrix.

The returned object contains the scattering matrix elements from the in_leads to the out_leads as well as information about the lead modes.

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

Previous topic

3.5. kwant.solvers – Library of solvers

Next topic


This Page