Name | figuratenum JSON |
Version |
1.0.1
JSON |
| download |
home_page | None |
Summary | Generate 233 infinite figurate number sequences for mathematical research, applications, and exploration in Python. |
upload_time | 2024-12-04 19:04:08 |
maintainer | None |
docs_url | None |
author | Edgar Armando Delgado Vega |
requires_python | >=3.9 |
license | MIT License Copyright (c) 2024 Edgar Armando Delgado Vega Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
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.
|
# FigurateNum
![PyPI - Version](https://img.shields.io/pypi/v/figuratenum)
![GitHub License](https://img.shields.io/github/license/edelveart/figuratenum)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/figuratenum)
![PyPI - Status](https://img.shields.io/pypi/status/figuratenum)
**FigurateNum** is a collection of **233 figurate number generators** based on the book
> [Figurate Numbers](https://books.google.com.pe/books/about/Figurate_Numbers.html?id=cDxYdstLPz4C&redir_esc=y) by Michel Deza and Elena Deza, published in 2012.
FigurateNum generates the following types of **infinite sequences**:
- [x] 79 sequences of plane figurate numbers
- [x] 86 sequences of space figurate numbers
- [x] 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?
```py
pip install figuratenum
```
## How to import figuratenum?
```py
import figuratenum as fgn
```
## How to use?
```py
>>> 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:
```py
>>> 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
```py
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)`
```py
>>> 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
1. `polygonal_numbers`
2. `triangular_numbers`
3. `square_numbers`
4. `pentagonal_numbers`
5. `hexagonal_numbers`
6. `heptagonal_numbers`
7. `octagonal_numbers`
8. `nonagonal_numbers`
9. `decagonal_numbers`
10. `hendecagonal_numbers`
11. `dodecagonal_numbers`
12. `tridecagonal_numbers`
13. `tetradecagonal_numbers`
14. `pentadecagonal_numbers`
15. `hexadecagonal_numbers`
16. `heptadecagonal_numbers`
17. `octadecagonal_numbers`
18. `nonadecagonal_numbers`
19. `icosagonal_numbers`
20. `icosihenagonal_numbers`
21. `icosidigonal_numbers`
22. `icositrigonal_numbers`
23. `icositetragonal_numbers`
24. `icosipentagonal_numbers`
25. `icosihexagonal_numbers`
26. `icosiheptagonal_numbers`
27. `icosioctagonal_numbers`
28. `icosinonagonal_numbers`
29. `triacontagonal_numbers`
30. `centered_triangular_numbers`
31. `centered_square_numbers` = `diamond numbers`
32. `centered_pentagonal_numbers`
33. `centered_hexagonal_numbers`
34. `centered_heptagonal_numbers`
35. `centered_octagonal_numbers`
36. `centered_nonagonal_numbers`
37. `centered_decagonal_numbers`
38. `centered_hendecagonal_numbers`
39. `centered_dodecagonal_numbers` = `star_numbers`
40. `centered_tridecagonal_numbers`
41. `centered_tetradecagonal_numbers`
42. `centered_pentadecagonal_numbers`
43. `centered_hexadecagonal_numbers`
44. `centered_heptadecagonal_numbers`
45. `centered_octadecagonal_numbers`
46. `centered_nonadecagonal_numbers`
47. `centered_icosagonal_numbers`
48. `centered_icosihenagonal_numbers`
49. `centered_icosidigonal_numbers`
50. `centered_icositrigonal_numbers`
51. `centered_icositetragonal_numbers`
52. `centered_icosipentagonal_numbers`
53. `centered_icosihexagonal_numbers`
54. `centered_icosiheptagonal_numbers`
55. `centered_icosioctagonal_numbers`
56. `centered_icosinonagonal_numbers`
57. `centered_triacontagonal_numbers`
58. `centered_mgonal_numbers(m)`
59. `pronic_numbers` = `heteromecic_numbers = oblong_numbers`
60. `polite_numbers`
61. `impolite_numbers`
62. `cross_numbers`
63. `aztec_diamond_numbers`
64. `polygram_numbers(m)` = `centered_star_polygonal_numbers(m)`
65. `pentagram_numbers`
66. `gnomic_numbers`
67. `truncated_triangular_numbers`
68. `truncated_square_numbers`
69. `truncated_pronic_numbers`
70. `truncated_centered_pol_numbers(m)` = `truncated_centered_mgonal_numbers(m)`
71. `truncated_centered_triangular_numbers`
72. `truncated_centered_square_numbers`
73. `truncated_centered_pentagonal_numbers`
74. `truncated_centered_hexagonal_numbers` = `truncated_hex_numbers`
75. `generalized_mgonal_numbers(m, start_numb)`
76. `generalized_pentagonal_numbers(start_numb)`
77. `generalized_hexagonal_numbers(start_numb)`
78. `generalized_centered_pol_numbers(m, start_numb)`
79. `generalized_pronic_numbers(start_numb)`
## Space figurate numbers
1. `m_pyramidal_numbers(m)`
2. `triangular_pyramidal_numbers`
3. `square_pyramidal_numbers` = `pyramidal_numbers`
4. `pentagonal_pyramidal_numbers`
5. `hexagonal_pyramidal_numbers`
6. `heptagonal_pyramidal_numbers`
7. `octagonal_pyramidal_numbers`
8. `nonagonal_pyramidal_numbers`
9. `decagonal_pyramidal_numbers`
10. `hendecagonal_pyramidal_numbers`
11. `dodecagonal_pyramidal_numbers`
12. `tridecagonal_pyramidal_numbers`
13. `tetradecagonal_pyramidal_numbers`
14. `pentadecagonal_pyramidal_numbers`
15. `hexadecagonal_pyramidal_numbers`
16. `heptadecagonal_pyramidal_numbers`
17. `octadecagonal_pyramidal_numbers`
18. `nonadecagonal_pyramidal_numbers`
19. `icosagonal_pyramidal_numbers`
20. `icosihenagonal_pyramidal_numbers`
21. `icosidigonal_pyramidal_numbers`
22. `icositrigonal_pyramidal_numbers`
23. `icositetragonal_pyramidal_numbers`
24. `icosipentagonal_pyramidal_numbers`
25. `icosihexagonal_pyramidal_numbers`
26. `icosiheptagonal_pyramidal_numbers`
27. `icosioctagonal_pyramidal_numbers`
28. `icosinonagonal_pyramidal_numbers`
29. `triacontagonal_pyramidal_numbers`
30. `triangular_tetrahedral_numbers[finite]`
31. `triangular_square_pyramidal_numbers[finite]`
32. `square_tetrahedral_numbers[finite]`
33. `square_square_pyramidal_numbers[finite]`
34. `tetrahedral_square_pyramidal_numbers[finite]`
35. `cubic_numbers`
36. `tetrahedral_numbers`
37. `octahedral_numbers`
38. `dodecahedral_numbers`
39. `icosahedral_numbers`
40. `truncated_tetrahedral_numbers`
41. `truncated_cubic_numbers`
42. `truncated_octahedral_numbers`
43. `stella_octangula_numbers`
44. `centered_cube_numbers`
45. `rhombic_dodecahedral_numbers`
46. `hauy_rhombic_dodecahedral_numbers`
47. `centered_tetrahedron_numbers` = `centered_tetrahedral_numbers`
48. `centered_square_pyramid_numbers` = `centered_pyramid_numbers`
49. `centered_mgonal_pyramid_numbers(m)`
50. `centered_pentagonal_pyramid_numbers`
51. `centered_hexagonal_pyramid_numbers`
52. `centered_heptagonal_pyramid_numbers`
53. `centered_octagonal_pyramid_numbers`
54. `centered_octahedron_numbers`
55. `centered_icosahedron_numbers` = `centered_cuboctahedron_numbers`
56. `centered_dodecahedron_numbers`
57. `centered_truncated_tetrahedron_numbers`
58. `centered_truncated_cube_numbers`
59. `centered_truncated_octahedron_numbers`
60. `centered_mgonal_pyramidal_numbers(m)`
61. `centered_triangular_pyramidal_numbers`
62. `centered_square_pyramidal_numbers`
63. `centered_pentagonal_pyramidal_numbers`
64. `centered_heptagonal_pyramidal_numbers`
65. `centered_octagonal_pyramidal_numbers`
66. `centered_nonagonal_pyramidal_numbers`
67. `centered_decagonal_pyramidal_numbers`
68. `centered_hendecagonal_pyramidal_numbers`
69. `centered_dodecagonal_pyramidal_numbers`
70. `centered_hexagonal_pyramidal_numbers` = `hex_pyramidal_numbers`
71. `hexagonal_prism_numbers`
72. `mgonal_prism_numbers(m)`
73. `generalized_mgonal_pyramidal_numbers(m, start_num)`
74. `generalized_pentagonal_pyramidal_numbers(start_num)`
75. `generalized_hexagonal_pyramidal_numbers(start_num)`
76. `generalized_cubic_numbers(start_num)`
77. `generalized_octahedral_numbers(start_num)`
78. `generalized_icosahedral_numbers(start_num)`
79. `generalized_dodecahedral_numbers(start_num)`
80. `generalized_centered_cube_numbers(start_num)`
81. `generalized_centered_tetrahedron_numbers(start_num)`
82. `generalized_centered_square_pyramid_numbers(start_num)`
83. `generalized_rhombic_dodecahedral_numbers(start_num)`
84. `generalized_centered_mgonal_pyramidal_numbers(m, start_num)`
85. `generalized_mgonal_prism_numbers(m, start_num)`
86. `generalized_hexagonal_prism_numbers(start_num)`
## Multidimensional figurate numbers
1. `pentatope_numbers` = `hypertetrahedral_numbers` = `triangulotriangular_numbers`
2. `k_dimensional_hypertetrahedron_numbers(k)` = `k_hypertetrahedron_numbers(k)` = `regular_k_polytopic_numbers(k)` = `figurate_numbers_of_order_k(k)`
3. `five_dimensional_hypertetrahedron_numbers`
4. `six_dimensional_hypertetrahedron_numbers`
5. `biquadratic_numbers`
6. `k_dimensional_hypercube_numbers(k)` = `k_hypercube_numbers(k)`
7. `five_dimensional_hypercube_numbers`
8. `six_dimensional_hypercube_numbers`
9. `hyperoctahedral_numbers` = `hexadecachoron_numbers` = `four_cross_polytope_numbers` = `four_orthoplex_numbers`
10. `hypericosahedral_numbers` = `tetraplex_numbers` = `polytetrahedron_numbers` = `hexacosichoron_numbers`
11. `hyperdodecahedral_numbers` = `hecatonicosachoron_numbers` = `dodecaplex_numbers` = `polydodecahedron_numbers`
12. `polyoctahedral_numbers` = `icositetrachoron_numbers` = `octaplex_numbers` = `hyperdiamond_numbers`
13. `four_dimensional_hyperoctahedron_numbers`
14. `five_dimensional_hyperoctahedron_numbers`
15. `six_dimensional_hyperoctahedron_numbers`
16. `seven_dimensional_hyperoctahedron_numbers`
17. `eight_dimensional_hyperoctahedron_numbers`
18. `nine_dimensional_hyperoctahedron_numbers`
19. `ten_dimensional_hyperoctahedron_numbers`
20. `k_dimensional_hyperoctahedron_numbers(k)` = `k_cross_polytope_numbers(k)`
21. `four_dimensional_mgonal_pyramidal_numbers(m)` = `mgonal_pyramidal_numbers_of_the_second_order(m)`
22. `four_dimensional_square_pyramidal_numbers`
23. `four_dimensional_pentagonal_pyramidal_numbers`
24. `four_dimensional_hexagonal_pyramidal_numbers`
25. `four_dimensional_heptagonal_pyramidal_numbers`
26. `four_dimensional_octagonal_pyramidal_numbers`
27. `four_dimensional_nonagonal_pyramidal_numbers`
28. `four_dimensional_decagonal_pyramidal_numbers`
29. `four_dimensional_hendecagonal_pyramidal_numbers`
30. `four_dimensional_dodecagonal_pyramidal_numbers`
31. `k_dimensional_mgonal_pyramidal_numbers(k, m)` = `mgonal_pyramidal_numbers_of_the_k_2_th_order(k, m)`
32. `five_dimensional_mgonal_pyramidal_numbers(m)`
33. `five_dimensional_square_pyramidal_numbers`
34. `five_dimensional_pentagonal_pyramidal_numbers`
35. `five_dimensional_hexagonal_pyramidal_numbers`
36. `five_dimensional_heptagonal_pyramidal_numbers`
37. `five_dimensional_octagonal_pyramidal_numbers`
38. `six_dimensional_mgonal_pyramidal_numbers(m)`
39. `six_dimensional_square_pyramidal_numbers`
40. `six_dimensional_pentagonal_pyramidal_numbers`
41. `six_dimensional_hexagonal_pyramidal_numbers`
42. `six_dimensional_heptagonal_pyramidal_numbers`
43. `six_dimensional_octagonal_pyramidal_numbers`
44. `centered_biquadratic_numbers`
45. `k_dimensional_centered_hypercube_numbers(k)`
46. `five_dimensional_centered_hypercube_numbers`
47. `six_dimensional_centered_hypercube_numbers`
48. `centered_polytope_numbers`
49. `k_dimensional_centered_hypertetrahedron_numbers(k)`
50. `five_dimensional_centered_hypertetrahedron_numbers`
51. `six_dimensional_centered_hypertetrahedron_numbers`
52. `centered_hyperoctahedral_numbers` = `orthoplex_numbers`
53. `nexus_numbers(k)`
54. `k_dimensional_centered_hyperoctahedron_numbers(k)`
55. `five_dimensional_centered_hyperoctahedron_numbers`
56. `six_dimensional_centered_hyperoctahedron_numbers`
57. `generalized_pentatope_numbers(start_num = 0)`
58. `generalized_k_dimensional_hypertetrahedron_numbers(k = 5, start_num = 0)`
59. `generalized_biquadratic_numbers(start_num = 0)`
60. `generalized_k_dimensional_hypercube_numbers(k = 5, start_num = 0)`
61. `generalized_hyperoctahedral_numbers(start_num = 0)`
62. `generalized_k_dimensional_hyperoctahedron_numbers(k = 5, start_num = 0)`
63. `generalized_hyperdodecahedral_numbers(start_num = 0)`
64. `generalized_hypericosahedral_numbers(start_num = 0)`
65. `generalized_polyoctahedral_numbers(start_num = 0)`
66. `generalized_k_dimensional_mgonal_pyramidal_numbers(k, m, start_num = 0)`
67. `generalized_k_dimensional_centered_hypercube_numbers(k, start_num = 0)`
68. `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 + 1` | `546, 728, 936, 1170` |
It should be:
| Name | Formula | |
| -------------------- | --------------------- | --------------------- |
| Cent. icosihexagonal | `1/3n^2 - 13 * n + 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/b4/b5/96502ec0f792bd935aa21f78d0684a4478e972394ac630ecc8d339a212fb/figuratenum-1.0.1.tar.gz",
"platform": null,
"description": "# FigurateNum\r\n\r\n![PyPI - Version](https://img.shields.io/pypi/v/figuratenum)\r\n![GitHub License](https://img.shields.io/github/license/edelveart/figuratenum)\r\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/figuratenum)\r\n![PyPI - Status](https://img.shields.io/pypi/status/figuratenum)\r\n\r\n**FigurateNum** is a collection of **233 figurate number generators** based on the book\r\n> [Figurate Numbers](https://books.google.com.pe/books/about/Figurate_Numbers.html?id=cDxYdstLPz4C&redir_esc=y) by Michel Deza and Elena Deza, published in 2012.\r\n\r\nFigurateNum generates the following types of **infinite sequences**:\r\n\r\n- [x] 79 sequences of plane figurate numbers\r\n- [x] 86 sequences of space figurate numbers\r\n- [x] 68 sequences of multidimensional figurate numbers\r\n\r\n## What is the purpose of FigurateNum?\r\n\r\nFigurateNum 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!\r\n\r\n## How to install?\r\n\r\n```py\r\npip install figuratenum\r\n```\r\n\r\n## How to import figuratenum?\r\n\r\n```py\r\nimport figuratenum as fgn\r\n```\r\n\r\n## How to use?\r\n\r\n```py\r\n>>> seq = fgn.hyperdodecahedral_numbers()\r\n\r\n>>> first = next(seq)\r\n>>> second = next(seq)\r\n>>> third = next(seq)\r\n>>> fourth = next(seq)\r\n\r\n>>> print(first, second, third, fourth)\r\n1 600 4983 19468\r\n```\r\n\r\nYou could get a list of numbers using a loop:\r\n\r\n```py\r\n>>> generator = fgn.k_dimensional_centered_hypertetrahedron_numbers(21)\r\n>>> sequence = []\r\n>>> for _ in range(1, 15):\r\n>>> next_num = next(generator)\r\n>>> sequence.append(next_num)\r\n\r\n>>> print(sequence)\r\n[1, 23, 276, 2300, 14950, 80730, 376740, 1560780, 5852925, 20160075, 64512240, 193536720, 548354040, 1476337800]\r\n```\r\n\r\n## Alternative usage via FigurateNum class\r\n\r\n```py\r\nfrom figuratenum import FigurateNum as fgn\r\n```\r\n\r\nImporting the `FigurateNum` 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>>> print(fgn.generalized_dodecahedral_numbers(-3).take(8))\r\n[-165, -56, -10, 0, 1, 20, 84, 220]\r\n>>> print(fgn.octadecagonal_pyramidal_numbers().take_to_array(5))\r\narray('d', [1.0, 19.0, 70.0, 170.0, 335.0])\r\n```\r\n\r\n## Plane figurate numbers\r\n\r\n1. `polygonal_numbers`\r\n2. `triangular_numbers`\r\n3. `square_numbers`\r\n4. `pentagonal_numbers`\r\n5. `hexagonal_numbers`\r\n6. `heptagonal_numbers`\r\n7. `octagonal_numbers`\r\n8. `nonagonal_numbers`\r\n9. `decagonal_numbers`\r\n10. `hendecagonal_numbers`\r\n11. `dodecagonal_numbers`\r\n12. `tridecagonal_numbers`\r\n13. `tetradecagonal_numbers`\r\n14. `pentadecagonal_numbers`\r\n15. `hexadecagonal_numbers`\r\n16. `heptadecagonal_numbers`\r\n17. `octadecagonal_numbers`\r\n18. `nonadecagonal_numbers`\r\n19. `icosagonal_numbers`\r\n20. `icosihenagonal_numbers`\r\n21. `icosidigonal_numbers`\r\n22. `icositrigonal_numbers`\r\n23. `icositetragonal_numbers`\r\n24. `icosipentagonal_numbers`\r\n25. `icosihexagonal_numbers`\r\n26. `icosiheptagonal_numbers`\r\n27. `icosioctagonal_numbers`\r\n28. `icosinonagonal_numbers`\r\n29. `triacontagonal_numbers`\r\n30. `centered_triangular_numbers`\r\n31. `centered_square_numbers` = `diamond numbers`\r\n32. `centered_pentagonal_numbers`\r\n33. `centered_hexagonal_numbers`\r\n34. `centered_heptagonal_numbers`\r\n35. `centered_octagonal_numbers`\r\n36. `centered_nonagonal_numbers`\r\n37. `centered_decagonal_numbers`\r\n38. `centered_hendecagonal_numbers`\r\n39. `centered_dodecagonal_numbers` = `star_numbers`\r\n40. `centered_tridecagonal_numbers`\r\n41. `centered_tetradecagonal_numbers`\r\n42. `centered_pentadecagonal_numbers`\r\n43. `centered_hexadecagonal_numbers`\r\n44. `centered_heptadecagonal_numbers`\r\n45. `centered_octadecagonal_numbers`\r\n46. `centered_nonadecagonal_numbers`\r\n47. `centered_icosagonal_numbers`\r\n48. `centered_icosihenagonal_numbers`\r\n49. `centered_icosidigonal_numbers`\r\n50. `centered_icositrigonal_numbers`\r\n51. `centered_icositetragonal_numbers`\r\n52. `centered_icosipentagonal_numbers`\r\n53. `centered_icosihexagonal_numbers`\r\n54. `centered_icosiheptagonal_numbers`\r\n55. `centered_icosioctagonal_numbers`\r\n56. `centered_icosinonagonal_numbers`\r\n57. `centered_triacontagonal_numbers`\r\n58. `centered_mgonal_numbers(m)`\r\n59. `pronic_numbers` = `heteromecic_numbers = oblong_numbers`\r\n60. `polite_numbers`\r\n61. `impolite_numbers`\r\n62. `cross_numbers`\r\n63. `aztec_diamond_numbers`\r\n64. `polygram_numbers(m)` = `centered_star_polygonal_numbers(m)`\r\n65. `pentagram_numbers`\r\n66. `gnomic_numbers`\r\n67. `truncated_triangular_numbers`\r\n68. `truncated_square_numbers`\r\n69. `truncated_pronic_numbers`\r\n70. `truncated_centered_pol_numbers(m)` = `truncated_centered_mgonal_numbers(m)`\r\n71. `truncated_centered_triangular_numbers`\r\n72. `truncated_centered_square_numbers`\r\n73. `truncated_centered_pentagonal_numbers`\r\n74. `truncated_centered_hexagonal_numbers` = `truncated_hex_numbers`\r\n75. `generalized_mgonal_numbers(m, start_numb)`\r\n76. `generalized_pentagonal_numbers(start_numb)`\r\n77. `generalized_hexagonal_numbers(start_numb)`\r\n78. `generalized_centered_pol_numbers(m, start_numb)`\r\n79. `generalized_pronic_numbers(start_numb)`\r\n\r\n## Space figurate numbers\r\n\r\n1. `m_pyramidal_numbers(m)`\r\n2. `triangular_pyramidal_numbers`\r\n3. `square_pyramidal_numbers` = `pyramidal_numbers`\r\n4. `pentagonal_pyramidal_numbers`\r\n5. `hexagonal_pyramidal_numbers`\r\n6. `heptagonal_pyramidal_numbers`\r\n7. `octagonal_pyramidal_numbers`\r\n8. `nonagonal_pyramidal_numbers`\r\n9. `decagonal_pyramidal_numbers`\r\n10. `hendecagonal_pyramidal_numbers`\r\n11. `dodecagonal_pyramidal_numbers`\r\n12. `tridecagonal_pyramidal_numbers`\r\n13. `tetradecagonal_pyramidal_numbers`\r\n14. `pentadecagonal_pyramidal_numbers`\r\n15. `hexadecagonal_pyramidal_numbers`\r\n16. `heptadecagonal_pyramidal_numbers`\r\n17. `octadecagonal_pyramidal_numbers`\r\n18. `nonadecagonal_pyramidal_numbers`\r\n19. `icosagonal_pyramidal_numbers`\r\n20. `icosihenagonal_pyramidal_numbers`\r\n21. `icosidigonal_pyramidal_numbers`\r\n22. `icositrigonal_pyramidal_numbers`\r\n23. `icositetragonal_pyramidal_numbers`\r\n24. `icosipentagonal_pyramidal_numbers`\r\n25. `icosihexagonal_pyramidal_numbers`\r\n26. `icosiheptagonal_pyramidal_numbers`\r\n27. `icosioctagonal_pyramidal_numbers`\r\n28. `icosinonagonal_pyramidal_numbers`\r\n29. `triacontagonal_pyramidal_numbers`\r\n30. `triangular_tetrahedral_numbers[finite]`\r\n31. `triangular_square_pyramidal_numbers[finite]`\r\n32. `square_tetrahedral_numbers[finite]`\r\n33. `square_square_pyramidal_numbers[finite]`\r\n34. `tetrahedral_square_pyramidal_numbers[finite]`\r\n35. `cubic_numbers`\r\n36. `tetrahedral_numbers`\r\n37. `octahedral_numbers`\r\n38. `dodecahedral_numbers`\r\n39. `icosahedral_numbers`\r\n40. `truncated_tetrahedral_numbers`\r\n41. `truncated_cubic_numbers`\r\n42. `truncated_octahedral_numbers`\r\n43. `stella_octangula_numbers`\r\n44. `centered_cube_numbers`\r\n45. `rhombic_dodecahedral_numbers`\r\n46. `hauy_rhombic_dodecahedral_numbers`\r\n47. `centered_tetrahedron_numbers` = `centered_tetrahedral_numbers`\r\n48. `centered_square_pyramid_numbers` = `centered_pyramid_numbers`\r\n49. `centered_mgonal_pyramid_numbers(m)`\r\n50. `centered_pentagonal_pyramid_numbers`\r\n51. `centered_hexagonal_pyramid_numbers`\r\n52. `centered_heptagonal_pyramid_numbers`\r\n53. `centered_octagonal_pyramid_numbers`\r\n54. `centered_octahedron_numbers`\r\n55. `centered_icosahedron_numbers` = `centered_cuboctahedron_numbers`\r\n56. `centered_dodecahedron_numbers`\r\n57. `centered_truncated_tetrahedron_numbers`\r\n58. `centered_truncated_cube_numbers`\r\n59. `centered_truncated_octahedron_numbers`\r\n60. `centered_mgonal_pyramidal_numbers(m)`\r\n61. `centered_triangular_pyramidal_numbers`\r\n62. `centered_square_pyramidal_numbers`\r\n63. `centered_pentagonal_pyramidal_numbers`\r\n64. `centered_heptagonal_pyramidal_numbers`\r\n65. `centered_octagonal_pyramidal_numbers`\r\n66. `centered_nonagonal_pyramidal_numbers`\r\n67. `centered_decagonal_pyramidal_numbers`\r\n68. `centered_hendecagonal_pyramidal_numbers`\r\n69. `centered_dodecagonal_pyramidal_numbers`\r\n70. `centered_hexagonal_pyramidal_numbers` = `hex_pyramidal_numbers`\r\n71. `hexagonal_prism_numbers`\r\n72. `mgonal_prism_numbers(m)`\r\n73. `generalized_mgonal_pyramidal_numbers(m, start_num)`\r\n74. `generalized_pentagonal_pyramidal_numbers(start_num)`\r\n75. `generalized_hexagonal_pyramidal_numbers(start_num)`\r\n76. `generalized_cubic_numbers(start_num)`\r\n77. `generalized_octahedral_numbers(start_num)`\r\n78. `generalized_icosahedral_numbers(start_num)`\r\n79. `generalized_dodecahedral_numbers(start_num)`\r\n80. `generalized_centered_cube_numbers(start_num)`\r\n81. `generalized_centered_tetrahedron_numbers(start_num)`\r\n82. `generalized_centered_square_pyramid_numbers(start_num)`\r\n83. `generalized_rhombic_dodecahedral_numbers(start_num)`\r\n84. `generalized_centered_mgonal_pyramidal_numbers(m, start_num)`\r\n85. `generalized_mgonal_prism_numbers(m, start_num)`\r\n86. `generalized_hexagonal_prism_numbers(start_num)`\r\n\r\n## Multidimensional figurate numbers\r\n\r\n1. `pentatope_numbers` = `hypertetrahedral_numbers` = `triangulotriangular_numbers`\r\n2. `k_dimensional_hypertetrahedron_numbers(k)` = `k_hypertetrahedron_numbers(k)` = `regular_k_polytopic_numbers(k)` = `figurate_numbers_of_order_k(k)`\r\n3. `five_dimensional_hypertetrahedron_numbers`\r\n4. `six_dimensional_hypertetrahedron_numbers`\r\n5. `biquadratic_numbers`\r\n6. `k_dimensional_hypercube_numbers(k)` = `k_hypercube_numbers(k)`\r\n7. `five_dimensional_hypercube_numbers`\r\n8. `six_dimensional_hypercube_numbers`\r\n9. `hyperoctahedral_numbers` = `hexadecachoron_numbers` = `four_cross_polytope_numbers` = `four_orthoplex_numbers`\r\n10. `hypericosahedral_numbers` = `tetraplex_numbers` = `polytetrahedron_numbers` = `hexacosichoron_numbers`\r\n11. `hyperdodecahedral_numbers` = `hecatonicosachoron_numbers` = `dodecaplex_numbers` = `polydodecahedron_numbers`\r\n12. `polyoctahedral_numbers` = `icositetrachoron_numbers` = `octaplex_numbers` = `hyperdiamond_numbers`\r\n13. `four_dimensional_hyperoctahedron_numbers`\r\n14. `five_dimensional_hyperoctahedron_numbers`\r\n15. `six_dimensional_hyperoctahedron_numbers`\r\n16. `seven_dimensional_hyperoctahedron_numbers`\r\n17. `eight_dimensional_hyperoctahedron_numbers`\r\n18. `nine_dimensional_hyperoctahedron_numbers`\r\n19. `ten_dimensional_hyperoctahedron_numbers`\r\n20. `k_dimensional_hyperoctahedron_numbers(k)` = `k_cross_polytope_numbers(k)`\r\n21. `four_dimensional_mgonal_pyramidal_numbers(m)` = `mgonal_pyramidal_numbers_of_the_second_order(m)`\r\n22. `four_dimensional_square_pyramidal_numbers`\r\n23. `four_dimensional_pentagonal_pyramidal_numbers`\r\n24. `four_dimensional_hexagonal_pyramidal_numbers`\r\n25. `four_dimensional_heptagonal_pyramidal_numbers`\r\n26. `four_dimensional_octagonal_pyramidal_numbers`\r\n27. `four_dimensional_nonagonal_pyramidal_numbers`\r\n28. `four_dimensional_decagonal_pyramidal_numbers`\r\n29. `four_dimensional_hendecagonal_pyramidal_numbers`\r\n30. `four_dimensional_dodecagonal_pyramidal_numbers`\r\n31. `k_dimensional_mgonal_pyramidal_numbers(k, m)` = `mgonal_pyramidal_numbers_of_the_k_2_th_order(k, m)`\r\n32. `five_dimensional_mgonal_pyramidal_numbers(m)`\r\n33. `five_dimensional_square_pyramidal_numbers`\r\n34. `five_dimensional_pentagonal_pyramidal_numbers`\r\n35. `five_dimensional_hexagonal_pyramidal_numbers`\r\n36. `five_dimensional_heptagonal_pyramidal_numbers`\r\n37. `five_dimensional_octagonal_pyramidal_numbers`\r\n38. `six_dimensional_mgonal_pyramidal_numbers(m)`\r\n39. `six_dimensional_square_pyramidal_numbers`\r\n40. `six_dimensional_pentagonal_pyramidal_numbers`\r\n41. `six_dimensional_hexagonal_pyramidal_numbers`\r\n42. `six_dimensional_heptagonal_pyramidal_numbers`\r\n43. `six_dimensional_octagonal_pyramidal_numbers`\r\n44. `centered_biquadratic_numbers`\r\n45. `k_dimensional_centered_hypercube_numbers(k)`\r\n46. `five_dimensional_centered_hypercube_numbers`\r\n47. `six_dimensional_centered_hypercube_numbers`\r\n48. `centered_polytope_numbers`\r\n49. `k_dimensional_centered_hypertetrahedron_numbers(k)`\r\n50. `five_dimensional_centered_hypertetrahedron_numbers`\r\n51. `six_dimensional_centered_hypertetrahedron_numbers`\r\n52. `centered_hyperoctahedral_numbers` = `orthoplex_numbers`\r\n53. `nexus_numbers(k)`\r\n54. `k_dimensional_centered_hyperoctahedron_numbers(k)`\r\n55. `five_dimensional_centered_hyperoctahedron_numbers`\r\n56. `six_dimensional_centered_hyperoctahedron_numbers`\r\n57. `generalized_pentatope_numbers(start_num = 0)`\r\n58. `generalized_k_dimensional_hypertetrahedron_numbers(k = 5, start_num = 0)`\r\n59. `generalized_biquadratic_numbers(start_num = 0)`\r\n60. `generalized_k_dimensional_hypercube_numbers(k = 5, start_num = 0)`\r\n61. `generalized_hyperoctahedral_numbers(start_num = 0)`\r\n62. `generalized_k_dimensional_hyperoctahedron_numbers(k = 5, start_num = 0)`\r\n63. `generalized_hyperdodecahedral_numbers(start_num = 0)`\r\n64. `generalized_hypericosahedral_numbers(start_num = 0)`\r\n65. `generalized_polyoctahedral_numbers(start_num = 0)`\r\n66. `generalized_k_dimensional_mgonal_pyramidal_numbers(k, m, start_num = 0)`\r\n67. `generalized_k_dimensional_centered_hypercube_numbers(k, start_num = 0)`\r\n68. `generalized_nexus_numbers(start_num = 0)`\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 - 13 * n + 1` | `546, 728, 936, 1170` |\r\n\r\n\r\n It should be:\r\n | Name | Formula | |\r\n | -------------------- | --------------------- | --------------------- |\r\n | Cent. icosihexagonal | `1/3n^2 - 13 * n + 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## 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": "MIT License Copyright (c) 2024 Edgar Armando Delgado Vega Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
"summary": "Generate 233 infinite figurate number sequences for mathematical research, applications, and exploration in Python.",
"version": "1.0.1",
"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": "",
"digests": {
"blake2b_256": "8fe08649988921a898c146fd3380c7c86a24169c9f57782bc3d7dca87d662be9",
"md5": "313f78b29f89bc4396cfd3957facbdb1",
"sha256": "3367897eab05dc66b4cbdd89a614f68eebc05b463cf740a3bec224a437c674be"
},
"downloads": -1,
"filename": "figuratenum-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "313f78b29f89bc4396cfd3957facbdb1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 20844,
"upload_time": "2024-12-04T19:04:06",
"upload_time_iso_8601": "2024-12-04T19:04:06.739590Z",
"url": "https://files.pythonhosted.org/packages/8f/e0/8649988921a898c146fd3380c7c86a24169c9f57782bc3d7dca87d662be9/figuratenum-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b4b596502ec0f792bd935aa21f78d0684a4478e972394ac630ecc8d339a212fb",
"md5": "01b6977060e75368671e0ff7ca718380",
"sha256": "e0fced495c2c80319efc1923bc71b01da6cf8c3b28551fbf541b3c5366beb477"
},
"downloads": -1,
"filename": "figuratenum-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "01b6977060e75368671e0ff7ca718380",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 28395,
"upload_time": "2024-12-04T19:04:08",
"upload_time_iso_8601": "2024-12-04T19:04:08.476496Z",
"url": "https://files.pythonhosted.org/packages/b4/b5/96502ec0f792bd935aa21f78d0684a4478e972394ac630ecc8d339a212fb/figuratenum-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-04 19:04:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "edelveart",
"github_project": "figuratenum",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "figuratenum"
}