Generate 233 infinite figurate number sequences for mathematical research, applications, and exploration in Python.
Project description
FigurateNum
FigurateNum is a collection of 233 figurate number generators based on the book
Figurate Numbers by Michel Deza and Elena Deza, published in 2012.
FigurateNum generates the following types of infinite sequences:
- 79 sequences of plane figurate numbers
- 86 sequences of space figurate numbers
- 68 sequences of multidimensional figurate numbers
What is the purpose of FigurateNum?
FigurateNum facilitates the discovery of new patterns among sequences and enables various numerical calculations in mathematical projects and related endeavors. It can be integrated with other software to visualize the geometric objects described. Moreover, it serves as a valuable companion to the book!
How to install?
pip install figuratenum
How to import figuratenum?
import figuratenum as fgn
How to use?
>>> seq = fgn.hyperdodecahedral_numbers()
>>> first = next(seq)
>>> second = next(seq)
>>> third = next(seq)
>>> fourth = next(seq)
>>> print(first, second, third, fourth)
1 600 4983 19468
You could get a list of numbers using a loop:
>>> generator = fgn.k_dimensional_centered_hypertetrahedron_numbers(21)
>>> sequence = []
>>> for _ in range(1, 15):
>>> next_num = next(generator)
>>> sequence.append(next_num)
>>> print(sequence)
[1, 23, 276, 2300, 14950, 80730, 376740, 1560780, 5852925, 20160075, 64512240, 193536720, 548354040, 1476337800]
Alternative usage via FigurateNum class
from figuratenum import FigurateNum as fgn
Importing the FigurateNum class allows you to use practical methods to return lists, tuples or arrays with the requested number of elements:
take(n)take_to_list(stop, start, step)take_to_array(stop, start, step)take_to_tuple(stop, start, step)pick(n)
>>> print(fgn.generalized_dodecahedral_numbers(-3).take(8))
[-165, -56, -10, 0, 1, 20, 84, 220]
>>> print(fgn.octadecagonal_pyramidal_numbers().take_to_array(5))
array('d', [1.0, 19.0, 70.0, 170.0, 335.0])
Plane figurate numbers
polygonal_numberstriangular_numberssquare_numberspentagonal_numbershexagonal_numbersheptagonal_numbersoctagonal_numbersnonagonal_numbersdecagonal_numbershendecagonal_numbersdodecagonal_numberstridecagonal_numberstetradecagonal_numberspentadecagonal_numbershexadecagonal_numbersheptadecagonal_numbersoctadecagonal_numbersnonadecagonal_numbersicosagonal_numbersicosihenagonal_numbersicosidigonal_numbersicositrigonal_numbersicositetragonal_numbersicosipentagonal_numbersicosihexagonal_numbersicosiheptagonal_numbersicosioctagonal_numbersicosinonagonal_numberstriacontagonal_numberscentered_triangular_numberscentered_square_numbers=diamond numberscentered_pentagonal_numberscentered_hexagonal_numberscentered_heptagonal_numberscentered_octagonal_numberscentered_nonagonal_numberscentered_decagonal_numberscentered_hendecagonal_numberscentered_dodecagonal_numbers=star_numberscentered_tridecagonal_numberscentered_tetradecagonal_numberscentered_pentadecagonal_numberscentered_hexadecagonal_numberscentered_heptadecagonal_numberscentered_octadecagonal_numberscentered_nonadecagonal_numberscentered_icosagonal_numberscentered_icosihenagonal_numberscentered_icosidigonal_numberscentered_icositrigonal_numberscentered_icositetragonal_numberscentered_icosipentagonal_numberscentered_icosihexagonal_numberscentered_icosiheptagonal_numberscentered_icosioctagonal_numberscentered_icosinonagonal_numberscentered_triacontagonal_numberscentered_mgonal_numbers(m)pronic_numbers=heteromecic_numbers = oblong_numberspolite_numbersimpolite_numberscross_numbersaztec_diamond_numberspolygram_numbers(m)=centered_star_polygonal_numbers(m)pentagram_numbersgnomic_numberstruncated_triangular_numberstruncated_square_numberstruncated_pronic_numberstruncated_centered_pol_numbers(m)=truncated_centered_mgonal_numbers(m)truncated_centered_triangular_numberstruncated_centered_square_numberstruncated_centered_pentagonal_numberstruncated_centered_hexagonal_numbers=truncated_hex_numbersgeneralized_mgonal_numbers(m, start_numb)generalized_pentagonal_numbers(start_numb)generalized_hexagonal_numbers(start_numb)generalized_centered_pol_numbers(m, start_numb)generalized_pronic_numbers(start_numb)
Space figurate numbers
m_pyramidal_numbers(m)triangular_pyramidal_numberssquare_pyramidal_numbers=pyramidal_numberspentagonal_pyramidal_numbershexagonal_pyramidal_numbersheptagonal_pyramidal_numbersoctagonal_pyramidal_numbersnonagonal_pyramidal_numbersdecagonal_pyramidal_numbershendecagonal_pyramidal_numbersdodecagonal_pyramidal_numberstridecagonal_pyramidal_numberstetradecagonal_pyramidal_numberspentadecagonal_pyramidal_numbershexadecagonal_pyramidal_numbersheptadecagonal_pyramidal_numbersoctadecagonal_pyramidal_numbersnonadecagonal_pyramidal_numbersicosagonal_pyramidal_numbersicosihenagonal_pyramidal_numbersicosidigonal_pyramidal_numbersicositrigonal_pyramidal_numbersicositetragonal_pyramidal_numbersicosipentagonal_pyramidal_numbersicosihexagonal_pyramidal_numbersicosiheptagonal_pyramidal_numbersicosioctagonal_pyramidal_numbersicosinonagonal_pyramidal_numberstriacontagonal_pyramidal_numberstriangular_tetrahedral_numbers[finite]triangular_square_pyramidal_numbers[finite]square_tetrahedral_numbers[finite]square_square_pyramidal_numbers[finite]tetrahedral_square_pyramidal_numbers[finite]cubic_numberstetrahedral_numbersoctahedral_numbersdodecahedral_numbersicosahedral_numberstruncated_tetrahedral_numberstruncated_cubic_numberstruncated_octahedral_numbersstella_octangula_numberscentered_cube_numbersrhombic_dodecahedral_numbershauy_rhombic_dodecahedral_numberscentered_tetrahedron_numbers=centered_tetrahedral_numberscentered_square_pyramid_numbers=centered_pyramid_numberscentered_mgonal_pyramid_numbers(m)centered_pentagonal_pyramid_numberscentered_hexagonal_pyramid_numberscentered_heptagonal_pyramid_numberscentered_octagonal_pyramid_numberscentered_octahedron_numberscentered_icosahedron_numbers=centered_cuboctahedron_numberscentered_dodecahedron_numberscentered_truncated_tetrahedron_numberscentered_truncated_cube_numberscentered_truncated_octahedron_numberscentered_mgonal_pyramidal_numbers(m)centered_triangular_pyramidal_numberscentered_square_pyramidal_numberscentered_pentagonal_pyramidal_numberscentered_heptagonal_pyramidal_numberscentered_octagonal_pyramidal_numberscentered_nonagonal_pyramidal_numberscentered_decagonal_pyramidal_numberscentered_hendecagonal_pyramidal_numberscentered_dodecagonal_pyramidal_numberscentered_hexagonal_pyramidal_numbers=hex_pyramidal_numbershexagonal_prism_numbersmgonal_prism_numbers(m)generalized_mgonal_pyramidal_numbers(m, start_num)generalized_pentagonal_pyramidal_numbers(start_num)generalized_hexagonal_pyramidal_numbers(start_num)generalized_cubic_numbers(start_num)generalized_octahedral_numbers(start_num)generalized_icosahedral_numbers(start_num)generalized_dodecahedral_numbers(start_num)generalized_centered_cube_numbers(start_num)generalized_centered_tetrahedron_numbers(start_num)generalized_centered_square_pyramid_numbers(start_num)generalized_rhombic_dodecahedral_numbers(start_num)generalized_centered_mgonal_pyramidal_numbers(m, start_num)generalized_mgonal_prism_numbers(m, start_num)generalized_hexagonal_prism_numbers(start_num)
Multidimensional figurate numbers
pentatope_numbers=hypertetrahedral_numbers=triangulotriangular_numbersk_dimensional_hypertetrahedron_numbers(k)=k_hypertetrahedron_numbers(k)=regular_k_polytopic_numbers(k)=figurate_numbers_of_order_k(k)five_dimensional_hypertetrahedron_numberssix_dimensional_hypertetrahedron_numbersbiquadratic_numbersk_dimensional_hypercube_numbers(k)=k_hypercube_numbers(k)five_dimensional_hypercube_numberssix_dimensional_hypercube_numbershyperoctahedral_numbers=hexadecachoron_numbers=four_cross_polytope_numbers=four_orthoplex_numbershypericosahedral_numbers=tetraplex_numbers=polytetrahedron_numbers=hexacosichoron_numbershyperdodecahedral_numbers=hecatonicosachoron_numbers=dodecaplex_numbers=polydodecahedron_numberspolyoctahedral_numbers=icositetrachoron_numbers=octaplex_numbers=hyperdiamond_numbersfour_dimensional_hyperoctahedron_numbersfive_dimensional_hyperoctahedron_numberssix_dimensional_hyperoctahedron_numbersseven_dimensional_hyperoctahedron_numberseight_dimensional_hyperoctahedron_numbersnine_dimensional_hyperoctahedron_numbersten_dimensional_hyperoctahedron_numbersk_dimensional_hyperoctahedron_numbers(k)=k_cross_polytope_numbers(k)four_dimensional_mgonal_pyramidal_numbers(m)=mgonal_pyramidal_numbers_of_the_second_order(m)four_dimensional_square_pyramidal_numbersfour_dimensional_pentagonal_pyramidal_numbersfour_dimensional_hexagonal_pyramidal_numbersfour_dimensional_heptagonal_pyramidal_numbersfour_dimensional_octagonal_pyramidal_numbersfour_dimensional_nonagonal_pyramidal_numbersfour_dimensional_decagonal_pyramidal_numbersfour_dimensional_hendecagonal_pyramidal_numbersfour_dimensional_dodecagonal_pyramidal_numbersk_dimensional_mgonal_pyramidal_numbers(k, m)=mgonal_pyramidal_numbers_of_the_k_2_th_order(k, m)five_dimensional_mgonal_pyramidal_numbers(m)five_dimensional_square_pyramidal_numbersfive_dimensional_pentagonal_pyramidal_numbersfive_dimensional_hexagonal_pyramidal_numbersfive_dimensional_heptagonal_pyramidal_numbersfive_dimensional_octagonal_pyramidal_numberssix_dimensional_mgonal_pyramidal_numbers(m)six_dimensional_square_pyramidal_numberssix_dimensional_pentagonal_pyramidal_numberssix_dimensional_hexagonal_pyramidal_numberssix_dimensional_heptagonal_pyramidal_numberssix_dimensional_octagonal_pyramidal_numberscentered_biquadratic_numbersk_dimensional_centered_hypercube_numbers(k)five_dimensional_centered_hypercube_numberssix_dimensional_centered_hypercube_numberscentered_polytope_numbersk_dimensional_centered_hypertetrahedron_numbers(k)five_dimensional_centered_hypertetrahedron_numberssix_dimensional_centered_hypertetrahedron_numberscentered_hyperoctahedral_numbers=orthoplex_numbersnexus_numbers(k)k_dimensional_centered_hyperoctahedron_numbers(k)five_dimensional_centered_hyperoctahedron_numberssix_dimensional_centered_hyperoctahedron_numbersgeneralized_pentatope_numbers(start_num = 0)generalized_k_dimensional_hypertetrahedron_numbers(k = 5, start_num = 0)generalized_biquadratic_numbers(start_num = 0)generalized_k_dimensional_hypercube_numbers(k = 5, start_num = 0)generalized_hyperoctahedral_numbers(start_num = 0)generalized_k_dimensional_hyperoctahedron_numbers(k = 5, start_num = 0)generalized_hyperdodecahedral_numbers(start_num = 0)generalized_hypericosahedral_numbers(start_num = 0)generalized_polyoctahedral_numbers(start_num = 0)generalized_k_dimensional_mgonal_pyramidal_numbers(k, m, start_num = 0)generalized_k_dimensional_centered_hypercube_numbers(k, start_num = 0)generalized_nexus_numbers(start_num = 0)
Errata for Figurate Numbers (2012)
This section lists the errata and corrections for the book Figurate Numbers (2012) by Michel Deza and Elena Deza. If you find any errors in the content, please feel free to contribute corrections.
-
Chapter 1, formula in the table on page 6 says:
Name Formula Square 1/2 (n^2 - 0 * n)It should be:
Name Formula Square 1/2 (2n^2 - 0 * n) -
Chapter 1, formula in the table on page 51 says:
Name Formula Cent. icosihexagonal 1/3n^2 - 13 * n + 1546, 728, 936, 1170It should be:
Name Formula Cent. icosihexagonal 1/3n^2 - 13 * n + 1547, 729, 937, 1171 -
Chapter 1, formula in the table on page 51 says:
Name Formula Cent. icosiheptagonal 972It should be:
Name Formula Cent. icosiheptagonal 973 -
Chapter 1, formula in the table on page 51 says:
Name Formula Cent. icosioctagonal 84It should be:
Name Formula Cent. icosioctagonal 85 -
Chapter 1, page 65 (polite numbers) says:
inpolite numbersIt should read:
impolite numbers -
Chapter 1, formula (truncated centered pentagonal numbers) on page 72 says:
TCSS_5(n) = (35n^2 - 55n) / 2 + 3It should be:
TCSS_5(n) = (35n^2 - 55n) / 2 + 11 -
Chapter 2, formula of octagonal pyramidal number on page 92 says:
n(n+1)(6n-1) / 6It should be:
n(n+1)(6n-3) / 6 -
Chapter 2, page 140 says:
centered square pyramidal numbers are 1, 6, 19, 44, 85, 111, 146, 231, ...
This sequence must exclude the number 111:
centered square pyramidal numbers are 1, 6, 19, 44, 85,
111, 146, 231, ... -
Chapter 2, page 155 (generalized centered tetrahedron numbers) says:
S_3^3(n) = ((2n - 1)(n^2 + n + 3)) / 3Formula must have a negative sign:
S_3^3(n) = ((2n - 1)(n^2 - n + 3)) / 3 -
Chapter 2, page 156 (generalized centered square pyramid numbers) says:
S_4^3(n) = ((2n - 1) * (n^2 - n + 2)^2) / 3Formula must write:
S_4^3(n) = ((2n - 1) * (n^2 - n + 2)) / 2 -
Chapter 3, page 188 (hyperoctahedral numbers) says:
hexadecahoron numbersIt should read:
hexadecachoron numbers -
Chapter 3, page 190 (hypericosahedral numbers) says:
hexacisihoron numbersIt should read:
hexacosichoron numbers
Contributing
FigurateNumber 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.
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-1.0.0.tar.gz.
File metadata
- Download URL: figuratenum-1.0.0.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64c668326826d4b685ef076b5c514e415cd29e9d2a073e1089634069381d317e
|
|
| MD5 |
5ef7c03a78b7c14ba457f5ce0ce5d116
|
|
| BLAKE2b-256 |
b326cd8bb69eb659624f3c8dc4fa930c5946e1fcb28633c976b21e91bc1c9c7a
|
File details
Details for the file figuratenum-1.0.0-py3-none-any.whl.
File metadata
- Download URL: figuratenum-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b83d4ed8acf153cd00e2ccebf44cb79eef1661e06a2356e00a98bce85f22b792
|
|
| MD5 |
43a694cef723716a424cde53ea9b2a9c
|
|
| BLAKE2b-256 |
667d70018ee945e382c34ce2a9adb66a2b57de4b41f9fb5c08a0d057af05f38a
|