HyperCells and HyperBloch

Authors: P. M. Lenggenhager, J. Maciejko, and T. Bzdušek

Hyperbolic lattices were recently theoretically described by a non-Abelian generalization of the Bloch theorem, but practical approaches for efficient computations have remained missing. Our proposed “supercell method” overcomes the challenges posed by noncommuting translations, and enables significant progress towards an analytical description of hyperbolic lattice models in momentum space. To encourage further investigations in this emerging field, we have implemented the supercell method in a pair of complementary open-source software packages. The first package, HyperCells, is a GAP package for constructing the graphs underlying tight-binding models on infinite and compactified lattices. The second, HyperBloch, is a Mathematica package for constructing the corresponding Bloch Hamiltonian, its eigenstates, and spectrum.

Supercell Method

More specifically, we use computational group theory to create a sequence of progressively larger unit cells, each formed as a symmetric aggregate of smaller unit cells. Subsequently, we apply the previously established Abelian hyperbolic band theory — which ignores the noncommutativity of translations — to those growing supercells and obtain a converging description of the infinite lattice. The method was introduced in Phys. Rev. B 104, 115136 (2021). Practically, we need to perform the following steps:

  1. construct the lattice and model graph on the primitive (unit) cell,
  2. construct the supercell graph relating the model on the primitive cell to the model on the supercell,
  3. set up the tight-binding model in real space on the primitive cell, and
  4. construct the (Abelian) Bloch Hamiltonian.

For an accessible introduction to the topic in general and these steps specifically, see my PhD thesis.

We provide implementations for the above steps in two complementary software packages, HyperCells (steps 1 and 2) and HyperBloch (steps 3 and 4), which are described in the following. If you are interested in using (one of) the packages, you might be interested in the Getting Started guide.

HyperCells

HyperCells is a GAP package that aids in constructing primitive cells and supercells of hyperbolic lattices based on triangle groups and quotients with normal subgroups. For finite systems, this includes the construction of appropriate periodic boundary conditions, while for infinite systems, the corresponding primitive cell and successive supercells are constructed in order to apply the supercell method for hyperbolic band theory. Additionally, the package determines maximally-symmetric Wyckoff positions and simplifies dealing with translation and point group symmetries on the hyperbolic lattice. The package also allows the definition of the graph underlying a specific model, i.e., selecting specific Wyckoff positions, nearest or next-nearest neighbors etc.

The output of the HyperCells package, i.e., the cell and model graphs can be read by any programming language, such that using the HyperBloch package is not strictly necessary. The file format definitions can be found in the documentation.

HyperBloch

HyperBloch is a Mathematica package that provides functions for importing and easily visualizing the clusters, supercells, and model graphs output by the HyperCells package. Additionally, it allows the user to easily define tight-binding models ontop of the model graph, by placing orbitals at vertices and defining hopping matrices on the graph edges. Finally, functions for constructing the Abelian Bloch Hamiltonian for the defined model are provided which allows studying eigenstates and eigenvalues.