Skip to main content

FigurateNum

FigurateNum generates and visualizes 235+ plane, space, and multidimensional figurate number sequences

FigurateNum HeroImage

PyPI - Version Pepy Total Downloads DOI PyPI - Status PyPI - Wheel GitHub License GitHub Actions Workflow Status

Documentation  ·  API Reference

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 and modular patterns generated with FigurateNum

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

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:

DOI

Metadata

Release files for figuratenum 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for figuratenum 3.0.0
File Size Uploaded
figuratenum-3.0.0.tar.gz 59.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for figuratenum 3.0.0
File Interpreter ABI Platform
figuratenum-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 108.3 kB

Release files / figuratenum-3.0.0.tar.gz

Download URL figuratenum-3.0.0.tar.gz
Size 59.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4c05af6d9b0e85a3ba39a8098c5e323b8ed03f85c93dc5f4bb9f2f43304c8650
BLAKE2b-256 checksum
How to use checksums
999f108605cefe8aa9a88f754043c8b8cb0f7263fdd3a80658f23fd31bdd6efa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.4

Release files / figuratenum-3.0.0-py3-none-any.whl

Download URL figuratenum-3.0.0-py3-none-any.whl
Size 48.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3b223adc44d3317ed0be4bc7f948713b8536af76953c0ac3384ced06fd04364d
BLAKE2b-256 checksum
How to use checksums
d0301a3c8dd0c36d9bc139dce06be489214466478a4665a5144fb0d911685b46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page