hypertiling


Namehypertiling JSON
Version 1.3.4 PyPI version JSON
download
home_page
Summaryhypertiling is a high-performance Python library for the generation and visualization of regular hyperbolic lattices
upload_time2024-01-05 10:47:20
maintainerManuel Schrauth, Yanick Thurn, Florian Goth, Jefferson S. E. Portela, Dietmar Herdt, Felix Dusel
docs_urlNone
authorManuel Schrauth, Yanick Thurn, Florian Goth, Jefferson S. E. Portela, Dietmar Herdt, Felix Dusel
requires_python>=3.5
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <table  align="center"><td align="center" width="9999">

<img src="https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/logo/logo73.svg" align="center" width="380" alt="project icon">

</td>
<tr>
<td align="left" width="9999" >

<div align="center">

[![PyPI](https://img.shields.io/pypi/v/hypertiling)](https://pypi.org/project/hypertiling/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/hypertiling)](https://pypistats.org/packages/hypertiling)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7559393.svg)](https://doi.org/10.5281/zenodo.7559393)
[![Website](https://img.shields.io/website?down_message=offline&up_message=online&url=http%3A%2F%2Fwww.hypertiling.de%2F)](http://www.hypertiling.de)
[![Discord](https://img.shields.io/discord/990718743455883336?label=discord)](https://discord.gg/f9GW9B2Ezs)



[![badge_coverage][]]()
[![badge_maintainability][]]()
[![badge_pipeline][]](https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/pipelines)

</div>




[badge_coverage]: https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/badges/master/coverage.svg
[badge_maintainability]: https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/jobs/298389/artifacts/raw/public/badges/maintainability.svg
[badge_pipeline]: https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/badges/master/pipeline.svg


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


## Installation

hypertiling is available in the [PyPI](https://pypi.org/) package index and can be installed using
```
$ pip install hypertiling
```

For optimal performance, we highly recommand to use hypertiling together with `python-numba`, which, if not already present on your system can be installed automatically using the `[numba]`-suffix, i.e.
```
$ pip install hypertiling[numba]
```
The package can also be locally installed from our public [git repository](https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling) via
```
$ git clone https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling
$ pip install .
```


## Usage

In Python, import tiling object from the **hypertiling** library

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

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

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

Further examples are available in our [documentation](https://gitpages.physik.uni-wuerzburg.de/hypertiling/hyperweb/doc/examples/quickstart.html) and Jupyter demo notebooks.

## Authors
* Manuel Schrauth  
mschrauth@physik.uni-wuerzburg.de
* Yanick Thurn
* Florian Goth
* Jefferson S. E. Portela
* Dietmar Herdt
* Felix Dusel

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/)

## Citation

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

Cite us:

> Manuel Schrauth, Yanick Thurn, Florian Goth, Jefferson S.E. Portela, Dietmar Herdt and Felix Dusel. (2023). The _hypertiling_ project. Zenodo. https://doi.org/10.5281/zenodo.7559393



## Examples


### Tilings

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


<p align="center">   
 <img src="https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/tilings.png" width="700" />   
</p>



### Refinements

The hypertiling package allows to perform triangle refinements, such as shown here

<p align="center">   
 <img src="https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/refinments.png" width="700" />   
</p>




## Applications

### Hyperbolic Magnet
Simulation 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.
<p align="center">                                                                                                                                                                                                                           
  <img src="https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/magnet.png" width="900" />                                                                                                                         
</p>


### Helmholtz Equation
Solution 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.


<p align="center">                                                                                                                                                                                                                           
  <img src="https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/helmholtz.png" width="450" />                                                                                                                         
</p>


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.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "hypertiling",
    "maintainer": "Manuel Schrauth, Yanick Thurn, Florian Goth, Jefferson S. E. Portela, Dietmar Herdt, Felix Dusel",
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": "",
    "keywords": "",
    "author": "Manuel Schrauth, Yanick Thurn, Florian Goth, Jefferson S. E. Portela, Dietmar Herdt, Felix Dusel",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/8a/37/d3dea0b3a1ec58eadf2794b96f009e67ab8b2798cb810b6c474bcce1d18f/hypertiling-1.3.4.tar.gz",
    "platform": null,
    "description": "<table  align=\"center\"><td align=\"center\" width=\"9999\">\n\n<img src=\"https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/logo/logo73.svg\" align=\"center\" width=\"380\" alt=\"project icon\">\n\n</td>\n<tr>\n<td align=\"left\" width=\"9999\" >\n\n<div align=\"center\">\n\n[![PyPI](https://img.shields.io/pypi/v/hypertiling)](https://pypi.org/project/hypertiling/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/hypertiling)](https://pypistats.org/packages/hypertiling)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7559393.svg)](https://doi.org/10.5281/zenodo.7559393)\n[![Website](https://img.shields.io/website?down_message=offline&up_message=online&url=http%3A%2F%2Fwww.hypertiling.de%2F)](http://www.hypertiling.de)\n[![Discord](https://img.shields.io/discord/990718743455883336?label=discord)](https://discord.gg/f9GW9B2Ezs)\n\n\n\n[![badge_coverage][]]()\n[![badge_maintainability][]]()\n[![badge_pipeline][]](https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/pipelines)\n\n</div>\n\n\n\n\n[badge_coverage]: https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/badges/master/coverage.svg\n[badge_maintainability]: https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/jobs/298389/artifacts/raw/public/badges/maintainability.svg\n[badge_pipeline]: https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/badges/master/pipeline.svg\n\n\n**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. \n\n\n## Installation\n\nhypertiling is available in the [PyPI](https://pypi.org/) package index and can be installed using\n```\n$ pip install hypertiling\n```\n\nFor optimal performance, we highly recommand to use hypertiling together with `python-numba`, which, if not already present on your system can be installed automatically using the `[numba]`-suffix, i.e.\n```\n$ pip install hypertiling[numba]\n```\nThe package can also be locally installed from our public [git repository](https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling) via\n```\n$ git clone https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling\n$ pip install .\n```\n\n\n## Usage\n\nIn Python, import tiling object from the **hypertiling** library\n\n```python\nfrom hypertiling import HyperbolicTiling\n```\nSet parameters, initialize and generate the tiling\n\n```python\np = 7\nq = 3\nnlayers = 5\n\nT = HyperbolicTiling(p,q,nlayers) \n```\n\nFurther examples are available in our [documentation](https://gitpages.physik.uni-wuerzburg.de/hypertiling/hyperweb/doc/examples/quickstart.html) and Jupyter demo notebooks.\n\n## Authors\n* Manuel Schrauth  \nmschrauth@physik.uni-wuerzburg.de\n* Yanick Thurn\n* Florian Goth\n* Jefferson S. E. Portela\n* Dietmar Herdt\n* Felix Dusel\n\nThis project is developed at:  \n[Institute for Theoretical Physics and Astrophysics](https://www.physik.uni-wuerzburg.de/en/tp3/home/)  \n[University of Wuerzburg](https://www.uni-wuerzburg.de/en/home/)\n\n## Citation\n\nIf 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.\n\nCite us:\n\n> Manuel Schrauth, Yanick Thurn, Florian Goth, Jefferson S.E. Portela, Dietmar Herdt and Felix Dusel. (2023). The _hypertiling_ project. Zenodo. https://doi.org/10.5281/zenodo.7559393\n\n\n\n## Examples\n\n\n### Tilings\n\nThe 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.\n\n\n<p align=\"center\">   \n <img src=\"https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/tilings.png\" width=\"700\" />   \n</p>\n\n\n\n### Refinements\n\nThe hypertiling package allows to perform triangle refinements, such as shown here\n\n<p align=\"center\">   \n <img src=\"https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/refinments.png\" width=\"700\" />   \n</p>\n\n\n\n\n## Applications\n\n### Hyperbolic Magnet\nSimulation 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.\n<p align=\"center\">                                                                                                                                                                                                                           \n  <img src=\"https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/magnet.png\" width=\"900\" />                                                                                                                         \n</p>\n\n\n### Helmholtz Equation\nSolution 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.\n\n\n<p align=\"center\">                                                                                                                                                                                                                           \n  <img src=\"https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling/-/raw/master/assets/helmholtz.png\" width=\"450\" />                                                                                                                         \n</p>\n\n\nFurther information and examples can be found in our Jupyter notebooks in /examples subfolder. \n\n\n## License\nEvery part of hypertiling is available under the MIT license.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "hypertiling is a high-performance Python library for the generation and visualization of regular hyperbolic lattices",
    "version": "1.3.4",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "16a5d71754c5c32df54e3f7315b0d5231559398523f126b6067100d69ada7ce9",
                "md5": "11e0144965962dc3e28fb2566ff9c1d0",
                "sha256": "39b6f51541898b63d6f4a623acd6fcbe5dfdb65d3f2e6e71525fd628e644a8a2"
            },
            "downloads": -1,
            "filename": "hypertiling-1.3.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "11e0144965962dc3e28fb2566ff9c1d0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 84514,
            "upload_time": "2024-01-05T10:47:18",
            "upload_time_iso_8601": "2024-01-05T10:47:18.606493Z",
            "url": "https://files.pythonhosted.org/packages/16/a5/d71754c5c32df54e3f7315b0d5231559398523f126b6067100d69ada7ce9/hypertiling-1.3.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a37d3dea0b3a1ec58eadf2794b96f009e67ab8b2798cb810b6c474bcce1d18f",
                "md5": "d8a0155805d3fde94acd7aeccfd8b1b6",
                "sha256": "737c9b5672c5542378b256e495e0a169d50611645328627f8d6b715b22c64734"
            },
            "downloads": -1,
            "filename": "hypertiling-1.3.4.tar.gz",
            "has_sig": false,
            "md5_digest": "d8a0155805d3fde94acd7aeccfd8b1b6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 68948,
            "upload_time": "2024-01-05T10:47:20",
            "upload_time_iso_8601": "2024-01-05T10:47:20.547962Z",
            "url": "https://files.pythonhosted.org/packages/8a/37/d3dea0b3a1ec58eadf2794b96f009e67ab8b2798cb810b6c474bcce1d18f/hypertiling-1.3.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-05 10:47:20",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "hypertiling"
}
        
Elapsed time: 3.78464s