Skip to main content

A high-performance Python library for the generation and visualization of hyperbolic tilings

Project description

project icon

PyPI Discord Website

PyPI - Downloads DOI

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.

Installation

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 .

Usage

In 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:
Institute for Theoretical Physics and Astrophysics
University of Wuerzburg

Examples

Simulation 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.

License

Every part of hypertiling is available under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypertiling-1.2.tar.gz (55.9 kB view details)

Uploaded Source

File details

Details for the file hypertiling-1.2.tar.gz.

File metadata

  • Download URL: hypertiling-1.2.tar.gz
  • Upload date:
  • Size: 55.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for hypertiling-1.2.tar.gz
Algorithm Hash digest
SHA256 0dee9fa8944794fffc5f131785cde1398b6939f346e347072e34fac836b1e5b7
MD5 82ea1f9a1a8a80de64bb0d8df2708834
BLAKE2b-256 1024e5e7d8b244edbb56653a8b8bb6a15dc6cdf725380b4d5a0cf9abd9c9dc01

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page