|
|
|
hypertiling is a high-performance Python library for the generation and visualization of regular hyperbolic lattices embedded in the Poincare disk model. Using highly optimized, efficient algorithms, hyperbolic tilings with millions of vertices can be created in a matter of minutes on a single workstation computer. Facilities including computation of adjacent vertices, dynamic lattice manipulation, refinements, as well as powerful plotting and animation capabilities are provided to support advanced uses of hyperbolic graphs. Installationhypertiling is available in the PyPI package index and can be installed using
For optimal performance, we highly recommand to use hypertiling together with
The package can also be locally installed from our public git repository via
Quick StartIn 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)
DocumentationFurther usage examples and a full API reference are available in our documentation. Authors
This project is developed at: CitationIf you use hypertiling, we encourage you to cite or reference this work as you would any other scientific research. The package is a result of a huge amount of time and effort invested by the authors. Citing us allows us to measure the impact of the research and encourages others to use the library. Codebase:
Release publication:
Further publications:
ExamplesTilingsThe core functionality of the package is the generation of regular hyperbolic tilings projected onto the Poincare disk. Tilings in the upper row are centered about a cell, in the lower row about a vertex.
RefinementsThe hypertiling package allows to perform triangle refinements, such as shown here
ApplicationsHyperbolic MagnetSimulation of a Ising-like Boltzmann spin model with anti-ferromagnetic interactions on a hyperbolic (7,3) tiling, quenched at low temperature. The hyperbolic antiferromagnet (left) exhibits geometrical frustration, whereas on a flat lattice (right) an ordered anti-parallel alignment can be observed.
Helmholtz EquationSolution of an electrostatic Helmholtz problem on a refined (3,7) tiling, where boundary values have been fixed to either -1 (red) or +1 (blue). One readily recognizes a field value separation according to geodesic arcs 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. |
Metadata
Release files for hypertiling 1.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hypertiling-1.5.1.tar.gz | 97.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hypertiling-1.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 215.9 kB
Release files / hypertiling-1.5.1.tar.gz
| Download URL | hypertiling-1.5.1.tar.gz |
|---|---|
| Size | 97.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e79dd931f9030f153333bbf2930e99478cf75b2c4b1fad7bf2e558aed96b57c2
|
|
BLAKE2b-256 checksum How to use checksums |
7ea56a16a738d98f6481315d123ceaa0da7c91263958ce2a5a8c491d9369c04c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / hypertiling-1.5.1-py3-none-any.whl
| Download URL | hypertiling-1.5.1-py3-none-any.whl |
|---|---|
| Size | 118.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
98579777081bb876347c7ec6ef075cb49ae78353007fdfd31dfb9e225043e33b
|
|
BLAKE2b-256 checksum How to use checksums |
7b537f2d1220fce2bd1b9cae1de6e21cbf784bb58864aa949df38980ebc40c13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|