A high-performance Python library for the generation and visualization of hyperbolic tilings
Project description
hypertiling is a high-performance Python 3 library for the generation and visualization of hyperbolic lattices, embedded in the Poincare disk model. Using efficient algorithms and the CPU/SIMD optimization provided by numpy, hyperbolic tilings with millions of vertices can be created in a matter of minutes on a single workstation 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. Installationhypertiling is available in the PyPI package index and can be installed using
The package can also be locally installed from our public git repository via
UsageIn Python, import tiling object from the hypertiling library 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. Authors
This project is developed at: ExamplesSimulation of a Ising-like Boltzmann spin model on a hyperbolic (7,3) tiling at low temperature. One readily recognizes a number of magnetic domains of opposite spin orientation (red/blue areas). The domain walls are approximately given by arcs of Euclidean circles contained within the disk and orthogonal to its boundary. These arcs represent straight lines in the Poincare disk representation of the hyperbolic plane.
Further information and examples can be found in our Jupyter notebooks in /examples subfolder. LicenseEvery part of hypertiling is available under the MIT license. |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.