fignumbers
A comprehensive TypeScript library for generating figurate numbers across multiple dimensions.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.6%) to scientific vocabulary
Keywords
Repository
A comprehensive TypeScript library for generating figurate numbers across multiple dimensions.
Basic Info
- Host: GitHub
- Owner: edelveart
- License: mit
- Language: TypeScript
- Default Branch: main
- Homepage: https://www.npmjs.com/package/fignumbers
- Size: 343 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 8
Topics
Metadata Files
README.md
Fignumbers
Fignumbers is a comprehensive TypeScript library for generating and exploring infinite figurate number sequences, linked to geometric shapes across multiple dimensions.
Rich variety with academic foundation 🚀
Based on the book Figurate Numbers (2012) by Elena Deza and Michel Deza, this library covers a broad range of figurate number sequences. This academic foundation ensures its reliability and precision for use in various fields:
- Mathematical projects
- Visualization
- Algorithmic applications
- Any work involving figurate number sequences
It is precise and type-safe, but bigint operations are generally slower than number operations.
Installation 🛠️
First, make sure you have the library installed via npm:
node
npm install fignumbers
BigInt Support Required ⚠️
- Fignumbers utilizes
BigIntto manage large integers that exceed theNumbertype limit of(2^53 - 1). Ensure that your environment supports BigInt before using this library.
Usage 🔥
Three main classes ⚙️
Fignumbers is structured around three main classes, each corresponding to a different spatial dimension, as described in the book:
- PlaneFigNumbers – 121 sequences
- SpaceFigNumbers – 133 sequences
- MultiDimensionalFigNumbers – 191 sequences
Together, these classes implement a total of 445 figurate number sequences.
Example
```ts // 1. Import the library import { SpaceFigNumbers } from "fignumbers";
// 2. Configure parameters for the generator (use bigints for precision!) const config = { start: 1n, m: 5n, step: 1n };
// 3. Choose the type of space figurate number you want (pyramidal, cubic, etc.) const pyramidalSequence = new SpaceFigNumbers("pyramidal"); const pyramidalNumbers = pyramidalSequence.generate(config);
// 4. Get ready to see the magic happen! First 7 pyramidal numbers with m = 5n:
console.log("First 7 pyramidal numbers with m = 5n:");
for (let i = 0; i < 7; i++) {
const nextNumber = pyramidalNumbers.next().value; // Grab the next number in the sequence
console.log(Number ${i + 1}: ${nextNumber});
}
```
Expected Output
txt
First 7 pyramidal numbers with m = 5n:
Number 1: 1n
Number 2: 6n
Number 3: 18n
Number 4: 40n
Number 5: 75n
Number 6: 126n
Number 7: 196n
Overview of implemented sequences per class 🌟
1. PlaneFigNumbers
- polygonal
- centeredPolygonal
- truncatedCenteredPolygonal
- pronic
- truncatedPronic
- polite
- impolite
- aztecDiamond
- gnomic
- cross
- polygram
- triangular
- square
- pentagonal
- hexagonal
- heptagonal
- octagonal
- nonagonal
- decagonal
- hendecagonal
- dodecagonal
- tridecagonal
- tetradecagonal
- pentadecagonal
- hexadecagonal
- heptadecagonal
- octadecagonal
- nonadecagonal
- icosagonal
- icosihenagonal
- icosidigonal
- icositrigonal
- icositetragonal
- icosipentagonal
- icosihexagonal
- icosiheptagonal
- icosioctagonal
- icosinonagonal
- triacontagonal
- centeredTriangular
- centeredSquare
- centeredPentagonal
- centeredHexagonal
- centeredHeptagonal
- centeredOctagonal
- centeredNonagonal
- centeredDecagonal
- centeredHendecagonal
- centeredDodecagonal
- centeredTridecagonal
- centeredTetradecagonal
- centeredPentadecagonal
- centeredHexadecagonal
- centeredHeptadecagonal
- centeredOctadecagonal
- centeredNonadecagonal
- centeredIcosagonal
- centeredIcosihenagonal
- centeredIcosidigonal
- centeredIcositrigonal
- centeredIcositetragonal
- centeredIcosipentagonal
- centeredIcosihexagonal
- centeredIcosiheptagonal
- centeredIcosioctagonal
- centeredIcosinonagonal
- centeredTriacontagonal
- truncatedCenteredTriangular
- truncatedCenteredSquare
- truncatedCenteredPentagonal
- truncatedCenteredHexagonal
- truncatedCenteredHeptagonal
- truncatedCenteredOctagonal
- truncatedCenteredNonagonal
- truncatedCenteredDecagonal
- truncatedCenteredHendecagonal
- truncatedCenteredDodecagonal
- truncatedCenteredTridecagonal
- truncatedCenteredTetradecagonal
- truncatedCenteredPentadecagonal
- truncatedCenteredHexadecagonal
- truncatedCenteredHeptadecagonal
- truncatedCenteredOctadecagonal
- truncatedCenteredNonadecagonal
- truncatedCenteredIcosagonal
- truncatedCenteredIcosihenagonal
- truncatedCenteredIcosidigonal
- truncatedCenteredIcositrigonal
- truncatedCenteredIcositetragonal
- truncatedCenteredIcosipentagonal
- truncatedCenteredIcosihexagonal
- truncatedCenteredIcosiheptagonal
- truncatedCenteredIcosioctagonal
- truncatedCenteredIcosinonagonal
- truncatedCenteredTriacontagonal
- pentagram
- hexagram
- heptagram
- octagram
- nonagram
- decagram
- hendecagram
- dodecagram
- tridecagram
- tetradecagram
- pentadecagram
- hexadecagram
- heptadecagram
- octadecagram
- nonadecagram
- icosagram
- icosihenagram
- icosidigram
- icositrigram
- icositetragram
- icosipentagram
- icosihexagram
- icosiheptagram
- icosioctagram
- icosinonagram
- triacontagram
2. SpaceFigNumbers
- pyramidal
- tetrahedral
- cubic
- octahedral
- dodecahedral
- icosahedral
- centeredMgonalPyramidal
- centeredMgonalPyramid
- centeredTetrahedron
- centeredCube
- centeredOctahedron
- centeredDodecahedron
- centeredIcosahedron
- truncatedTetrahedral
- truncatedCubic
- truncatedOctahedral
- centeredTruncatedTetrahedron
- centeredTruncatedCube
- centeredTruncatedOctahedron
- stellaOctangula
- rhombicDodecahedral
- hauyRhombicDodecahedral
- mgonalPrism
- triangularPyramidal
- squarePyramidal
- pentagonalPyramidal
- hexagonalPyramidal
- heptagonalPyramidal
- octagonalPyramidal
- nonagonalPyramidal
- decagonalPyramidal
- hendecagonalPyramidal
- dodecagonalPyramidal
- tridecagonalPyramidal
- tetradecagonalPyramidal
- pentadecagonalPyramidal
- hexadecagonalPyramidal
- heptadecagonalPyramidal
- octadecagonalPyramidal
- nonadecagonalPyramidal
- icosagonalPyramidal
- icosihenagonalPyramidal
- icosidigonalPyramidal
- icositrigonalPyramidal
- icositetragonalPyramidal
- icosipentagonalPyramidal
- icosihexagonalPyramidal
- icosiheptagonalPyramidal
- icosioctagonalPyramidal
- icosinonagonalPyramidal
- triacontagonalPyramidal
- centeredPentagonalPyramid
- centeredHexagonalPyramid
- centeredHeptagonalPyramid
- centeredOctagonalPyramid
- centeredNonagonalPyramid
- centeredDecagonalPyramid
- centeredHendecagonalPyramid
- centeredDodecagonalPyramid
- centeredTridecagonalPyramid
- centeredTetradecagonalPyramid
- centeredPentadecagonalPyramid
- centeredHexadecagonalPyramid
- centeredHeptadecagonalPyramid
- centeredOctadecagonalPyramid
- centeredNonadecagonalPyramid
- centeredIcosagonalPyramid
- centeredIcosihenagonalPyramid
- centeredIcosidigonalPyramid
- centeredIcositrigonalPyramid
- centeredIcositetragonalPyramid
- centeredIcosipentagonalPyramid
- centeredIcosihexagonalPyramid
- centeredIcosiheptagonalPyramid
- centeredIcosioctagonalPyramid
- centeredIcosinonagonalPyramid
- centeredTriacontagonalPyramid
- centeredTriangularPyramidal
- centeredSquarePyramidal
- centeredPentagonalPyramidal
- centeredHexagonalPyramidal
- centeredHeptagonalPyramidal
- centeredOctagonalPyramidal
- centeredNonagonalPyramidal
- centeredDecagonalPyramidal
- centeredHendecagonalPyramidal
- centeredDodecagonalPyramidal
- centeredTridecagonalPyramidal
- centeredTetradecagonalPyramidal
- centeredPentadecagonalPyramidal
- centeredHexadecagonalPyramidal
- centeredHeptadecagonalPyramidal
- centeredOctadecagonalPyramidal
- centeredNonadecagonalPyramidal
- centeredIcosagonalPyramidal
- centeredIcosihenagonalPyramidal
- centeredIcosidigonalPyramidal
- centeredIcositrigonalPyramidal
- centeredIcositetragonalPyramidal
- centeredIcosipentagonalPyramidal
- centeredIcosihexagonalPyramidal
- centeredIcosiheptagonalPyramidal
- centeredIcosioctagonalPyramidal
- centeredIcosinonagonalPyramidal
- centeredTriacontagonalPyramidal
- triangularPrism
- squarePrism
- pentagonalPrism
- hexagonalPrism
- heptagonalPrism
- octagonalPrism
- nonagonalPrism
- decagonalPrism
- hendecagonalPrism
- dodecagonalPrism
- tridecagonalPrism
- tetradecagonalPrism
- pentadecagonalPrism
- hexadecagonalPrism
- heptadecagonalPrism
- octadecagonalPrism
- nonadecagonalPrism
- icosagonalPrism
- icosihenagonalPrism
- icosidigonalPrism
- icositrigonalPrism
- icositetragonalPrism
- icosipentagonalPrism
- icosihexagonalPrism
- icosiheptagonalPrism
- icosioctagonalPrism
- icosinonagonalPrism
- triacontagonalPrism
3. MultiDimensionalFigNumbers
- hyperTetrahedral
- hyperCubic
- hyperOctahedral
- hyperDodecahedral
- hyperIcosahedral
- polyOctahedral
- kDimensionalHyperTetrahedron
- kDimensionalHyperCube
- kDimensionalHyperOctahedron
- kDimensionalMgonalPyramidal
- fiveDimensionalMgonalPyramidal
- fourDimensionalMgonalPyramidal
- sixDimensionalMgonalPyramidal
- centeredHyperTetrahedron
- kDimensionalCenteredHyperTetrahedron
- centeredHyperCube
- kDimensionalCenteredHyperCube
- centeredHyperOctahedral
- kDimensionalCenteredHyperOctahedron
- nexus
- pentatope
- biquadratic
- tesseract
- 5-cell
- 8-cell
- 16-cell
- 120-cell
- 600-cell
- 24-cell
- pentachoron
- octachoron
- hexadecachoron
- hecatonicosachoron
- hexacosichoron
- icositetrachoron
- 5-simplex
- 6-simplex
- 7-simplex
- 8-simplex
- 9-simplex
- 10-simplex
- 11-simplex
- 12-simplex
- 13-simplex
- 14-simplex
- 15-simplex
- 16-simplex
- 17-simplex
- 18-simplex
- 19-simplex
- 20-simplex
- 21-simplex
- 22-simplex
- 23-simplex
- 24-simplex
- 25-simplex
- 26-simplex
- 27-simplex
- 28-simplex
- 29-simplex
- 30-simplex
- 5-hypercube
- 6-hypercube
- 7-hypercube
- 8-hypercube
- 9-hypercube
- 10-hypercube
- 11-hypercube
- 12-hypercube
- 13-hypercube
- 14-hypercube
- 15-hypercube
- 16-hypercube
- 17-hypercube
- 18-hypercube
- 19-hypercube
- 20-hypercube
- 21-hypercube
- 22-hypercube
- 23-hypercube
- 24-hypercube
- 25-hypercube
- 26-hypercube
- 27-hypercube
- 28-hypercube
- 29-hypercube
- 30-hypercube
- 5-cross-polytope
- 6-cross-polytope
- 7-cross-polytope
- 8-cross-polytope
- 9-cross-polytope
- 10-cross-polytope
- 11-cross-polytope
- 12-cross-polytope
- 13-cross-polytope
- 14-cross-polytope
- 15-cross-polytope
- 16-cross-polytope
- 17-cross-polytope
- 18-cross-polytope
- 19-cross-polytope
- 20-cross-polytope
- 21-cross-polytope
- 22-cross-polytope
- 23-cross-polytope
- 24-cross-polytope
- 25-cross-polytope
- 26-cross-polytope
- 27-cross-polytope
- 28-cross-polytope
- 29-cross-polytope
- 30-cross-polytope
- 5-centered-hypertetrahedron
- 6-centered-hypertetrahedron
- 7-centered-hypertetrahedron
- 8-centered-hypertetrahedron
- 9-centered-hypertetrahedron
- 10-centered-hypertetrahedron
- 11-centered-hypertetrahedron
- 12-centered-hypertetrahedron
- 13-centered-hypertetrahedron
- 14-centered-hypertetrahedron
- 15-centered-hypertetrahedron
- 16-centered-hypertetrahedron
- 17-centered-hypertetrahedron
- 18-centered-hypertetrahedron
- 19-centered-hypertetrahedron
- 20-centered-hypertetrahedron
- 21-centered-hypertetrahedron
- 22-centered-hypertetrahedron
- 23-centered-hypertetrahedron
- 24-centered-hypertetrahedron
- 25-centered-hypertetrahedron
- 26-centered-hypertetrahedron
- 27-centered-hypertetrahedron
- 28-centered-hypertetrahedron
- 29-centered-hypertetrahedron
- 30-centered-hypertetrahedron
- 5-centered-hypercube
- 6-centered-hypercube
- 7-centered-hypercube
- 8-centered-hypercube
- 9-centered-hypercube
- 10-centered-hypercube
- 11-centered-hypercube
- 12-centered-hypercube
- 13-centered-hypercube
- 14-centered-hypercube
- 15-centered-hypercube
- 16-centered-hypercube
- 17-centered-hypercube
- 18-centered-hypercube
- 19-centered-hypercube
- 20-centered-hypercube
- 21-centered-hypercube
- 22-centered-hypercube
- 23-centered-hypercube
- 24-centered-hypercube
- 25-centered-hypercube
- 26-centered-hypercube
- 27-centered-hypercube
- 28-centered-hypercube
- 29-centered-hypercube
- 30-centered-hypercube
- 5-centered-hyperoctahedron
- 6-centered-hyperoctahedron
- 7-centered-hyperoctahedron
- 8-centered-hyperoctahedron
- 9-centered-hyperoctahedron
- 10-centered-hyperoctahedron
- 11-centered-hyperoctahedron
- 12-centered-hyperoctahedron
- 13-centered-hyperoctahedron
- 14-centered-hyperoctahedron
- 15-centered-hyperoctahedron
- 16-centered-hyperoctahedron
- 17-centered-hyperoctahedron
- 18-centered-hyperoctahedron
- 19-centered-hyperoctahedron
- 20-centered-hyperoctahedron
- 21-centered-hyperoctahedron
- 22-centered-hyperoctahedron
- 23-centered-hyperoctahedron
- 24-centered-hyperoctahedron
- 25-centered-hyperoctahedron
- 26-centered-hyperoctahedron
- 27-centered-hyperoctahedron
- 28-centered-hyperoctahedron
- 29-centered-hyperoctahedron
- 30-centered-hyperoctahedron
Contributing
Fignumbers is currently under development, and we warmly invite your contributions. Just fork the project and then submit a pull request:
- Sequences from Chapters 1, 2, and 3 of the book
- New sequences not included in the book: If you have new sequences, please provide the source.
- Tests, documentation and errata in the book
When making commits, please use the following conventional prefixes to indicate the nature of the changes: feat, refactor, fix, docs, and test.
Owner
- Name: Edgar Delgado Vega
- Login: edelveart
- Kind: user
- Location: Lima-Perú
- Repositories: 1
- Profile: https://github.com/edelveart
Hi, I'm Edgar, a person motivated by art and technology. My interests are mathematical music theory and live coding (Sonic Pi).
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use fignumbers and its documentation in your work, please cite it as below."
authors:
- family-names: "Delgado Vega"
given-names: "Edgar Armando"
orcid: "https://orcid.org/0000-0002-9672-9087"
title: "fignumbers: A TypeScript Library for Generating and Exploring Figurate Numbers"
version: 0.7.0
doi:
date-released: 2024-12-23
url: "https://github.com/edelveart/fignumbers"
repository-code: "https://github.com/edelveart/fignumbers"
license: MIT
GitHub Events
Total
- Create event: 8
- Issues event: 1
- Release event: 8
- Public event: 1
- Push event: 85
Last Year
- Create event: 8
- Issues event: 1
- Release event: 8
- Public event: 1
- Push event: 85
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: about 1 month
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: about 1 month
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- edelveart (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- npm 35 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 8
- Total maintainers: 1
npmjs.org: fignumbers
A comprehensive TypeScript library for generating figurate numbers across multiple dimensions
- Homepage: https://github.com/edelveart/fignumbers
- License: MIT
-
Latest release: 0.7.1
published 11 months ago
