FigurateNum generates and visualizes 235+ plane, space, and multidimensional figurate number sequences.
Project description
FigurateNum
FigurateNum generates and visualizes 235+ plane, space, and multidimensional figurate number sequences
From polygonal numbers to Platonic solids and higher-dimensional analogues, FigurateNum unifies 235+ sequences and families of figurate numbers, following Deza & Deza (2012).
Gallery
Phase portraits in ℂ and modular patterns in ℤₙ, generated with the code below.
Quickstart
Core sequence generators are stable. Visualization modules remain experimental.
# Stable release (sequence generators only)
pip install figuratenum
# Experimental visualization (ComplexViz and DiscreteViz)
# Requires: numpy, sympy, matplotlib
pip install figuratenum[figurate-viz]
Sequence generators
from figuratenum import FigurateNum
seq1 = FigurateNum().k_dim_centered_hypertetrahedron(4)
print([next(seq1) for _ in range(7)])
# [1, 7, 28, 210, 462, 923, 1709]
seq2 = FigurateNum().k_dim_hyperoctahedron(5)
print([next(seq2) for _ in range(7)])
# [1, 10, 51, 180, 501, 1182, 2471]
Visualization
- Phase portraits of generating functions f(z): ℂ → ℂ in the complex plane, based on Elias Wegert (2012).
- Modular patterns in ℤₙ, inspired by Rogelio Pérez Buendía (2025), generalized here for this family.
from figuratenum.figurate_viz import ComplexViz, DiscreteViz
# Phase portrait of the generating function f(z) in ℂ
c = ComplexViz()
c.visualize_multidim(
"k_dim_centered_hypertetrahedron", k=4,
cmap_color="cividis", disk_radius=2.0
)
# Modular pattern in ℤₙ
d = DiscreteViz()
d.visualize_multidim(
"k_dim_hyperoctahedron", k=5, n_terms=704,
circ_color="m", bg_color="k", num_text=False,
num_color="g", ext_circle=True, rotate=-1
)
Mathematical background
Sequences are organized by dimension:
- Plane figurate numbers (2D): polygonal, centered polygonal, pronic, and related forms, including their generalized variants.
- Space figurate numbers (3D): pyramidal, polyhedral (tetrahedral, cubic, octahedral, dodecahedral, icosahedral), and centered space forms, including their generalized variants.
- Multidimensional figurate numbers (4D and beyond): hypertetrahedra, hypercubes, hyperoctahedra, and their centered variants for arbitrary dimension
k, including generalized forms.
Documentation
| Resource | Link |
|---|---|
| Sequence Generators — Full Catalog | sequences.md |
| ComplexViz API Reference | complexviz.md |
| DiscreteViz API Reference | discreteviz.md |
Implementation Notes
FigurateNum uses optimized implementations of figurate number formulas for performance, while preserving mathematically equivalent results. Original expressions from Deza & Deza (2012) are available via
*_from_book()methods for reference and validation.
Tests
Core sequence generators are validated against known closed-form values and classical results from number theory and OEIS.
Contributing
FigurateNum is under active development. Contributions are welcome: fork the project and submit a pull request.
- New sequences, with a mathematical reference (OEIS, book, or paper).
- Tests for existing sequences.
- Documentation improvements.
- Errata corrections at
docs/errata/errata-figuratenum.tex.
When making commits, use conventional prefixes: feat, refactor, fix, docs, test.
Citation
If you use FigurateNum in your research, thesis, or project, please cite it:
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 figuratenum-3.0.0.tar.gz.
File metadata
- Download URL: figuratenum-3.0.0.tar.gz
- Upload date:
- Size: 59.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c05af6d9b0e85a3ba39a8098c5e323b8ed03f85c93dc5f4bb9f2f43304c8650
|
|
| MD5 |
3107d2ef79c591a45530f9b94b27ef84
|
|
| BLAKE2b-256 |
999f108605cefe8aa9a88f754043c8b8cb0f7263fdd3a80658f23fd31bdd6efa
|
File details
Details for the file figuratenum-3.0.0-py3-none-any.whl.
File metadata
- Download URL: figuratenum-3.0.0-py3-none-any.whl
- Upload date:
- Size: 48.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b223adc44d3317ed0be4bc7f948713b8536af76953c0ac3384ced06fd04364d
|
|
| MD5 |
8bd47b62ec1d0f0630a79fff8098c3fe
|
|
| BLAKE2b-256 |
d0301a3c8dd0c36d9bc139dce06be489214466478a4665a5144fb0d911685b46
|