kwant.physics.modes(h_cell, h_hop, tol=1000000.0, stabilization=None, *, discrete_symmetry=None, projectors=None, time_reversal=None, particle_hole=None, chiral=None)[source]

Compute the eigendecomposition of a translation operator of a lead.

h_cellnumpy array, real or complex, shape (N,N) The unit cell

Hamiltonian of the lead unit cell.

h_hopnumpy 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).


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

stabilizationsequence 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.

particle_holesparse or dense square matrix

The unitary part of the particle-hole symmetry operator.

time_reversalsparse or dense square matrix

The unitary part of the time-reversal symmetry operator.

chiralsparse or dense square matrix

The chiral symmetry operator.

projectorsan iterable of sparse or dense matrices

Projectors that block diagonalize the Hamiltonian in accordance with a conservation law.


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.


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


The sorting of the propagating modes is fully described in the documentation for PropagatingModes. 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.

projectors, time_reversal, particle_hole, and chiral affect the basis in which the scattering modes are expressed - see DiscreteSymmetry for details.

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