triqs.experimental.lattice.lattice.TbHk

class triqs.experimental.lattice.lattice.TbHk

Bases: object

Tight-binding Hamiltonian \(H(\mathbf{k})\) on a 3D lattice.

A tight-binding Hamiltonian is defined by a set of lattice vectors \(\mathbf{R}\) and the associated hopping (overlap) matrices \(t(\mathbf{R})\) between orbitals. It represents

\[H(\mathbf{k}) = \sum_\mathbf{R} t(\mathbf{R}) \, e^{2 \pi i \, \mathbf{k} \cdot \mathbf{R}} \; ,\]

and provides access to the hopping matrices, band energies and eigenvectors at a list of k-points, comparison, stream output and HDF5 serialization.


Dispatched C++ constructor(s).

[1] (Rs: [[int, len = 3]], hoppings: [ndarray[complex, 2]])

[2] ()

[1] Construct a tight-binding Hamiltonian from lattice vectors and their hopping matrices.


[2] Default constructor: a single zero hopping matrix for the lattice vector at the origin.


Parameters:
Rs[[int, len = 3]]

List of lattice vectors \(\mathbf{R}\).

hoppings[ndarray[complex, 2]]

List of hopping (overlap) matrices \(t(\mathbf{R})\), one per lattice vector.

Attributes

elements

Get a lazy range over the (R-vector, hopping-matrix) pairs (const overload).

get_R_list

Get the list of real-space lattice vectors.

hoppings

Get a lazy range over the hopping matrices, one per R-vector (const overload).

n_R

Get the number of R-vectors.

n_orbitals

Get the number of orbitals, i.e. the dimension of the Hamiltonian matrices.

Methods

__call__(*args, **kwargs)

Call self as a function.

eigenvalues

Compute the band-basis energies of \(H(\mathbf{k})\) for a list of k-points.

eigenvectors

Compute the band-basis energies and eigenvectors of \(H(\mathbf{k})\) for a list of k-points.

get_R_idx

Get the storage index of a given R-vector.