hypertiling is a high-performance Python 3 library for the generation of regular hyperbolic tilings embedded in the Poincaré disk model. Using efficient algorithms and the CPU/SIMD optimization provided by numpy, hyperbolic tilings with hundreds of millions of vertices can be created in a matter of minutes on a single computer. Facilities including optimized search algorithms for adjacent vertices and powerful plotting and animation capabilities are provided to support scientific and other advanced uses of the graphs.

Find us on


hypertiling is available in the PyPI package index and can be installed using

$ pip install hypertiling

The package can also be locally installed from our public git repository via

$ git clone https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling
$ pip install .


In order to use the package, in Python do the following import

from hypertiling import HyperbolicTiling

Set parameters, initialize and generate the tiling

p = 7
q = 3
nlayers = 5

T = HyperbolicTiling(p,q,nlayers) 

Further examples are available in our documentation and Jupyter demo notebooks.


This project is developed at:
Institute for Theoretical Physics and Astrophysics
University of Wuerzburg


In this animation we simulate a classical scalar field Hamiltonian on two different lattice structures. The setting can be interpreted as a simple model for magnetic behaviour in a solid crystal structure. In particular, couplings between adjacent cells (“spins”) are adjusted in a way which energetically favors anti-parallel local alignment. Both systems are initiated in a random “hot” configuration of positive (red) and negative (green) field values, which - in the magnetic picture - can be interpreted as uniaxial spins pointing upwards or downwards, respectively. The animation demonstrates the effect of a Metropolis algorithm being repeatedly applied - until the system reaches thermal equilibrium.



Every part of hypertiling is available under the MIT license.