triqs.lattice.lattice_tools.TightBinding
- class triqs.lattice.lattice_tools.TightBinding
Bases:
objectTight-binding Hamiltonian on a Bravais lattice with fully localised orbitals.
The Hamiltonian is parametrised by a set of lattice displacements \(\{ \mathbf{R}_j \}\) (given in units of the lattice basis vectors) and the associated overlap (hopping) matrices \(\{ t_{\mathbf{R}_j} \}\) between orbitals in the unit cell. The Bloch Hamiltonian in reciprocal space is obtained by the discrete Fourier transform
\[h_{\mathbf{k}} = \sum_j t_{\mathbf{R}_j} \, e^{2 \pi i \, \mathbf{k} \cdot \mathbf{R}_j} \; ,\]where the momentum \(\mathbf{k}\) is expressed in units of the reciprocal lattice basis vectors.
The orbital overlap within a unit cell (the on-site block at \(\mathbf{R} = 0\)) is the identity matrix unless explicitly overridden by the user-provided hoppings.
Dispatched C++ constructor(s).
[1] (bl: BravaisLattice, displ_vec: [ndarray[int, 1]], overlap_mat_vec: [ndarray[complex, 2]]) [2] (bl: BravaisLattice, hoppings: dict[tuple[int,...], ndarray])
[1] Construct a tight-binding Hamiltonian on a given Bravais lattice from explicit displacement and overlap lists.
The matrix structure of each overlap matrix is with respect to the orbitals in the unit cell. The displacement and overlap lists must have the same length, and every overlap matrix must be square with size equal to the number of orbitals in the unit cell.
[2] Construct a tight-binding Hamiltonian on a given Bravais lattice from a hopping dictionary.
- Parameters:
- blBravaisLattice
Underlying Bravais lattice.
- displ_vec[ndarray[int, 1]]
List of displacement vectors, in units of the lattice basis vectors.
- overlap_mat_vec[ndarray[complex, 2]]
List of overlap (hopping) matrices, one per displacement.
- hoppingsdict[tuple[int,…], ndarray]
Hopping dictionary mapping displacement vectors to their overlap matrices.
Attributes
Get the list of displacement vectors, in units of the lattice basis vectors.
Get the underlying Bravais lattice.
Number of orbitals (also the size of the Bloch Hamiltonian matrix \(h_{\mathbf{k}}\)).
Get the list of overlap (hopping) matrices, aligned with the displacement vectors.
Methods
Compute the dispersion, i.e. the eigenvalue spectrum of \(h_{\mathbf{k}}\), for a given momentum vector.
Compute the Fourier transform for a given momentum vector (or array of momentum vectors).
Construct a tight-binding Hamiltonian by reading it from HDF5.
Transform a vector from the lattice basis to the standard basis.