kwant.physics.modes(h_cell, h_hop, tol=1000000.0, stabilization=None)

Compute the eigendecomposition of a translation operator of a lead.


h_cell : numpy array, real or complex, shape (N,N) The unit cell

Hamiltonian of the lead unit cell.

h_hop : numpy array, real or complex, shape (N,M)

The hopping matrix from a lead cell to the one on which self-energy has to be calculated (and any other hopping in the same direction).

tol : float

Numbers and differences are considered zero when they are smaller than tol times the machine precision.

stabilization : list of 2 booleans or None

Which steps of the eigenvalue prolem stabilization to perform. If the value is None, then Kwant chooses the fastest (and least stable) algorithm that is expected to be sufficient. For any other value, Kwant forms the eigenvalue problem in the basis of the hopping singular values. The first element set to True forces Kwant to add an anti-Hermitian term to the cell Hamiltonian before inverting. If it is set to False, the extra term will only be added if the cell Hamiltonian isn’t invertible. The second element set to True forces Kwant to solve a generalized eigenvalue problem, and not to reduce it to the regular one. If it is False, reduction to a regular problem is performed if possible. Selecting the stabilization manually is mostly necessary for testing purposes.


propagating : PropagatingModes

Contains the array of the wave functions of propagating modes, their momenta, and their velocities. It can be used to identify the gauge in which the scattering problem is solved.

stabilized : StabilizedModes

A basis of propagating and evanescent modes used by the solvers.


The propagating modes are sorted according to the longitudinal component of their k-vector, with incoming modes having k sorted in descending order, and outgoing modes having k sorted in ascending order. In simple cases where bands do not cross, this ordering corresponds to “lowest modes first”. In general, however, it is necessary to examine the band structure – something this function is not doing by design.

Propagating modes with the same momentum are orthogonalized. All the propagating modes are normalized by current.

This function uses the most stable and efficient algorithm for calculating the mode decomposition that the Kwant authors are aware about. Its details are to be published.

Previous topic


Next topic


This Page