README.md 3.2 KB
Newer Older
Manuel Schrauth's avatar
Manuel Schrauth committed
1
<table  align="center"><td align="center" width="9999">
Manuel Schrauth's avatar
Manuel Schrauth committed
2

Manuel Schrauth's avatar
Manuel Schrauth committed
3
<img src="https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/logo/logo73.svg" align="center" width="380" alt="project icon">
Manuel Schrauth's avatar
Manuel Schrauth committed
4

Manuel Schrauth's avatar
Manuel Schrauth committed
5
6
7
</td>
<tr>
<td align="left" width="9999" >
Manuel Schrauth's avatar
Manuel Schrauth committed
8

Manuel Schrauth's avatar
Manuel Schrauth committed
9

Florian Goth's avatar
Florian Goth committed
10
[![PyPI - Downloads](https://img.shields.io/pypi/dm/hypertiling)](https://pypistats.org/packages/hypertiling)
11
12
13
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7559394.svg)](https://doi.org/10.5281/zenodo.7559394)


Manuel Schrauth's avatar
Manuel Schrauth committed
14
**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.
Manuel Schrauth's avatar
Manuel Schrauth committed
15

Manuel Schrauth's avatar
Manuel Schrauth committed
16

Manuel Schrauth's avatar
Manuel Schrauth committed
17
## Installation
Manuel Schrauth's avatar
Manuel Schrauth committed
18

Manuel Schrauth's avatar
Manuel Schrauth committed
19
hypertiling is available in the [PyPI](https://pypi.org/) package index and can be installed using
Manuel Schrauth's avatar
Manuel Schrauth committed
20
21
22
```
$ pip install hypertiling
```
Manuel Schrauth's avatar
Manuel Schrauth committed
23
The package can also be locally installed from our public [git repository](https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling) via
Manuel Schrauth's avatar
Manuel Schrauth committed
24
```
Manuel Schrauth's avatar
Manuel Schrauth committed
25
26
27
$ git clone https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling
$ pip install .
```
Manuel Schrauth's avatar
Manuel Schrauth committed
28
## Usage
Manuel Schrauth's avatar
Manuel Schrauth committed
29

Manuel Schrauth's avatar
Manuel Schrauth committed
30
In Python, import tiling object from the **hypertiling** library
Manuel Schrauth's avatar
Manuel Schrauth committed
31
32
33
34
35
36
37
38
39
40
41
42
43
44

```python
from hypertiling import HyperbolicTiling
```
Set parameters, initialize and generate the tiling

```python
p = 7
q = 3
nlayers = 5

T = HyperbolicTiling(p,q,nlayers) 
```

Manuel Schrauth's avatar
Manuel Schrauth committed
45
Further examples are available in our [documentation](https://gitpages.physik.uni-wuerzburg.de/hypertiling/hyperweb/doc/examples/quickstart.html) and Jupyter demo notebooks.
Manuel Schrauth's avatar
Manuel Schrauth committed
46

Manuel Schrauth's avatar
Manuel Schrauth committed
47
48
49
## Authors
* Manuel Schrauth  
mschrauth@physik.uni-wuerzburg.de
Manuel Schrauth's avatar
Manuel Schrauth committed
50
* Yanick Thurn
Manuel Schrauth's avatar
Manuel Schrauth committed
51
* Felix Dusel
Manuel Schrauth's avatar
Manuel Schrauth committed
52
* Florian Goth
53
* Dietmar Herdt
Manuel Schrauth's avatar
Manuel Schrauth committed
54
* Jefferson S. E. Portela
Manuel Schrauth's avatar
Manuel Schrauth committed
55

Manuel Schrauth's avatar
Manuel Schrauth committed
56
57
58
This project is developed at:  
[Institute for Theoretical Physics and Astrophysics](https://www.physik.uni-wuerzburg.de/en/tp3/home/)  
[University of Wuerzburg](https://www.uni-wuerzburg.de/en/home/)
Manuel Schrauth's avatar
Manuel Schrauth committed
59

Manuel Schrauth's avatar
Manuel Schrauth committed
60
## Examples
Manuel Schrauth's avatar
Manuel Schrauth committed
61

Manuel Schrauth's avatar
Manuel Schrauth committed
62
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.
Manuel Schrauth's avatar
Manuel Schrauth committed
63

Manuel Schrauth's avatar
Manuel Schrauth committed
64
65
<p align="center">                                                                                                                                                                                                                           
  <img src="https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/hyp6.svg" width="300" />                                                                                                                         
Manuel Schrauth's avatar
Manuel Schrauth committed
66
</p>
Manuel Schrauth's avatar
Manuel Schrauth committed
67

Manuel Schrauth's avatar
Manuel Schrauth committed
68
69


Manuel Schrauth's avatar
Manuel Schrauth committed
70
Further information and examples can be found in our Jupyter notebooks in /examples subfolder. 
Manuel Schrauth's avatar
Manuel Schrauth committed
71
72


Manuel Schrauth's avatar
Manuel Schrauth committed
73
## License
Manuel Schrauth's avatar
Manuel Schrauth committed
74
Every part of hypertiling is available under the MIT license.