class kwant.physics.DiscreteSymmetry(projectors=None, time_reversal=None, particle_hole=None, chiral=None)[source]

Bases: object

A collection of discrete symmetries and conservation laws.


projectors : iterable of rectangular or square sparse matrices

Projectors that block-diagonalize the Hamiltonian.

time_reversal : square sparse matrix

The unitary part of the time-reversal symmetry operator.

particle_hole : square sparse matrix

The unitary part of the particle-hole symmetry operator.

chiral : square sparse matrix

The chiral symmetry operator.


Whenever one or more discrete symmetry is declared in conjunction with a conservation law, the symmetry operators and projectors must be declared in canonical form. This means that each block of the Hamiltonian is transformed either to itself by a discrete symmetry or to a single other block.

More formally, consider a discrete symmetry S. The symmetry projection that maps from block i to block j of the Hamiltonian with projectors \(P_i\) and \(P_j\) is \(S_{ji} = P_j^+ S P_i\). If \(S_{ji}\) is nonzero, a symmetry relation exists between blocks i and j. Canonical form means that for each j, the block \(S_{ji}\) is nonzero at most for one i, while all other blocks vanish.

If the operators are not in canonical form, they can be made so by further splitting the Hamiltonian into smaller blocks, i.e. by adding more projectors.



Check if a matrix satisfies the discrete symmetries.


matrix : sparse or dense matrix

If rectangular, it is padded by zeros to be square.


broken_symmetries : list

List of strings, the names of symmetries broken by the matrix: any combination of “Conservation law”, “Time reversal”, “Particle-hole”, “Chiral”. If no symmetries are broken, returns an empty list.

Previous topic


Next topic


This Page