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_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 : sequence 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_hole : sparse or dense square matrix

The unitary part of the particle-hole symmetry operator.

time_reversal : sparse or dense square matrix

The unitary part of the time-reversal symmetry operator.

chiral : sparse or dense square matrix

The chiral symmetry operator.

projectors : an iterable of sparse or dense matrices

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


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

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