triqs.lattice.lattice_tools.BrillouinZone

class triqs.lattice.lattice_tools.BrillouinZone

Bases: object

A Brillouin zone class.

A Brillouin zone is the primitive unit cell in reciprocal space. It is defined by the set of reciprocal lattice basis vectors \(\{ \mathbf{b}_1, \dots, \mathbf{b}_d \}\), which satisfy

\[\mathbf{b}_i \cdot \mathbf{a}_j = 2 \pi \delta_{ij} \; ,\]

where \(\{ \mathbf{a}_1, \dots, \mathbf{a}_d \}\) are the basis vectors of the Bravais lattice in real space.

In matrix notation, we can write this as a system of linear equations \(A^T B = 2 \pi I\), where \(A = \big( \mathbf{a}_1 \cdots \mathbf{a}_d \big)\) and \(B = \big( \mathbf{b}_1 \cdots \mathbf{b}_d \big)\) are the matrices containing the basis vectors as their columns and \(I\) is the identity matrix.


Dispatched C++ constructor(s).

[1] ()

[2] (bl: BravaisLattice)

[1] Construct a Brillouin zone for a simple cubic lattice with lattice constant \(a = 1\).

The reciprocal basis vectors defining the BZ are given by \(B = 2 \pi I\), where \(I\) is the \(3 \times 3\) identity matrix.


[2] Construct a Brillouin zone for a given Bravais lattice.

The reciprocal basis vectors defining the BZ are given by \(B = 2 \pi \left( A^T \right)^{-1}\), where \(A\) is the matrix containing the basis vectors of the given Bravais lattice as its columns.


Parameters:
blBravaisLattice

Bravais lattice.

Attributes

lattice

Get the underlying Bravais lattice.

ndim

Get the number of dimensions of the underlying Bravais lattice.

reciprocal_matrix

Get the matrix \(B^T\) containing the reciprocal basis vectors as its rows.

reciprocal_matrix_inv

Get the inverse matrix \(\left( B^T \right)^{-1}\).

units

Get the matrix \(B^T\) containing the reciprocal basis vectors as its rows.

Methods

lattice_to_real_coordinates

Transform a vector \(\mathbf{v}\) from the reciprocal lattice basis :math:`{ mathbf{b}_1, dots,