class kwant.physics.Bands(sys, args=(), *, params=None)[source]

Bases: object

Class of callable objects for the computation of energy bands.


sys : kwant.system.InfiniteSystem

The low level infinite system for which the energies are to be calculated.

args : tuple, defaults to empty

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

params : dict, optional

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


An instance of this class can be called like a function. Given a momentum (currently this must be a scalar as all infinite systems are quasi-1-d), it returns a NumPy array containing the eigenenergies of all modes at this momentum. If derivative_order > 0 or return_eigenvectors = True, additional arrays are returned.


>>> bands = kwant.physics.Bands(some_syst)
>>> momenta = numpy.linspace(-numpy.pi, numpy.pi, 101)
>>> energies = [bands(k) for k in momenta]
>>> pyplot.plot(momenta, energies)


Previous topic

3.7. kwant.physics – Physics-related algorithms

Next topic


This Page