figuratenum


Namefiguratenum JSON
Version 2.0.3 PyPI version JSON
download
home_pageNone
SummaryGenerate 235 infinite figurate number sequences for mathematical research, applications, and exploration in Python.
upload_time2025-07-10 23:42:07
maintainerNone
docs_urlNone
authorEdgar Armando Delgado Vega
requires_python>=3.9
licenseNone
keywords generators figurate numbers infinite sequences number sequences number generators
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center"> FigurateNum </h1>

**FigurateNum** is a collection of **235 figurate number generators** based on the book [Figurate Numbers](https://books.google.com.pe/books/about/Figurate.html?id=cDxYdstLPz4C&redir_esc=y) by Michel Deza and Elena Deza, published in 2012.

<p align="center">
  <img src="https://img.shields.io/pypi/v/figuratenum" alt="PyPI - Version">
  <img src="https://img.shields.io/pypi/wheel/figuratenum" alt="PyPI - Wheel">
  <img alt="Pepy Total Downloads" src="https://img.shields.io/pepy/dt/figuratenum">
  <img src="https://img.shields.io/pypi/status/figuratenum" alt="PyPI - Status">
  <img src="https://img.shields.io/github/license/edelveart/figuratenum" alt="GitHub License">
</p>

<p align="center">
  <img src="https://raw.githubusercontent.com/edelveart/figuratenum/main/figuratenum.png" width="400">
</p>

## 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 applications. 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?

```py
pip install figuratenum
```

🚨 Version **2.0.0** includes **renamed methods and changes in class usage**. These changes are **incompatible with previous versions**. Please review the updated usage instructions below to adapt your code to the new structure.

## Features

FigurateNum generates the following categories of **infinite sequences**:

- [x] 79 Plane figurate numbers - [Explore all plane sequences on GitHub](https://github.com/edelveart/figuratenum#plane-figurate-numbers)
- [x] 86 Space figurate numbers - [Explore all space sequences on GitHub](https://github.com/edelveart/figuratenum#space-figurate-numbers)
- [x] 68 Multidimensional figurate numbers - [Explore all multidimensional sequences on GitHub](https://github.com/edelveart/figuratenum#multidimensional-figurate-numbers)
- [x] 2 Zoo figurate numbers - [Explore all sequences on GitHub](https://github.com/edelveart/figuratenum#zoo-figurate-numbers)

During the development of this package, errata were identified in *Figurate Numbers (2012)*. The corresponding corrections are available [here](https://github.com/edelveart/figuratenum#errata-for-figurate-numbers-2012).

## How to use?

### 1. Import all sequences via the `FigurateNum` class
```py
from figuratenum import FigurateNum as fgn
```

```py
>>> seq = fgn()
>>> hyperdodecahedral = seq.hyperdodecahedral()

>>> first = next(hyperdodecahedral)
>>> second = next(hyperdodecahedral)
>>> third = next(hyperdodecahedral)
>>> fourth = next(hyperdodecahedral)

>>> print(first, second, third, fourth)
1 600 4983 19468
```

### 2. Import sequences through specialized classes: Plane, Space, Multidimensional, and Zoo

```py
# from figuratenum import PlaneFigurateNum as pfgn
# from figuratenum import SpacedimensionalFigurateNum as sfgn
from figuratenum import MultidimensionalFigurateNum as mfgn
# from figuratenum import ZooFigurateNum as zfgn
```

```py
>>> seq_loop = mfgn()
>>> k_dimensional_centered_hypertetrahedron = seq_loop.k_dimensional_centered_hypertetrahedron(21)

>>> figuratenum_arr = []
>>> for _ in range(1, 15):
>>>     next_num = next(k_dimensional_centered_hypertetrahedron)
>>>     figuratenum_arr.append(next_num)

>>> print(figuratenum_arr)
[1, 23, 276, 2300, 14950, 80730, 376740, 1560780, 5852925, 20160075, 64512240, 193536720, 548354040, 1476337800]
```

### 3. Using the `NumCollector` class for sequence collection

```py
from figuratenum import NumCollector as nc
```

Importing the `NumCollector` 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)`

```py
>>> seq = fgn()
>>> pentatope = seq.pentatope()

>>> print(nc.take_to_list(pentatope, 10))
[1, 5, 15, 35, 70, 126, 210, 330, 495, 715]
```

## Plane Figurate Numbers

1. `polygonal`
2. `triangular`
3. `square`
4. `pentagonal`
5. `hexagonal`
6. `heptagonal`
7. `octagonal`
8. `nonagonal`
9.  `decagonal`
10. `hendecagonal`
11. `dodecagonal`
12. `tridecagonal`
13. `tetradecagonal`
14. `pentadecagonal`
15. `hexadecagonal`
16. `heptadecagonal`
17. `octadecagonal`
18. `nonadecagonal`
19. `icosagonal`
20. `icosihenagonal`
21. `icosidigonal`
22. `icositrigonal`
23. `icositetragonal`
24. `icosipentagonal`
25. `icosihexagonal`
26. `icosiheptagonal`
27. `icosioctagonal`
28. `icosinonagonal`
29. `triacontagonal`
30. `centered_triangular`
31. `centered_square` = `diamond numbers`
32. `centered_pentagonal`
33. `centered_hexagonal`
34. `centered_heptagonal`
35. `centered_octagonal`
36. `centered_nonagonal`
37. `centered_decagonal`
38. `centered_hendecagonal`
39. `centered_dodecagonal` = `star`
40. `centered_tridecagonal`
41. `centered_tetradecagonal`
42. `centered_pentadecagonal`
43. `centered_hexadecagonal`
44. `centered_heptadecagonal`
45. `centered_octadecagonal`
46. `centered_nonadecagonal`
47. `centered_icosagonal`
48. `centered_icosihenagonal`
49. `centered_icosidigonal`
50. `centered_icositrigonal`
51. `centered_icositetragonal`
52. `centered_icosipentagonal`
53. `centered_icosihexagonal`
54. `centered_icosiheptagonal`
55. `centered_icosioctagonal`
56. `centered_icosinonagonal`
57. `centered_triacontagonal`
58. `centered_mgonal(m)`
59. `pronic` = `heteromecic = oblong`
60. `polite`
61. `impolite`
62. `cross`
63. `aztec_diamond`
64. `polygram(m)` = `centered_star_polygonal(m)`
65. `pentagram`
66. `gnomic`
67. `truncated_triangular`
68. `truncated_square`
69. `truncated_pronic`
70. `truncated_centered_pol(m)` = `truncated_centered_mgonal(m)`
71. `truncated_centered_triangular`
72. `truncated_centered_square`
73. `truncated_centered_pentagonal`
74. `truncated_centered_hexagonal` = `truncated_hex`
75. `generalized_mgonal(m, start_numb)`
76. `generalized_pentagonal(start_numb)`
77. `generalized_hexagonal(start_numb)`
78. `generalized_centered_pol(m, start_numb)`
79. `generalized_pronic(start_numb)`

## Space Figurate Numbers

1. `m_pyramidal(m)`
2. `triangular_pyramidal`
3. `square_pyramidal` = `pyramidal`
4. `pentagonal_pyramidal`
5. `hexagonal_pyramidal`
6. `heptagonal_pyramidal`
7. `octagonal_pyramidal`
8. `nonagonal_pyramidal`
9. `decagonal_pyramidal`
10. `hendecagonal_pyramidal`
11. `dodecagonal_pyramidal`
12. `tridecagonal_pyramidal`
13. `tetradecagonal_pyramidal`
14. `pentadecagonal_pyramidal`
15. `hexadecagonal_pyramidal`
16. `heptadecagonal_pyramidal`
17. `octadecagonal_pyramidal`
18. `nonadecagonal_pyramidal`
19. `icosagonal_pyramidal`
20. `icosihenagonal_pyramidal`
21. `icosidigonal_pyramidal`
22. `icositrigonal_pyramidal`
23. `icositetragonal_pyramidal`
24. `icosipentagonal_pyramidal`
25. `icosihexagonal_pyramidal`
26. `icosiheptagonal_pyramidal`
27. `icosioctagonal_pyramidal`
28. `icosinonagonal_pyramidal`
29. `triacontagonal_pyramidal`
30. `triangular_tetrahedral[finite]`
31. `triangular_square_pyramidal[finite]`
32. `square_tetrahedral[finite]`
33. `square_square_pyramidal[finite]`
34. `tetrahedral_square_pyramidal[finite]`
35. `cubic`
36. `tetrahedral`
37. `octahedral`
38. `dodecahedral`
39. `icosahedral`
40. `truncated_tetrahedral`
41. `truncated_cubic`
42. `truncated_octahedral`
43. `stella_octangula`
44. `centered_cube`
45. `rhombic_dodecahedral`
46. `hauy_rhombic_dodecahedral`
47. `centered_tetrahedron` = `centered_tetrahedral`
48. `centered_square_pyramid` = `centered_pyramid`
49. `centered_mgonal_pyramid(m)`
50. `centered_pentagonal_pyramid`
51. `centered_hexagonal_pyramid`
52. `centered_heptagonal_pyramid`
53. `centered_octagonal_pyramid`
54. `centered_octahedron`
55. `centered_icosahedron` = `centered_cuboctahedron`
56. `centered_dodecahedron`
57. `centered_truncated_tetrahedron`
58. `centered_truncated_cube`
59. `centered_truncated_octahedron`
60. `centered_mgonal_pyramidal(m)`
61. `centered_triangular_pyramidal`
62. `centered_square_pyramidal`
63. `centered_pentagonal_pyramidal`
64. `centered_heptagonal_pyramidal`
65. `centered_octagonal_pyramidal`
66. `centered_nonagonal_pyramidal`
67. `centered_decagonal_pyramidal`
68. `centered_hendecagonal_pyramidal`
69. `centered_dodecagonal_pyramidal`
70. `centered_hexagonal_pyramidal` = `hex_pyramidal`
71. `hexagonal_prism`
72. `mgonal_prism(m)`
73. `generalized_mgonal_pyramidal(m, start_num)`
74. `generalized_pentagonal_pyramidal(start_num)`
75. `generalized_hexagonal_pyramidal(start_num)`
76. `generalized_cubic(start_num)`
77. `generalized_octahedral(start_num)`
78. `generalized_icosahedral(start_num)`
79. `generalized_dodecahedral(start_num)`
80. `generalized_centered_cube(start_num)`
81. `generalized_centered_tetrahedron(start_num)`
82. `generalized_centered_square_pyramid(start_num)`
83. `generalized_rhombic_dodecahedral(start_num)`
84. `generalized_centered_mgonal_pyramidal(m, start_num)`
85. `generalized_mgonal_prism(m, start_num)`
86. `generalized_hexagonal_prism(start_num)`

## Multidimensional Figurate Numbers

1. `k_dimensional_hypertetrahedron(k)` = `k_hypertetrahedron(k)` = `regular_k_polytopic(k)` = `figurate_of_order_k(k)`
2. `five_dimensional_hypertetrahedron`
3. `six_dimensional_hypertetrahedron`
4. `k_dimensional_hypercube(k)` = `k_hypercube(k)`
5. `five_dimensional_hypercube`
6. `six_dimensional_hypercube`
7. `hypertetrahedral` = `pentachoron` = `pentatope` = `triangulotriangular` = `cell_5`
8. `hypercube` = `octachoron` = `tesseract` = `biquadratic` = `cell_8`
9. `hyperoctahedral` = `hexadecachoron` = `four_cross_polytope` = `four_orthoplex` = `cell_16`
10. `hypericosahedral` = `hexacosichoron` = `polytetrahedron` = `tetraplex` = `cell_600`
11. `hyperdodecahedral` = `hecatonicosachoron` = `dodecaplex` = `polydodecahedron` = `cell_120`
12. `polyoctahedral` = `icositetrachoron` = `octaplex` = `hyperdiamond` = `cell_24`
13. `four_dimensional_hyperoctahedron`
14. `five_dimensional_hyperoctahedron`
15. `six_dimensional_hyperoctahedron`
16. `seven_dimensional_hyperoctahedron`
17. `eight_dimensional_hyperoctahedron`
18. `nine_dimensional_hyperoctahedron`
19. `ten_dimensional_hyperoctahedron`
20. `k_dimensional_hyperoctahedron(k)` = `k_cross_polytope(k)`
21. `four_dimensional_mgonal_pyramidal(m)` = `mgonal_pyramidal_of_the_second_order(m)`
22. `four_dimensional_square_pyramidal`
23. `four_dimensional_pentagonal_pyramidal`
24. `four_dimensional_hexagonal_pyramidal`
25. `four_dimensional_heptagonal_pyramidal`
26. `four_dimensional_octagonal_pyramidal`
27. `four_dimensional_nonagonal_pyramidal`
28. `four_dimensional_decagonal_pyramidal`
29. `four_dimensional_hendecagonal_pyramidal`
30. `four_dimensional_dodecagonal_pyramidal`
31. `k_dimensional_mgonal_pyramidal(k, m)` = `mgonal_pyramidal_of_the_k_2_th_order(k, m)`
32. `five_dimensional_mgonal_pyramidal(m)`
33. `five_dimensional_square_pyramidal`
34. `five_dimensional_pentagonal_pyramidal`
35. `five_dimensional_hexagonal_pyramidal`
36. `five_dimensional_heptagonal_pyramidal`
37. `five_dimensional_octagonal_pyramidal`
38. `six_dimensional_mgonal_pyramidal(m)`
39. `six_dimensional_square_pyramidal`
40. `six_dimensional_pentagonal_pyramidal`
41. `six_dimensional_hexagonal_pyramidal`
42. `six_dimensional_heptagonal_pyramidal`
43. `six_dimensional_octagonal_pyramidal`
44. `centered_biquadratic`
45. `k_dimensional_centered_hypercube(k)`
46. `five_dimensional_centered_hypercube`
47. `six_dimensional_centered_hypercube`
48. `centered_polytope`
49. `k_dimensional_centered_hypertetrahedron(k)`
50. `five_dimensional_centered_hypertetrahedron`
51. `six_dimensional_centered_hypertetrahedron`
52. `centered_hyperoctahedral` = `orthoplex`
53. `nexus(k)`
54. `k_dimensional_centered_hyperoctahedron(k)`
55. `five_dimensional_centered_hyperoctahedron`
56. `six_dimensional_centered_hyperoctahedron`
57. `generalized_pentatope(start_num = 0)`
58. `generalized_k_dimensional_hypertetrahedron(k = 5, start_num = 0)`
59. `generalized_biquadratic(start_num = 0)`
60. `generalized_k_dimensional_hypercube(k = 5, start_num = 0)`
61. `generalized_hyperoctahedral(start_num = 0)`
62. `generalized_k_dimensional_hyperoctahedron(k = 5, start_num = 0)`
63. `generalized_hyperdodecahedral(start_num = 0)`
64. `generalized_hypericosahedral(start_num = 0)`
65. `generalized_polyoctahedral(start_num = 0)`
66. `generalized_k_dimensional_mgonal_pyramidal(k, m, start_num = 0)`
67. `generalized_k_dimensional_centered_hypercube(k, start_num = 0)`
68. `generalized_nexus(start_num = 0)`

###  Zoo Figurate Numbers

1. `cuban_prime`
2. `pell`


## 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 - 13n + 1` | `546, 728, 936, 1170` |


  It should be:
  | Name                 | Formula           |                       |
  | -------------------- | ----------------- | --------------------- |
  | Cent. icosihexagonal | `13n^2 - 13n + 1` | `547, 729, 937, 1171` |

- Chapter 1, formula in the table on page 51 says:

  | Name                  | Formula |       |
  | --------------------- | ------- | ----- |
  | Cent. icosiheptagonal |         | `972` |


  It should be:
  | Name                  | Formula |       |
  | --------------------- | ------- | ----- |
  | Cent. icosiheptagonal |         | `973` |

- Chapter 1, formula in the table on page 51 says:

  | Name                 | Formula |      |
  | -------------------- | ------- | ---- |
  | Cent. icosioctagonal |         | `84` |


  It should be:
  | Name                 | Formula |      |
  | -------------------- | ------- | ---- |
  | Cent. icosioctagonal |         | `85` |

- Chapter 1, page 65 (polite numbers) says:
  > `inpolite numbers`

  It should read:

  > `impolite numbers`

- Chapter 1, formula (truncated centered pentagonal numbers) on  page 72 says:
  > `TCSS_5(n) = (35n^2 - 55n) / 2 + 3`

  It 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) / 6`

  It 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)) / 3`

  Formula 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) / 3`

  Formula must write:

  > `S_4^3(n) = ((2n - 1)(n^2 - n + 2)) / 2`

- Chapter 3, page 188 (hyperoctahedral numbers) says:
  > `hexadecahoron numbers`

  It should read:

  > `hexadecachoron numbers`

- Chapter 3, page 190 (hypericosahedral numbers) says:
  > `hexacisihoron numbers`

  It 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`.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "figuratenum",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "generators, figurate numbers, infinite sequences, number sequences, number generators",
    "author": "Edgar Armando Delgado Vega",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/dc/45/1276943f4f9373a6601bbd42f02d4cbd45ac3ad8a42be6d02716e5198d41/figuratenum-2.0.3.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\"> FigurateNum </h1>\r\n\r\n**FigurateNum** is a collection of **235 figurate number generators** based on the book [Figurate Numbers](https://books.google.com.pe/books/about/Figurate.html?id=cDxYdstLPz4C&redir_esc=y) by Michel Deza and Elena Deza, published in 2012.\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://img.shields.io/pypi/v/figuratenum\" alt=\"PyPI - Version\">\r\n  <img src=\"https://img.shields.io/pypi/wheel/figuratenum\" alt=\"PyPI - Wheel\">\r\n  <img alt=\"Pepy Total Downloads\" src=\"https://img.shields.io/pepy/dt/figuratenum\">\r\n  <img src=\"https://img.shields.io/pypi/status/figuratenum\" alt=\"PyPI - Status\">\r\n  <img src=\"https://img.shields.io/github/license/edelveart/figuratenum\" alt=\"GitHub License\">\r\n</p>\r\n\r\n<p align=\"center\">\r\n  <img src=\"https://raw.githubusercontent.com/edelveart/figuratenum/main/figuratenum.png\" width=\"400\">\r\n</p>\r\n\r\n## What is the purpose of FigurateNum?\r\n\r\n**FigurateNum** facilitates the discovery of new patterns among sequences and enables various numerical calculations in mathematical projects and related applications. It can be integrated with other software to visualize the geometric objects described. Moreover, it serves as a valuable companion to the book.\r\n\r\n## How to install?\r\n\r\n```py\r\npip install figuratenum\r\n```\r\n\r\n\ud83d\udea8 Version **2.0.0** includes **renamed methods and changes in class usage**. These changes are **incompatible with previous versions**. Please review the updated usage instructions below to adapt your code to the new structure.\r\n\r\n## Features\r\n\r\nFigurateNum generates the following categories of **infinite sequences**:\r\n\r\n- [x] 79 Plane figurate numbers - [Explore all plane sequences on GitHub](https://github.com/edelveart/figuratenum#plane-figurate-numbers)\r\n- [x] 86 Space figurate numbers - [Explore all space sequences on GitHub](https://github.com/edelveart/figuratenum#space-figurate-numbers)\r\n- [x] 68 Multidimensional figurate numbers - [Explore all multidimensional sequences on GitHub](https://github.com/edelveart/figuratenum#multidimensional-figurate-numbers)\r\n- [x] 2 Zoo figurate numbers - [Explore all sequences on GitHub](https://github.com/edelveart/figuratenum#zoo-figurate-numbers)\r\n\r\nDuring the development of this package, errata were identified in *Figurate Numbers (2012)*. The corresponding corrections are available [here](https://github.com/edelveart/figuratenum#errata-for-figurate-numbers-2012).\r\n\r\n## How to use?\r\n\r\n### 1. Import all sequences via the `FigurateNum` class\r\n```py\r\nfrom figuratenum import FigurateNum as fgn\r\n```\r\n\r\n```py\r\n>>> seq = fgn()\r\n>>> hyperdodecahedral = seq.hyperdodecahedral()\r\n\r\n>>> first = next(hyperdodecahedral)\r\n>>> second = next(hyperdodecahedral)\r\n>>> third = next(hyperdodecahedral)\r\n>>> fourth = next(hyperdodecahedral)\r\n\r\n>>> print(first, second, third, fourth)\r\n1 600 4983 19468\r\n```\r\n\r\n### 2. Import sequences through specialized classes: Plane, Space, Multidimensional, and Zoo\r\n\r\n```py\r\n# from figuratenum import PlaneFigurateNum as pfgn\r\n# from figuratenum import SpacedimensionalFigurateNum as sfgn\r\nfrom figuratenum import MultidimensionalFigurateNum as mfgn\r\n# from figuratenum import ZooFigurateNum as zfgn\r\n```\r\n\r\n```py\r\n>>> seq_loop = mfgn()\r\n>>> k_dimensional_centered_hypertetrahedron = seq_loop.k_dimensional_centered_hypertetrahedron(21)\r\n\r\n>>> figuratenum_arr = []\r\n>>> for _ in range(1, 15):\r\n>>>     next_num = next(k_dimensional_centered_hypertetrahedron)\r\n>>>     figuratenum_arr.append(next_num)\r\n\r\n>>> print(figuratenum_arr)\r\n[1, 23, 276, 2300, 14950, 80730, 376740, 1560780, 5852925, 20160075, 64512240, 193536720, 548354040, 1476337800]\r\n```\r\n\r\n### 3. Using the `NumCollector` class for sequence collection\r\n\r\n```py\r\nfrom figuratenum import NumCollector as nc\r\n```\r\n\r\nImporting the `NumCollector` class allows you to use practical methods to return lists, tuples or arrays with the requested number of elements:\r\n\r\n- `take(n)`\r\n- `take_to_list(stop, start, step)`\r\n- `take_to_array(stop, start, step)`\r\n- `take_to_tuple(stop, start, step)`\r\n- `pick(n)`\r\n\r\n```py\r\n>>> seq = fgn()\r\n>>> pentatope = seq.pentatope()\r\n\r\n>>> print(nc.take_to_list(pentatope, 10))\r\n[1, 5, 15, 35, 70, 126, 210, 330, 495, 715]\r\n```\r\n\r\n## Plane Figurate Numbers\r\n\r\n1. `polygonal`\r\n2. `triangular`\r\n3. `square`\r\n4. `pentagonal`\r\n5. `hexagonal`\r\n6. `heptagonal`\r\n7. `octagonal`\r\n8. `nonagonal`\r\n9.  `decagonal`\r\n10. `hendecagonal`\r\n11. `dodecagonal`\r\n12. `tridecagonal`\r\n13. `tetradecagonal`\r\n14. `pentadecagonal`\r\n15. `hexadecagonal`\r\n16. `heptadecagonal`\r\n17. `octadecagonal`\r\n18. `nonadecagonal`\r\n19. `icosagonal`\r\n20. `icosihenagonal`\r\n21. `icosidigonal`\r\n22. `icositrigonal`\r\n23. `icositetragonal`\r\n24. `icosipentagonal`\r\n25. `icosihexagonal`\r\n26. `icosiheptagonal`\r\n27. `icosioctagonal`\r\n28. `icosinonagonal`\r\n29. `triacontagonal`\r\n30. `centered_triangular`\r\n31. `centered_square` = `diamond numbers`\r\n32. `centered_pentagonal`\r\n33. `centered_hexagonal`\r\n34. `centered_heptagonal`\r\n35. `centered_octagonal`\r\n36. `centered_nonagonal`\r\n37. `centered_decagonal`\r\n38. `centered_hendecagonal`\r\n39. `centered_dodecagonal` = `star`\r\n40. `centered_tridecagonal`\r\n41. `centered_tetradecagonal`\r\n42. `centered_pentadecagonal`\r\n43. `centered_hexadecagonal`\r\n44. `centered_heptadecagonal`\r\n45. `centered_octadecagonal`\r\n46. `centered_nonadecagonal`\r\n47. `centered_icosagonal`\r\n48. `centered_icosihenagonal`\r\n49. `centered_icosidigonal`\r\n50. `centered_icositrigonal`\r\n51. `centered_icositetragonal`\r\n52. `centered_icosipentagonal`\r\n53. `centered_icosihexagonal`\r\n54. `centered_icosiheptagonal`\r\n55. `centered_icosioctagonal`\r\n56. `centered_icosinonagonal`\r\n57. `centered_triacontagonal`\r\n58. `centered_mgonal(m)`\r\n59. `pronic` = `heteromecic = oblong`\r\n60. `polite`\r\n61. `impolite`\r\n62. `cross`\r\n63. `aztec_diamond`\r\n64. `polygram(m)` = `centered_star_polygonal(m)`\r\n65. `pentagram`\r\n66. `gnomic`\r\n67. `truncated_triangular`\r\n68. `truncated_square`\r\n69. `truncated_pronic`\r\n70. `truncated_centered_pol(m)` = `truncated_centered_mgonal(m)`\r\n71. `truncated_centered_triangular`\r\n72. `truncated_centered_square`\r\n73. `truncated_centered_pentagonal`\r\n74. `truncated_centered_hexagonal` = `truncated_hex`\r\n75. `generalized_mgonal(m, start_numb)`\r\n76. `generalized_pentagonal(start_numb)`\r\n77. `generalized_hexagonal(start_numb)`\r\n78. `generalized_centered_pol(m, start_numb)`\r\n79. `generalized_pronic(start_numb)`\r\n\r\n## Space Figurate Numbers\r\n\r\n1. `m_pyramidal(m)`\r\n2. `triangular_pyramidal`\r\n3. `square_pyramidal` = `pyramidal`\r\n4. `pentagonal_pyramidal`\r\n5. `hexagonal_pyramidal`\r\n6. `heptagonal_pyramidal`\r\n7. `octagonal_pyramidal`\r\n8. `nonagonal_pyramidal`\r\n9. `decagonal_pyramidal`\r\n10. `hendecagonal_pyramidal`\r\n11. `dodecagonal_pyramidal`\r\n12. `tridecagonal_pyramidal`\r\n13. `tetradecagonal_pyramidal`\r\n14. `pentadecagonal_pyramidal`\r\n15. `hexadecagonal_pyramidal`\r\n16. `heptadecagonal_pyramidal`\r\n17. `octadecagonal_pyramidal`\r\n18. `nonadecagonal_pyramidal`\r\n19. `icosagonal_pyramidal`\r\n20. `icosihenagonal_pyramidal`\r\n21. `icosidigonal_pyramidal`\r\n22. `icositrigonal_pyramidal`\r\n23. `icositetragonal_pyramidal`\r\n24. `icosipentagonal_pyramidal`\r\n25. `icosihexagonal_pyramidal`\r\n26. `icosiheptagonal_pyramidal`\r\n27. `icosioctagonal_pyramidal`\r\n28. `icosinonagonal_pyramidal`\r\n29. `triacontagonal_pyramidal`\r\n30. `triangular_tetrahedral[finite]`\r\n31. `triangular_square_pyramidal[finite]`\r\n32. `square_tetrahedral[finite]`\r\n33. `square_square_pyramidal[finite]`\r\n34. `tetrahedral_square_pyramidal[finite]`\r\n35. `cubic`\r\n36. `tetrahedral`\r\n37. `octahedral`\r\n38. `dodecahedral`\r\n39. `icosahedral`\r\n40. `truncated_tetrahedral`\r\n41. `truncated_cubic`\r\n42. `truncated_octahedral`\r\n43. `stella_octangula`\r\n44. `centered_cube`\r\n45. `rhombic_dodecahedral`\r\n46. `hauy_rhombic_dodecahedral`\r\n47. `centered_tetrahedron` = `centered_tetrahedral`\r\n48. `centered_square_pyramid` = `centered_pyramid`\r\n49. `centered_mgonal_pyramid(m)`\r\n50. `centered_pentagonal_pyramid`\r\n51. `centered_hexagonal_pyramid`\r\n52. `centered_heptagonal_pyramid`\r\n53. `centered_octagonal_pyramid`\r\n54. `centered_octahedron`\r\n55. `centered_icosahedron` = `centered_cuboctahedron`\r\n56. `centered_dodecahedron`\r\n57. `centered_truncated_tetrahedron`\r\n58. `centered_truncated_cube`\r\n59. `centered_truncated_octahedron`\r\n60. `centered_mgonal_pyramidal(m)`\r\n61. `centered_triangular_pyramidal`\r\n62. `centered_square_pyramidal`\r\n63. `centered_pentagonal_pyramidal`\r\n64. `centered_heptagonal_pyramidal`\r\n65. `centered_octagonal_pyramidal`\r\n66. `centered_nonagonal_pyramidal`\r\n67. `centered_decagonal_pyramidal`\r\n68. `centered_hendecagonal_pyramidal`\r\n69. `centered_dodecagonal_pyramidal`\r\n70. `centered_hexagonal_pyramidal` = `hex_pyramidal`\r\n71. `hexagonal_prism`\r\n72. `mgonal_prism(m)`\r\n73. `generalized_mgonal_pyramidal(m, start_num)`\r\n74. `generalized_pentagonal_pyramidal(start_num)`\r\n75. `generalized_hexagonal_pyramidal(start_num)`\r\n76. `generalized_cubic(start_num)`\r\n77. `generalized_octahedral(start_num)`\r\n78. `generalized_icosahedral(start_num)`\r\n79. `generalized_dodecahedral(start_num)`\r\n80. `generalized_centered_cube(start_num)`\r\n81. `generalized_centered_tetrahedron(start_num)`\r\n82. `generalized_centered_square_pyramid(start_num)`\r\n83. `generalized_rhombic_dodecahedral(start_num)`\r\n84. `generalized_centered_mgonal_pyramidal(m, start_num)`\r\n85. `generalized_mgonal_prism(m, start_num)`\r\n86. `generalized_hexagonal_prism(start_num)`\r\n\r\n## Multidimensional Figurate Numbers\r\n\r\n1. `k_dimensional_hypertetrahedron(k)` = `k_hypertetrahedron(k)` = `regular_k_polytopic(k)` = `figurate_of_order_k(k)`\r\n2. `five_dimensional_hypertetrahedron`\r\n3. `six_dimensional_hypertetrahedron`\r\n4. `k_dimensional_hypercube(k)` = `k_hypercube(k)`\r\n5. `five_dimensional_hypercube`\r\n6. `six_dimensional_hypercube`\r\n7. `hypertetrahedral` = `pentachoron` = `pentatope` = `triangulotriangular` = `cell_5`\r\n8. `hypercube` = `octachoron` = `tesseract` = `biquadratic` = `cell_8`\r\n9. `hyperoctahedral` = `hexadecachoron` = `four_cross_polytope` = `four_orthoplex` = `cell_16`\r\n10. `hypericosahedral` = `hexacosichoron` = `polytetrahedron` = `tetraplex` = `cell_600`\r\n11. `hyperdodecahedral` = `hecatonicosachoron` = `dodecaplex` = `polydodecahedron` = `cell_120`\r\n12. `polyoctahedral` = `icositetrachoron` = `octaplex` = `hyperdiamond` = `cell_24`\r\n13. `four_dimensional_hyperoctahedron`\r\n14. `five_dimensional_hyperoctahedron`\r\n15. `six_dimensional_hyperoctahedron`\r\n16. `seven_dimensional_hyperoctahedron`\r\n17. `eight_dimensional_hyperoctahedron`\r\n18. `nine_dimensional_hyperoctahedron`\r\n19. `ten_dimensional_hyperoctahedron`\r\n20. `k_dimensional_hyperoctahedron(k)` = `k_cross_polytope(k)`\r\n21. `four_dimensional_mgonal_pyramidal(m)` = `mgonal_pyramidal_of_the_second_order(m)`\r\n22. `four_dimensional_square_pyramidal`\r\n23. `four_dimensional_pentagonal_pyramidal`\r\n24. `four_dimensional_hexagonal_pyramidal`\r\n25. `four_dimensional_heptagonal_pyramidal`\r\n26. `four_dimensional_octagonal_pyramidal`\r\n27. `four_dimensional_nonagonal_pyramidal`\r\n28. `four_dimensional_decagonal_pyramidal`\r\n29. `four_dimensional_hendecagonal_pyramidal`\r\n30. `four_dimensional_dodecagonal_pyramidal`\r\n31. `k_dimensional_mgonal_pyramidal(k, m)` = `mgonal_pyramidal_of_the_k_2_th_order(k, m)`\r\n32. `five_dimensional_mgonal_pyramidal(m)`\r\n33. `five_dimensional_square_pyramidal`\r\n34. `five_dimensional_pentagonal_pyramidal`\r\n35. `five_dimensional_hexagonal_pyramidal`\r\n36. `five_dimensional_heptagonal_pyramidal`\r\n37. `five_dimensional_octagonal_pyramidal`\r\n38. `six_dimensional_mgonal_pyramidal(m)`\r\n39. `six_dimensional_square_pyramidal`\r\n40. `six_dimensional_pentagonal_pyramidal`\r\n41. `six_dimensional_hexagonal_pyramidal`\r\n42. `six_dimensional_heptagonal_pyramidal`\r\n43. `six_dimensional_octagonal_pyramidal`\r\n44. `centered_biquadratic`\r\n45. `k_dimensional_centered_hypercube(k)`\r\n46. `five_dimensional_centered_hypercube`\r\n47. `six_dimensional_centered_hypercube`\r\n48. `centered_polytope`\r\n49. `k_dimensional_centered_hypertetrahedron(k)`\r\n50. `five_dimensional_centered_hypertetrahedron`\r\n51. `six_dimensional_centered_hypertetrahedron`\r\n52. `centered_hyperoctahedral` = `orthoplex`\r\n53. `nexus(k)`\r\n54. `k_dimensional_centered_hyperoctahedron(k)`\r\n55. `five_dimensional_centered_hyperoctahedron`\r\n56. `six_dimensional_centered_hyperoctahedron`\r\n57. `generalized_pentatope(start_num = 0)`\r\n58. `generalized_k_dimensional_hypertetrahedron(k = 5, start_num = 0)`\r\n59. `generalized_biquadratic(start_num = 0)`\r\n60. `generalized_k_dimensional_hypercube(k = 5, start_num = 0)`\r\n61. `generalized_hyperoctahedral(start_num = 0)`\r\n62. `generalized_k_dimensional_hyperoctahedron(k = 5, start_num = 0)`\r\n63. `generalized_hyperdodecahedral(start_num = 0)`\r\n64. `generalized_hypericosahedral(start_num = 0)`\r\n65. `generalized_polyoctahedral(start_num = 0)`\r\n66. `generalized_k_dimensional_mgonal_pyramidal(k, m, start_num = 0)`\r\n67. `generalized_k_dimensional_centered_hypercube(k, start_num = 0)`\r\n68. `generalized_nexus(start_num = 0)`\r\n\r\n###  Zoo Figurate Numbers\r\n\r\n1. `cuban_prime`\r\n2. `pell`\r\n\r\n\r\n## Errata for *Figurate Numbers (2012)*\r\n\r\nThis 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.\r\n\r\n- Chapter 1, formula in the table on page 6 says:\r\n\r\n  | Name   | Formula             |     |\r\n  | ------ | ------------------- | --- |\r\n  | Square | `1/2 (n^2 - 0 * n)` |     |\r\n\r\n\r\n  It should be:\r\n  | Name   | Formula              |     |\r\n  | ------ | -------------------- | --- |\r\n  | Square | `1/2 (2n^2 - 0 * n)` |     |\r\n\r\n- Chapter 1, formula in the table on page 51 says:\r\n\r\n  | Name                 | Formula            |                       |\r\n  | -------------------- | ------------------ | --------------------- |\r\n  | Cent. icosihexagonal | `1/3n^2 - 13n + 1` | `546, 728, 936, 1170` |\r\n\r\n\r\n  It should be:\r\n  | Name                 | Formula           |                       |\r\n  | -------------------- | ----------------- | --------------------- |\r\n  | Cent. icosihexagonal | `13n^2 - 13n + 1` | `547, 729, 937, 1171` |\r\n\r\n- Chapter 1, formula in the table on page 51 says:\r\n\r\n  | Name                  | Formula |       |\r\n  | --------------------- | ------- | ----- |\r\n  | Cent. icosiheptagonal |         | `972` |\r\n\r\n\r\n  It should be:\r\n  | Name                  | Formula |       |\r\n  | --------------------- | ------- | ----- |\r\n  | Cent. icosiheptagonal |         | `973` |\r\n\r\n- Chapter 1, formula in the table on page 51 says:\r\n\r\n  | Name                 | Formula |      |\r\n  | -------------------- | ------- | ---- |\r\n  | Cent. icosioctagonal |         | `84` |\r\n\r\n\r\n  It should be:\r\n  | Name                 | Formula |      |\r\n  | -------------------- | ------- | ---- |\r\n  | Cent. icosioctagonal |         | `85` |\r\n\r\n- Chapter 1, page 65 (polite numbers) says:\r\n  > `inpolite numbers`\r\n\r\n  It should read:\r\n\r\n  > `impolite numbers`\r\n\r\n- Chapter 1, formula (truncated centered pentagonal numbers) on  page 72 says:\r\n  > `TCSS_5(n) = (35n^2 - 55n) / 2 + 3`\r\n\r\n  It should be:\r\n  > `TCSS_5(n) = (35n^2 - 55n) / 2 + 11`\r\n\r\n- Chapter 2, formula of octagonal pyramidal number on  page 92 says:\r\n  > `n(n+1)(6n-1) / 6`\r\n\r\n  It should be:\r\n  > `n(n+1)(6n-3) / 6`\r\n\r\n- Chapter 2, page 140 says:\r\n  > centered square pyramidal numbers are 1, 6, 19, 44, 85, 111, 146, 231, ...\r\n\r\n  This sequence must exclude the number 111:\r\n\r\n  > centered square pyramidal numbers are 1, 6, 19, 44, 85, ~~111~~, 146, 231, ...\r\n\r\n- Chapter 2, page 155 (generalized centered tetrahedron numbers) says:\r\n  > `S_3^3(n) = ((2n - 1)(n^2 + n + 3)) / 3`\r\n\r\n  Formula must have a negative sign:\r\n\r\n  > `S_3^3(n) = ((2n - 1)(n^2 - n + 3)) / 3`\r\n\r\n- Chapter 2, page 156 (generalized centered square pyramid numbers) says:\r\n  > `S_4^3(n) = ((2n - 1)(n^2 - n + 2)^2) / 3`\r\n\r\n  Formula must write:\r\n\r\n  > `S_4^3(n) = ((2n - 1)(n^2 - n + 2)) / 2`\r\n\r\n- Chapter 3, page 188 (hyperoctahedral numbers) says:\r\n  > `hexadecahoron numbers`\r\n\r\n  It should read:\r\n\r\n  > `hexadecachoron numbers`\r\n\r\n- Chapter 3, page 190 (hypericosahedral numbers) says:\r\n  > `hexacisihoron numbers`\r\n\r\n  It should read:\r\n\r\n  > `hexacosichoron numbers`\r\n\r\n\r\n## Contributing\r\n\r\nFigurateNumber is currently under development, and we warmly invite your contributions. Just **fork** the project and then submit a **pull request**:\r\n\r\n- Sequences from Chapters 1, 2, and 3 of the book\r\n- New sequences not included in the book: If you have new sequences, please provide the source.\r\n- Tests, documentation and errata in the book\r\n\r\nWhen making commits, please use the following conventional prefixes to indicate the nature of the changes: `feat`, `refactor`, `fix`, `docs`, and `test`.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Generate 235 infinite figurate number sequences for mathematical research, applications, and exploration in Python.",
    "version": "2.0.3",
    "project_urls": {
        "Homepage": "https://github.com/edelveart/figuratenum",
        "Source": "https://github.com/edelveart/figuratenum"
    },
    "split_keywords": [
        "generators",
        " figurate numbers",
        " infinite sequences",
        " number sequences",
        " number generators"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b95afdc415a532728d84f1bb99da2ee32aebe87c1209d6c88c849e02f0d5d72b",
                "md5": "361e187c42b9d7f84999fbc2038a712c",
                "sha256": "b9e4a02b94d94fb3d1c77b652c38699071adfe923af44ff14c9ced4a54fc1b70"
            },
            "downloads": -1,
            "filename": "figuratenum-2.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "361e187c42b9d7f84999fbc2038a712c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 20397,
            "upload_time": "2025-07-10T23:42:06",
            "upload_time_iso_8601": "2025-07-10T23:42:06.570911Z",
            "url": "https://files.pythonhosted.org/packages/b9/5a/fdc415a532728d84f1bb99da2ee32aebe87c1209d6c88c849e02f0d5d72b/figuratenum-2.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dc451276943f4f9373a6601bbd42f02d4cbd45ac3ad8a42be6d02716e5198d41",
                "md5": "ffb199f9cf5809ebf133caa3097bd97e",
                "sha256": "465acc88f10b5d15765c28dca4733ef24b58bb1080c027ef9239ddd15c854423"
            },
            "downloads": -1,
            "filename": "figuratenum-2.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "ffb199f9cf5809ebf133caa3097bd97e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 28013,
            "upload_time": "2025-07-10T23:42:07",
            "upload_time_iso_8601": "2025-07-10T23:42:07.790668Z",
            "url": "https://files.pythonhosted.org/packages/dc/45/1276943f4f9373a6601bbd42f02d4cbd45ac3ad8a42be6d02716e5198d41/figuratenum-2.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 23:42:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "edelveart",
    "github_project": "figuratenum",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "figuratenum"
}
        
Elapsed time: 0.87179s