• full name: tenpy.algorithms.exact_diag

  • parent module: tenpy.algorithms

  • type: module


ExactDiag(model[, charge_sector, sparse])

(Full) exact diagonalization of the Hamiltonian.

Module description

Full diagonalization (ED) of the Hamiltonian.

The full diagonalization of a small system is a simple approach to test other algorithms. In case you need the full spectrum, a full diagonalization is often the only way. This module provides functionality to quickly diagonalize the Hamiltonian of a given model. This might be used to obtain the spectrum, the ground state or highly excited states.


Good use of symmetries is crucial to increase the treatable system size. While we can simply use the defined LegCharge of a model, we don’t make use of any other symmetries like translation symmetry, SU(2) symmetry or inversion symmetries. In other words, this code does not aim to provide state-of-the-art exact diagonalization, but just the ability to diagonalize the defined models for small system sizes without addional extra work.