Skip to main content

A Python library for computing regular triangulations of lattice vector configurations

Project description

Fan flip graph

regfans

regfans is a Python library for studying lattice vector configurations, developed by Nate MacFadden at the Liam McAllister Group in Cornell.

Core Functionality

The library computes and modifies regular triangulations of vector configurations (regular polyhedral fans; "vex triangulations").

Key capabilities:

  • Construct regular triangulations via lifting
  • Compute all (regular) triangulations via flip graph traversal
  • Verify properties of vector configurations (solid, totally-cyclic) and fans (fine, regular, point-configuration-compatible)
  • Efficient linear flipping

See Triangulations: Structures for Algorithms and Applications by De Loera, Rambau, and Santos for a definitive reference on such topics.

Installation

Install via conda (recommended — includes pplpy):

conda env create -f environment.yml
conda activate regfans

Or via pip (see also PyPI listing):

pip install regfans

Note: Most methods require dual cone computation via pplpy, which cannot be installed automatically via pip. The conda environment handles this automatically.

Primary Interface

The main class is VectorConfiguration:

from regfans import VectorConfiguration

pts = [[1, -2, -1, -1], [1, 1, -1, 2], [-2, 0, 0, -1],
       [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]
vc = VectorConfiguration(pts)

# construct a regular triangulation via lifting
fan = vc.subdivide()
print(fan.is_fine(), fan.is_regular())

# compute all triangulations and the flip graph
all_fans = vc.all_triangulations()
G, fans, labels = vc.flip_graph(compute_node_labels=True)

See documentation/api.md for the full API reference and the tutorials directory for annotated examples.

Citation

If you are using regfans for toric-geometric or Calabi-Yau applications, please cite Calabi-Yau Threefolds from Vex Triangulations:

@article{MacFadden:2512.14817,
  author  = {MacFadden, Nate and Sheridan, Elijah},
  title   = {Calabi-{Y}au Threefolds from Vex Triangulations},
  doi     = {10.48550/arXiv.2512.14817},
  url     = {https://arxiv.org/abs/2512.14817},
}

Otherwise, please cite this repository:

@software{regfans,
  author  = {MacFadden, Nate},
  title   = {regfans},
  doi     = {ZENODO_DOI_PLACEHOLDER},
  url     = {https://github.com/natemacfadden/regfans},
  orcid   = {0000-0002-8481-3724},
}

This package was developed for constructing toric varieties in Calabi-Yau Threefolds from Vex Triangulations, supported in part by NSF grant PHY-2309456. Toric-geometric computations are provided by CYTools, which extends regfans via a vector_config module.

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

regfans-0.1.0.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

regfans-0.1.0-py3-none-any.whl (50.6 kB view details)

Uploaded Python 3

File details

Details for the file regfans-0.1.0.tar.gz.

File metadata

  • Download URL: regfans-0.1.0.tar.gz
  • Upload date:
  • Size: 53.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for regfans-0.1.0.tar.gz
Algorithm Hash digest
SHA256 95c67acc9aa9603c051cf24ba645175de69f464747c54ecf95a33a7f06ca3fcf
MD5 66a25bc5ffef95ed029665e7d59ca9dc
BLAKE2b-256 d5fba9ba139bc2675e7402a5b326e785e04ab0eadc6c3f8b0c2f7d95f6223022

See more details on using hashes here.

Provenance

The following attestation bundles were made for regfans-0.1.0.tar.gz:

Publisher: publish.yml on natemacfadden/regfans

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file regfans-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: regfans-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 50.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for regfans-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 273a7557794f99ce17791b2f0faa969563a84df28f51c2b94522f9dd842bb0dc
MD5 eb3623d075342735aa18011eacf45137
BLAKE2b-256 61272bf797bd8499437f6dc4407054ca1776b08ac83952092582357fcd57e405

See more details on using hashes here.

Provenance

The following attestation bundles were made for regfans-0.1.0-py3-none-any.whl:

Publisher: publish.yml on natemacfadden/regfans

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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