SciPost logo

SciPost Submission Page

HYPERTILING - a high performance Python library for the generation and visualization of hyperbolic lattices

by Manuel Schrauth, Yanick Thurn, Florian Goth, Jefferson S. E. Portela, Dietmar Herdt, Felix Dusel

Submission summary

Authors (as registered SciPost users): Manuel Schrauth
Submission information
Preprint Link: https://arxiv.org/abs/2309.10844v1  (pdf)
Code repository: https://git.physik.uni-wuerzburg.de/hypertiling/hypertiling
Date submitted: 2023-12-15 11:43
Submitted by: Schrauth, Manuel
Submitted to: SciPost Physics Codebases
Ontological classification
Academic field: Physics
Specialties:
  • Condensed Matter Physics - Computational
  • Gravitation, Cosmology and Astroparticle Physics
  • High-Energy Physics - Theory
  • Statistical and Soft Matter Physics
Approach: Computational

Abstract

HYPERTILING is a high-performance Python library for the generation and visualization of regular hyperbolic lattices embedded in the Poincar\'e 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. In this manuscript, we present a comprehensive exploration of the package, encompassing its mathematical foundations, usage examples, applications, and a detailed description of its implementation.

Current status:
Awaiting resubmission

Reports on this Submission

Anonymous Report 2 on 2024-2-11 (Invited Report)

Strengths

-Library is written in Python-- hence easily accessible to users

-High-performance optimizations and a variety of algorithms have been implemented

Weaknesses

-The paper provides just an overview of the capabilities of the library.
For an actual use in a project an in-deep documentation would be needed.

Report

The manuscript presents a Python library for hyperbolic lattices, a discretization of two-dimensional space with constant negative curvature.
Hyperbolic tilings have attracted a lot of interest in many domains of physics. Yet, their generation requires considerable technical knowledge and so far a generic, publicly available library was missing.
The present contribution is therefore very welcome.

The manuscript gives a short quick setup, discusses the main features of the library, and summarizes the mathematical framework relevant for hyperbolic tilings.
This is followed by a more technical overview of the kernels and algorithms.
A few examples and some perspectives on future developments end the manuscript.

In my opinion the manuscript generally satisfies the criteria for acceptance.

My main criticism is that the manuscript gives just an overview of the features of the library, citing the "package documentation" for more details.
For a concrete use of the library, a user would probably need these more details.

I presume that this style of presentation has been chosen to avoid an overly long and technical manuscript.
Yet, I would encourage the authors to provide a more structured documentation, for example by providing a hierarchy of the classes (if there is such a hierarchy) and tables of the available methods of the classes, options for the factory methods etc.
This would give a more focused description of what the library can actually do, without referring to an external documentation.

Related to this, a link to the package documentation should be provided in the text.

Some minor points:

-Eqs. (1) and (2): there is probably a typo in the index (n is not defined, also in Eq. (1) the last index is probably not 2)

-Quick start: I think it should be useful to already mention what is the meaning of the parameter n.

-What would be the motivation of studying epidemic spreading on a hyperbolic lattice?

-Eq. (37): I think in general there should be a coupling constant in front of the nearest-neighbor interaction.
Shouldn't the discretization of the action (35) always lead to a ferromagnetic lattice model?
The example below refers to an antiferromagnetic model, where the coupling constant would be of different sign than in Eq. (37).

  • validity: -
  • significance: -
  • originality: -
  • clarity: -
  • formatting: -
  • grammar: -

Anonymous Report 1 on 2024-2-5 (Invited Report)

Strengths

1- Highly optimized Python library for hyperbolic tessellations running on a workstation.
2- Easy to download and install the Python libraries.
3- The possibility to generate a variety of regular lattices within the Poincare disk.
4- High-performance plotting and animations with dynamic lattice manipulations.
5- Entirely mathematical and physical backgrounds provided at a sufficient level.

Weaknesses

1- A small typo in Eq. (1), where the last term in the hypersurface matric $x^2_2$ should be $x^2_n$.

Report

I am pleased to find such a useful tool (software) to generate the regular hyperbolic lattices on the Poincare disk which has been needed. It is amazing to what extent the user can generate and modify the hyperbolic lattices, mark the polygons by colors, and perform various measurements. To my present knowledge, I have not met any software of such complexity and usefulness for the scientific community.

Questions about whether the parallelization on CPUs and GPUs was satisfactorily discussed. Physical motivations were given, too. From a mathematical point of view, I found the results correct. The Python-generated plots were well-presented, accurately analyzed and concisely discussed. For all these reasons I approve the current manuscript for publication.

Requested changes

Apart from the minor typo in Eq. (1), no further corrections are necessary.

  • validity: high
  • significance: high
  • originality: high
  • clarity: top
  • formatting: excellent
  • grammar: excellent

Login to report or comment