triqs.lattice.super_lattice.TBSuperLattice.fourier
- TBSuperLattice.fourier(arg)
Dispatched C++ function(s).
[1] (k: ndarray[float, 1]) -> ndarray[complex, 2] [2] (k: ndarray[float, 2]) -> ndarray[complex, 3] [3] (k_mesh: MeshBrZone) -> Gf[MeshBrZone, 2] [4] (n_l: int) -> Gf[MeshBrZone, 2]
[1, 2] Compute the Fourier transform for a given momentum vector (or array of momentum vectors).
The Bloch Hamiltonian is given by
\[h_{\mathbf{k}} = \sum_j t_{\mathbf{R}_j} \, e^{2 \pi i \, \mathbf{k} \cdot \mathbf{R}_j} \; ,\]with lattice displacements \(\{ \mathbf{R}_j \}\) and associated overlap (hopping) matrices \(\{ t_{\mathbf{R}_j} \}\). The momentum \(\mathbf{k}\) is expressed in units of the reciprocal lattice basis vectors.
[3] Compute the Fourier transform on a given Brillouin zone mesh.
[4] Compute the Fourier transform on a regular Brillouin zone mesh with n_l points per dimension.
- Parameters:
- kndarray[float, 1], ndarray[float, 2]
Momentum vector (or an array of momentum vectors) in units of the reciprocal lattice basis vectors.
- k_meshMeshBrZone
Brillouin zone mesh on which to evaluate the Bloch Hamiltonian.
- n_lint
Number of grid-points along each reciprocal direction.
- Returns:
- [1]ndarray[complex, 2]
Complex matrix \(h_{\mathbf{k}}\) (or an array of such matrices, one per input momentum).
- [2]ndarray[complex, 3]
Complex matrix \(h_{\mathbf{k}}\) (or an array of such matrices, one per input momentum).
- [3]Gf[MeshBrZone, 2]
Matrix-valued Green’s function defined on k_mesh, with its data initialised with the Fourier transform \(h_{\mathbf{k}}\) at every mesh point.
- [4]Gf[MeshBrZone, 2]
Matrix-valued Green’s function defined on the regular Brillouin zone mesh, with its data initialised with the Fourier transform \(h_{\mathbf{k}}\) at every mesh point.