A Python library for computing regular triangulations of lattice vector configurations
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95c67acc9aa9603c051cf24ba645175de69f464747c54ecf95a33a7f06ca3fcf
|
|
| MD5 |
66a25bc5ffef95ed029665e7d59ca9dc
|
|
| BLAKE2b-256 |
d5fba9ba139bc2675e7402a5b326e785e04ab0eadc6c3f8b0c2f7d95f6223022
|
Provenance
The following attestation bundles were made for regfans-0.1.0.tar.gz:
Publisher:
publish.yml on natemacfadden/regfans
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
regfans-0.1.0.tar.gz -
Subject digest:
95c67acc9aa9603c051cf24ba645175de69f464747c54ecf95a33a7f06ca3fcf - Sigstore transparency entry: 1227770580
- Sigstore integration time:
-
Permalink:
natemacfadden/regfans@e7f6e15ef14a6b7023f53bb45270cedd847f81c2 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/natemacfadden
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e7f6e15ef14a6b7023f53bb45270cedd847f81c2 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
273a7557794f99ce17791b2f0faa969563a84df28f51c2b94522f9dd842bb0dc
|
|
| MD5 |
eb3623d075342735aa18011eacf45137
|
|
| BLAKE2b-256 |
61272bf797bd8499437f6dc4407054ca1776b08ac83952092582357fcd57e405
|
Provenance
The following attestation bundles were made for regfans-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on natemacfadden/regfans
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
regfans-0.1.0-py3-none-any.whl -
Subject digest:
273a7557794f99ce17791b2f0faa969563a84df28f51c2b94522f9dd842bb0dc - Sigstore transparency entry: 1227770641
- Sigstore integration time:
-
Permalink:
natemacfadden/regfans@e7f6e15ef14a6b7023f53bb45270cedd847f81c2 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/natemacfadden
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e7f6e15ef14a6b7023f53bb45270cedd847f81c2 -
Trigger Event:
release
-
Statement type: