figurate_numbers 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,49 +1,88 @@
1
- # Figurate Numbers
1
+ <h1 align="center"> Figurate Numbers </h1>
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/figurate_numbers.svg)](https://badge.fury.io/rb/figurate_numbers)
3
+ **Figurate Numbers** is the most comprehensive and specialized gem for figurate numbers written in Ruby to date.
4
+ It implements **241 infinite number sequences** inspired by the groundbreaking work [*Figurate Numbers*](https://books.google.com.pe/books/about/Figurate_Numbers.html?id=ERS7CgAAQBAJ&redir_esc=y) by Elena Deza and Michel Deza, published in 2012.
4
5
 
5
- `figurate_numbers` is a Ruby module that implements `239 infinite number sequences` based on the formulas from the wonderful book
6
- > [Figurate Numbers (2012)](https://books.google.com.pe/books/about/Figurate_Numbers.html?id=ERS7CgAAQBAJ&redir_esc=y) by Elena Deza and Michel Deza.
6
+ <p align="center">
7
+ <img src="https://img.shields.io/gem/v/figurate_numbers" alt="Gem Version">
8
+ <img src="https://img.shields.io/gem/dt/figurate_numbers" alt="Gem Total Downloads">
9
+ <img src="https://img.shields.io/github/stars/edelveart/figurate_numbers" alt="GitHub Repo stars">
10
+ <img src="https://img.shields.io/github/license/edelveart/figurate_numbers" alt="GitHub License">
11
+ </p>
7
12
 
8
- This implementation uses the **Enumerator class** to deal with **INFINITE SEQUENCES**.
13
+ ![figurate_number-social-image](figurate_numbers.png)
9
14
 
10
- Following the order of the book, the methods are divided into 3 types according to the spatial dimension (see complete list below):
15
+ ## Installation
11
16
 
12
- 1. **Plane** figurate numbers implemented = `79`
13
- 2. **Space** figurate numbers implemented = `86`
14
- 3. **Multidimensional** figurate numbers implemented = `68`
15
- 4. **Zoo of figurate-related numbers** implemented = `6`
17
+ Install it from the gem repository:
16
18
 
17
- - [x] **TOTAL** = `239` infinite sequences of figurate numbers implemented
19
+ ```rb
20
+ gem install figurate_numbers
21
+ ```
18
22
 
19
- ## Installation and use
23
+ ## Features
20
24
 
21
- * `gem install figurate_numbers`
25
+ This implementation uses the **Enumerator class** to handle **infinite sequences**.
26
+ It is intended for use in mathematical projects and with Sonic Pi.
22
27
 
23
- ### How to use in Ruby
28
+ Following the order of the book, the methods are divided into 3 types according to the spatial dimension (see complete list below):
24
29
 
25
- If the sequence is defined with `lazy`, to make the numbers explicit we must include the converter method `to_a` at the end.
30
+ 1. **PlaneFigurateNumbers** figurate numbers implemented = `79`
31
+ 2. **SpaceFigurateNumbers** figurate numbers implemented = `86`
32
+ 3. **MultiDimensionalFigurateNumbers** figurate numbers implemented = `70`
33
+ 4. **Zoo of figurate-related numbers** implemented = `6` (included in MultiDimensional module)
34
+
35
+ - [x] **TOTAL** = `241` infinite sequences of figurate numbers implemented
36
+
37
+ ## How to use in Ruby
26
38
 
27
39
  ```rb
28
40
  require 'figurate_numbers'
29
41
 
30
42
  ## Using take(integer)
31
- FigurateNumbers.pronic_numbers.take(10).to_a
43
+ FigurateNumbers.pentatope.take(10)
32
44
 
33
45
  ## Storing and iterating
34
- f = FigurateNumbers.centered_octagonal_pyramid_numbers
46
+ f = FigurateNumbers.centered_octagonal_pyramid
35
47
  f.next
36
48
  f.next
37
49
  f.next
38
50
  ```
39
- ### How to use in Sonic Pi
51
+
52
+ If the sequence is defined with `lazy`, to make the numbers explicit we must include the converter method `to_a` at the end.
53
+
54
+ Since version **1.4.0**, you can alternatively call from the classes
55
+ ```rb
56
+ PlaneFigurateNumbers.polygonal(3)
57
+ SpaceFigurateNumbers.rhombic_dodecahedral
58
+ MultiDimensionalFigurateNumbers.six_dimensional_hyperoctahedron
59
+ ```
60
+
61
+ This ensures that you only use the numbers belonging to each geometric dimension.
62
+
63
+ ## How to use in Sonic Pi
64
+
65
+ ### figurate_numbers - Version 1.4.0
66
+
67
+ Starting from version **1.4.0**, you can use the library globally through `FigurateNumbers`to access all sequences, or you can use the specific classes mentioned above for separate access.
68
+ The main change compared to version **1.3.0** is that you now need to import the file using **require** instead of **run_file**; otherwise, it will not function.
69
+
70
+ ```rb
71
+ require "<PATH>"
72
+ ```
73
+
74
+ Simply copy the entry point path from the `lib/figurate_numbers.rb` file where the *gem* is installed.
75
+
76
+ ### figurate_numbers - Version 1.3.0
77
+
78
+ You can read and comment in the [**Sonic Pi community thread right here!**](https://in-thread.sonic-pi.net/t/figurate-numbers-for-sonic-pi-new-ruby-gem-for-infinite-number-sequences-and-patterns/8962)
40
79
 
41
80
  1. Locate or download the file in the path `lib/figurate_numbers.rb`
42
81
  2. Drag the file to a buffer in Sonic Pi (this generates the `<PATH>`)
43
82
 
44
83
  ```rb
45
84
  run_file "<PATH>"
46
-
85
+ sleep 1 # see the quote below
47
86
  pol_num = FigurateNumbers.polygonal_numbers(8)
48
87
  80.times do
49
88
  play pol_num.next % 12 * 7 # Some mathematical function or transformation
@@ -51,280 +90,264 @@ pol_num = FigurateNumbers.polygonal_numbers(8)
51
90
  end
52
91
  ```
53
92
 
93
+ > `sleep 1` #to allow **figurate_numbers** to complete load and setup otherwise first run can give error ([Robin Newman](https://in-thread.sonic-pi.net/t/figurate-numbers-for-sonic-pi-new-ruby-gem-for-infinite-number-sequences-and-patterns/8962/12) - Sonic Pi Core Team)
94
+
54
95
  ## List of implemented sequences
55
96
 
56
97
  * Note that `=` means that you can call the same sequence with different names.
57
98
 
58
99
  ### 1. Plane Figurate Numbers
59
- <ol>
60
- <li><code>polygonal_numbers(m)</code></li>
61
- <li><code>triangular_numbers</code></li>
62
- <li><code>square_numbers</code></li>
63
- <li><code>pentagonal_numbers</code></li>
64
- <li><code>hexagonal_numbers</code></li>
65
- <li><code>heptagonal_numbers</code></li>
66
- <li><code>octagonal_numbers</code></li>
67
- <li><code>nonagonal_numbers</code></li>
68
- <li><code>decagonal_numbers</code></li>
69
- <li><code>hendecagonal_numbers</code></li>
70
- <li><code>dodecagonal_numbers</code></li>
71
- <li><code>tridecagonal_numbers</code></li>
72
- <li><code>tetradecagonal_numbers</code></li>
73
- <li><code>pentadecagonal_numbers</code></li>
74
- <li><code>hexadecagonal_numbers</code></li>
75
- <li><code>heptadecagonal_numbers</code></li>
76
- <li><code>octadecagonal_numbers</code></li>
77
- <li><code>nonadecagonal_numbers</code></li>
78
- <li><code>icosagonal_numbers</code></li>
79
- <li><code>icosihenagonal_numbers</code></li>
80
- <li><code>icosidigonal_numbers</code></li>
81
- <li><code>icositrigonal_numbers</code></li>
82
- <li><code>icositetragonal_numbers</code></li>
83
- <li><code>icosipentagonal_numbers</code></li>
84
- <li><code>icosihexagonal_numbers</code></li>
85
- <li><code>icosiheptagonal_numbers</code></li>
86
- <li><code>icosioctagonal_numbers</code></li>
87
- <li><code>icosinonagonal_numbers</code></li>
88
- <li><code>triacontagonal_numbers</code></li>
89
- <li><code>centered_triangular_numbers</code></li>
90
- <li><code>centered_square_numbers = diamond_numbers (equality only by quantity)</code></li>
91
- <li><code>centered_pentagonal_numbers</code></li>
92
- <li><code>centered_hexagonal_numbers</code></li>
93
- <li><code>centered_heptagonal_numbers</code></li>
94
- <li><code>centered_octagonal_numbers</code></li>
95
- <li><code>centered_nonagonal_numbers</code></li>
96
- <li><code>centered_decagonal_numbers</code></li>
97
- <li><code>centered_hendecagonal_numbers</code></li>
98
- <li><code>centered_dodecagonal_numbers = star_numbers (equality only by quantity)</code></li>
99
- <li><code>centered_tridecagonal_numbers</code></li>
100
- <li><code>centered_tetradecagonal_numbers</code></li>
101
- <li><code>centered_pentadecagonal_numbers</code></li>
102
- <li><code>centered_hexadecagonal_numbers</code></li>
103
- <li><code>centered_heptadecagonal_numbers</code></li>
104
- <li><code>centered_octadecagonal_numbers</code></li>
105
- <li><code>centered_nonadecagonal_numbers</code></li>
106
- <li><code>centered_icosagonal_numbers</code></li>
107
- <li><code>centered_icosihenagonal_numbers</code></li>
108
- <li><code>centered_icosidigonal_numbers</code></li>
109
- <li><code>centered_icositrigonal_numbers</code></li>
110
- <li><code>centered_icositetragonal_numbers</code></li>
111
- <li><code>centered_icosipentagonal_numbers</code></li>
112
- <li><code>centered_icosihexagonal_numbers</code></li>
113
- <li><code>centered_icosiheptagonal_numbers</code></li>
114
- <li><code>centered_icosioctagonal_numbers</code></li>
115
- <li><code>centered_icosinonagonal_numbers</code></li>
116
- <li><code>centered_triacontagonal_numbers</code></li>
117
- <li><code>centered_mgonal_numbers(m)</code></li>
118
- <li><code>pronic_numbers = heteromecic_numbers = oblong_numbers</code></li>
119
- <li><code>polite_numbers</code></li>
120
- <li><code>impolite_numbers</code></li>
121
- <li><code>cross_numbers</code></li>
122
- <li><code>aztec_diamond_numbers</code></li>
123
- <li><code>polygram_numbers(m) = centered_star_polygonal_numbers(m)</code></li>
124
- <li><code>pentagram_numbers</code></li>
125
- <li><code>gnomic_numbers</code></li>
126
- <li><code>truncated_triangular_numbers</code></li>
127
- <li><code>truncated_square_numbers</code></li>
128
- <li><code>truncated_pronic_numbers</code></li>
129
- <li><code>truncated_centered_pol_numbers(m) = truncated_centered_mgonal_numbers(m)</code></li>
130
- <li><code>truncated_centered_triangular_numbers</code></li>
131
- <li><code>truncated_centered_square_numbers</code></li>
132
- <li><code>truncated_centered_pentagonal_numbers</code></li>
133
- <li><code>truncated_centered_hexagonal_numbers = truncated_hex_numbers</code></li>
134
- <li><code>generalized_mgonal_numbers(m, left_index = 0)</code></li>
135
- <li><code>generalized_pentagonal_numbers(left_index = 0)</code></li>
136
- <li><code>generalized_hexagonal_numbers(left_index = 0)</code></li>
137
- <li><code>generalized_centered_pol_numbers(m, left_index = 0)</code></li>
138
- <li><code>generalized_pronic_numbers(left_index = 0)</code></li>
139
- </ol>
100
+
101
+ 1. `polygonal(m)`
102
+ 2. `triangular`
103
+ 3. `square`
104
+ 4. `pentagonal`
105
+ 5. `hexagonal`
106
+ 6. `heptagonal`
107
+ 7. `octagonal`
108
+ 8. `nonagonal`
109
+ 9. `decagonal`
110
+ 10. `hendecagonal`
111
+ 11. `dodecagonal`
112
+ 12. `tridecagonal`
113
+ 13. `tetradecagonal`
114
+ 14. `pentadecagonal`
115
+ 15. `hexadecagonal`
116
+ 16. `heptadecagonal`
117
+ 17. `octadecagonal`
118
+ 18. `nonadecagonal`
119
+ 19. `icosagonal`
120
+ 20. `icosihenagonal`
121
+ 21. `icosidigonal`
122
+ 22. `icositrigonal`
123
+ 23. `icositetragonal`
124
+ 24. `icosipentagonal`
125
+ 25. `icosihexagonal`
126
+ 26. `icosiheptagonal`
127
+ 27. `icosioctagonal`
128
+ 28. `icosinonagonal`
129
+ 29. `triacontagonal`
130
+ 30. `centered_triangular`
131
+ 31. `centered_square` = `diamond` (equality only by quantity)
132
+ 32. `centered_pentagonal`
133
+ 33. `centered_hexagonal`
134
+ 34. `centered_heptagonal`
135
+ 35. `centered_octagonal`
136
+ 36. `centered_nonagonal`
137
+ 37. `centered_decagonal`
138
+ 38. `centered_hendecagonal`
139
+ 39. `centered_dodecagonal` = `star` (equality only by quantity)
140
+ 40. `centered_tridecagonal`
141
+ 41. `centered_tetradecagonal`
142
+ 42. `centered_pentadecagonal`
143
+ 43. `centered_hexadecagonal`
144
+ 44. `centered_heptadecagonal`
145
+ 45. `centered_octadecagonal`
146
+ 46. `centered_nonadecagonal`
147
+ 47. `centered_icosagonal`
148
+ 48. `centered_icosihenagonal`
149
+ 49. `centered_icosidigonal`
150
+ 50. `centered_icositrigonal`
151
+ 51. `centered_icositetragonal`
152
+ 52. `centered_icosipentagonal`
153
+ 53. `centered_icosihexagonal`
154
+ 54. `centered_icosiheptagonal`
155
+ 55. `centered_icosioctagonal`
156
+ 56. `centered_icosinonagonal`
157
+ 57. `centered_triacontagonal`
158
+ 58. `centered_mgonal(m)`
159
+ 59. `pronic` = `heteromecic` = `oblong`
160
+ 60. `polite`
161
+ 61. `impolite`
162
+ 62. `cross`
163
+ 63. `aztec_diamond`
164
+ 64. `polygram(m)` = `centered_star_polygonal(m)`
165
+ 65. `pentagram`
166
+ 66. `gnomic`
167
+ 67. `truncated_triangular`
168
+ 68. `truncated_square`
169
+ 69. `truncated_pronic`
170
+ 70. `truncated_centered_pol(m)` = `truncated_centered_mgonal(m)`
171
+ 71. `truncated_centered_triangular`
172
+ 72. `truncated_centered_square`
173
+ 73. `truncated_centered_pentagonal`
174
+ 74. `truncated_centered_hexagonal` = `truncated_hex`
175
+ 75. `generalized_mgonal(m, left_index = 0)`
176
+ 76. `generalized_pentagonal(left_index = 0)`
177
+ 77. `generalized_hexagonal(left_index = 0)`
178
+ 78. `generalized_centered_pol(m, left_index = 0)`
179
+ 79. `generalized_pronic(left_index = 0)`
140
180
 
141
181
  ### 2. Space Figurate Numbers
142
- <ol>
143
- <li><code>r_pyramidal_numbers(r)</code></li>
144
- <li><code>triangular_pyramidal_numbers = tetrahedral_numbers</code></li>
145
- <li><code>square_pyramidal_numbers = pyramidal_numbers</code></li>
146
- <li><code>pentagonal_pyramidal_numbers</code></li>
147
- <li><code>hexagonal_pyramidal_numbers</code></li>
148
- <li><code>heptagonal_pyramidal_numbers</code></li>
149
- <li><code>octagonal_pyramidal_numbers</code></li>
150
- <li><code>nonagonal_pyramidal_numbers</code></li>
151
- <li><code>decagonal_pyramidal_numbers</code></li>
152
- <li><code>hendecagonal_pyramidal_numbers</code></li>
153
- <li><code>dodecagonal_pyramidal_numbers</code></li>
154
- <li><code>tridecagonal_pyramidal_numbers</code></li>
155
- <li><code>tetradecagonal_pyramidal_numbers</code></li>
156
- <li><code>pentadecagonal_pyramidal_numbers</code></li>
157
- <li><code>hexadecagonal_pyramidal_numbers</code></li>
158
- <li><code>heptadecagonal_pyramidal_numbers</code></li>
159
- <li><code>octadecagonal_pyramidal_numbers</code></li>
160
- <li><code>nonadecagonal_pyramidal_numbers</code></li>
161
- <li><code>icosagonal_pyramidal_numbers</code></li>
162
- <li><code>icosihenagonal_pyramidal_numbers</code></li>
163
- <li><code>icosidigonal_pyramidal_numbers</code></li>
164
- <li><code>icositrigonal_pyramidal_numbers</code></li>
165
- <li><code>icositetragonal_pyramidal_numbers</code></li>
166
- <li><code>icosipentagonal_pyramidal_numbers</code></li>
167
- <li><code>icosihexagonal_pyramidal_numbers</code></li>
168
- <li><code>icosiheptagonal_pyramidal_numbers</code></li>
169
- <li><code>icosioctagonal_pyramidal_numbers</code></li>
170
- <li><code>icosinonagonal_pyramidal_numbers</code></li>
171
- <li><code>triacontagonal_pyramidal_numbers</code></li>
172
-
173
- <li><code>triangular_tetrahedral_numbers [finite]</code></li>
174
- <li><code>triangular_square_pyramidal_numbers [finite]</code></li>
175
- <li><code>square_tetrahedral_numbers [finite]</code></li>
176
- <li><code>square_square_pyramidal_numbers [finite]</code></li>
177
- <li><code>tetrahedral_square_pyramidal_number [finite]</code></li>
178
-
179
- <li><code>cubic_numbers = perfect_cube_numbers != hex_pyramidal_numbers (equality only by quantity) </code></li>
180
- <li><code>tetrahedral_numbers</code></li>
181
- <li><code>octahedral_numbers</code></li>
182
- <li><code>dodecahedral_numbers</code></li>
183
- <li><code>icosahedral_numbers</code></li>
184
- <li><code>truncated_tetrahedral_numbers</code></li>
185
- <li><code>truncated_cubic_numbers</code></li>
186
- <li><code>truncated_octahedral_numbers</code></li>
187
- <li><code>stella_octangula_numbers</code></li>
188
- <li><code>centered_cube_numbers</code></li>
189
- <li><code>rhombic_dodecahedral_numbers</code></li>
190
- <li><code>hauy_rhombic_dodecahedral_numbers</code></li>
191
-
192
- <li><code>centered_tetrahedron_numbers = centered_tetrahedral_numbers</code></li>
193
- <li><code>centered_square_pyramid_numbers = centered_pyramid_numbers</code></li>
194
- <li><code>centered_mgonal_pyramid_numbers(m)</code></li>
195
- <li><code>centered_pentagonal_pyramid_numbers != centered octahedron numbers (equality only in quantity)</code></li>
196
- <li><code>centered_hexagonal_pyramid_numbers</code></li>
197
- <li><code>centered_heptagonal_pyramid_numbers</code></li>
198
- <li><code>centered_octagonal_pyramid_numbers</code></li>
199
-
200
- <li><code>centered_octahedron_numbers</code></li>
201
- <li><code>centered_icosahedron_numbers = centered_cuboctahedron_numbers</code></li>
202
- <li><code>centered_dodecahedron_numbers</code></li>
203
- <li><code>centered_truncated_tetrahedron_numbers</code></li>
204
- <li><code>centered_truncated_cube_numbers</code></li>
205
- <li><code>centered_truncated_octahedron_numbers</code></li>
206
-
207
- <li><code>centered_mgonal_pyramidal_numbers(m)</code></li>
208
- <li><code>centered_triangular_pyramidal_numbers</code></li>
209
- <li><code>centered_square_pyramidal_numbers</code></li>
210
- <li><code>centered_pentagonal_pyramidal_numbers</code></li>
211
- <li><code>centered_hexagonal_pyramidal_numbers = hex_pyramidal_numbers</code></li>
212
- <li><code>centered_heptagonal_pyramidal_numbers</code></li>
213
- <li><code>centered_octagonal_pyramidal_numbers</code></li>
214
- <li><code>centered_nonagonal_pyramidal_numbers</code></li>
215
- <li><code>centered_decagonal_pyramidal_numbers</code></li>
216
- <li><code>centered_hendecagonal_pyramidal_numbers</code></li>
217
- <li><code>centered_dodecagonal_pyramidal_numbers</code></li>
218
-
219
- <li><code>hexagonal_prism_numbers</code></li>
220
- <li><code>mgonal_prism_numbers(m)</code></li>
221
- <li><code>generalized_mgonal_pyramidal_numbers(m, left_index = 0)</code></li>
222
- <li><code>generalized_pentagonal_pyramidal_numbers(left_index = 0)</code></li>
223
- <li><code>generalized_hexagonal_pyramidal_numbers(left_index = 0)</code></li>
224
- <li><code>generalized_cubic_numbers(left_index = 0)</code></li>
225
- <li><code>generalized_octahedral_numbers(left_index = 0)</code></li>
226
- <li><code>generalized_icosahedral_numbers(left_index = 0)</code></li>
227
- <li><code>generalized_dodecahedral_numbers(left_index = 0)</code></li>
228
- <li><code>generalized_centered_cube_numbers(left_index = 0)</code></li>
229
- <li><code>generalized_centered_tetrahedron_numbers(left_index = 0)</code></li>
230
- <li><code>generalized_centered_square_pyramid_numbers(left_index = 0)</code></li>
231
- <li><code>generalized_rhombic_dodecahedral_numbers(left_index = 0)</code></li>
232
- <li><code>generalized_centered_mgonal_pyramidal_numbers(m, left_index = 0)</code></li>
233
- <li><code>generalized_mgonal_prism_numbers(m, left_index = 0)</code></li>
234
- <li><code>generalized_hexagonal_prism_numbers(left_index = 0)</code></li>
235
- </ol>
182
+
183
+ 1. `r_pyramidal(r)`
184
+ 2. `triangular_pyramidal = tetrahedral`
185
+ 3. `square_pyramidal = pyramidal`
186
+ 4. `pentagonal_pyramidal`
187
+ 5. `hexagonal_pyramidal`
188
+ 6. `heptagonal_pyramidal`
189
+ 7. `octagonal_pyramidal`
190
+ 8. `nonagonal_pyramidal`
191
+ 9. `decagonal_pyramidal`
192
+ 10. `hendecagonal_pyramidal`
193
+ 11. `dodecagonal_pyramidal`
194
+ 12. `tridecagonal_pyramidal`
195
+ 13. `tetradecagonal_pyramidal`
196
+ 14. `pentadecagonal_pyramidal`
197
+ 15. `hexadecagonal_pyramidal`
198
+ 16. `heptadecagonal_pyramidal`
199
+ 17. `octadecagonal_pyramidal`
200
+ 18. `nonadecagonal_pyramidal`
201
+ 19. `icosagonal_pyramidal`
202
+ 20. `icosihenagonal_pyramidal`
203
+ 21. `icosidigonal_pyramidal`
204
+ 22. `icositrigonal_pyramidal`
205
+ 23. `icositetragonal_pyramidal`
206
+ 24. `icosipentagonal_pyramidal`
207
+ 25. `icosihexagonal_pyramidal`
208
+ 26. `icosiheptagonal_pyramidal`
209
+ 27. `icosioctagonal_pyramidal`
210
+ 28. `icosinonagonal_pyramidal`
211
+ 29. `triacontagonal_pyramidal`
212
+ 30. `triangular_tetrahedral [finite]`
213
+ 31. `triangular_square_pyramidal [finite]`
214
+ 32. `square_tetrahedral [finite]`
215
+ 33. `square_square_pyramidal [finite]`
216
+ 34. `tetrahedral_square_pyramidal_number [finite]`
217
+ 35. `cubic = perfect_cube != hex_pyramidal (equality only by quantity)`
218
+ 36. `tetrahedral`
219
+ 37. `octahedral`
220
+ 38. `dodecahedral`
221
+ 39. `icosahedral`
222
+ 40. `truncated_tetrahedral`
223
+ 41. `truncated_cubic`
224
+ 42. `truncated_octahedral`
225
+ 43. `stella_octangula`
226
+ 44. `centered_cube`
227
+ 45. `rhombic_dodecahedral`
228
+ 46. `hauy_rhombic_dodecahedral`
229
+ 47. `centered_tetrahedron = centered_tetrahedral`
230
+ 48. `centered_square_pyramid = centered_pyramid`
231
+ 49. `centered_mgonal_pyramid(m)`
232
+ 50. `centered_pentagonal_pyramid != centered_octahedron (equality only in quantity)`
233
+ 51. `centered_hexagonal_pyramid`
234
+ 52. `centered_heptagonal_pyramid`
235
+ 53. `centered_octagonal_pyramid`
236
+ 54. `centered_octahedron`
237
+ 55. `centered_icosahedron = centered_cuboctahedron`
238
+ 56. `centered_dodecahedron`
239
+ 57. `centered_truncated_tetrahedron`
240
+ 58. `centered_truncated_cube`
241
+ 59. `centered_truncated_octahedron`
242
+ 60. `centered_mgonal_pyramidal(m)`
243
+ 61. `centered_triangular_pyramidal`
244
+ 62. `centered_square_pyramidal`
245
+ 63. `centered_pentagonal_pyramidal`
246
+ 64. `centered_hexagonal_pyramidal = hex_pyramidal`
247
+ 65. `centered_heptagonal_pyramidal`
248
+ 66. `centered_octagonal_pyramidal`
249
+ 67. `centered_nonagonal_pyramidal`
250
+ 68. `centered_decagonal_pyramidal`
251
+ 69. `centered_hendecagonal_pyramidal`
252
+ 70. `centered_dodecagonal_pyramidal`
253
+ 71. `hexagonal_prism`
254
+ 72. `mgonal_prism(m)`
255
+ 73. `generalized_mgonal_pyramidal(m, left_index = 0)`
256
+ 74. `generalized_pentagonal_pyramidal(left_index = 0)`
257
+ 75. `generalized_hexagonal_pyramidal(left_index = 0)`
258
+ 76. `generalized_cubic(left_index = 0)`
259
+ 77. `generalized_octahedral(left_index = 0)`
260
+ 78. `generalized_icosahedral(left_index = 0)`
261
+ 79. `generalized_dodecahedral(left_index = 0)`
262
+ 80. `generalized_centered_cube(left_index = 0)`
263
+ 81. `generalized_centered_tetrahedron(left_index = 0)`
264
+ 82. `generalized_centered_square_pyramid(left_index = 0)`
265
+ 83. `generalized_rhombic_dodecahedral(left_index = 0)`
266
+ 84. `generalized_centered_mgonal_pyramidal(m, left_index = 0)`
267
+ 85. `generalized_mgonal_prism(m, left_index = 0)`
268
+ 86. `generalized_hexagonal_prism(left_index = 0)`
236
269
 
237
270
  ### 3. Multidimensional figurate numbers
238
- <ol>
239
- <li><code>pentatope_numbers = hypertetrahedral_number = triangulotriangular_number</code></li>
240
- <li><code>k_dimensional_hypertetrahedron_numbers(k) = k_hypertetrahedron_numbers(k) = regular_k_polytopic_numbers(k) = figurate_number_of_order_k(k)</code></li>
241
- <li><code>five_dimensional_hypertetrahedron_numbers</code></li>
242
- <li><code>six_dimensional_hypertetrahedron_numbers</code></li>
243
- <li><code>biquadratic_numbers</code></li>
244
- <li><code>k_dimensional_hypercube_numbers(k) = k_hypercube_numbers(k)</code></li>
245
- <li><code>five_dimensional_hypercube_numbers</code></li>
246
- <li><code>six_dimensional_hypercube_numbers</code></li>
247
- <li><code>hyperoctahedral_numbers = hexadecachoron_numbers = four_cross_polytope_numbers = four_orthoplex_numbers</code></li>
248
- <li><code>hypericosahedral_numbers = tetraplex_numbers = polytetrahedron_numbers = hexacosichoron_numbers</code></li>
249
- <li><code>hyperdodecahedral_numbers = hecatonicosachoron_numbers = dodecaplex_numbers = polydodecahedron_numbers</code></li>
250
- <li><code>polyoctahedral_numbers = icositetrachoron_numbers = octaplex_numbers = hyperdiamond_numbers</code></li>
251
-
252
- <li><code>four_dimensional_hyperoctahedron_numbers</code></li>
253
- <li><code>five_dimensional_hyperoctahedron_numbers</code></li>
254
- <li><code>six_dimensional_hyperoctahedron_numbers</code></li>
255
- <li><code>seven_dimensional_hyperoctahedron_numbers</code></li>
256
- <li><code>eight_dimensional_hyperoctahedron_numbers</code></li>
257
- <li><code>nine_dimensional_hyperoctahedron_numbers</code></li>
258
- <li><code>ten_dimensional_hyperoctahedron_numbers</code></li>
259
- <li><code>k_dimensional_hyperoctahedron_numbers(k) = k_cross_polytope_numbers(k)</code></li>
260
-
261
- <li><code>four_dimensional_mgonal_pyramidal_numbers(m) = mgonal_pyramidal_number_of_the_second_order(m)</code></li>
262
- <li><code>four_dimensional_square_pyramidal_numbers</code></li>
263
- <li><code>four_dimensional_pentagonal_pyramidal_numbers</code></li>
264
- <li><code>four_dimensional_hexagonal_pyramidal_numbers</code></li>
265
- <li><code>four_dimensional_heptagonal_pyramidal_numbers</code></li>
266
- <li><code>four_dimensional_octagonal_pyramidal_numbers</code></li>
267
- <li><code>four_dimensional_nonagonal_pyramidal_numbers</code></li>
268
- <li><code>four_dimensional_decagonal_pyramidal_numbers</code></li>
269
- <li><code>four_dimensional_hendecagonal_pyramidal_numbers</code></li>
270
- <li><code>four_dimensional_dodecagonal_pyramidal_numbers</code></li>
271
-
272
- <li><code>k_dimensional_mgonal_pyramidal_numbers(k, m) = mgonal_pyramidal_number_of_the_k_2_th_order(k, m)</code></li>
273
- <li><code>five_dimensional_mgonal_pyramidal_numbers</code></li>
274
- <li><code>five_dimensional_square_pyramidal_numbers</code></li>
275
- <li><code>five_dimensional_pentagonal_pyramidal_numbers</code></li>
276
- <li><code>five_dimensional_hexagonal_pyramidal_numbers</code></li>
277
- <li><code>five_dimensional_heptagonal_pyramidal_numbers</code></li>
278
- <li><code>five_dimensional_octagonal_pyramidal_numbers</code></li>
279
- <li><code>six_dimensional_mgonal_pyramidal_numbers(m)</code></li>
280
- <li><code>six_dimensional_square_pyramidal_numbers</code></li>
281
- <li><code>six_dimensional_pentagonal_pyramidal_numbers</code></li>
282
- <li><code>six_dimensional_hexagonal_pyramidal_numbers</code></li>
283
- <li><code>six_dimensional_heptagonal_pyramidal_numbers</code></li>
284
- <li><code>six_dimensional_octagonal_pyramidal_numbers</code></li>
285
-
286
- <li><code>centered_biquadratic_numbers</code></li>
287
- <li><code>k_dimensional_centered_hypercube_numbers(k)</code></li>
288
- <li><code>five_dimensional_centered_hypercube_numbers</code></li>
289
- <li><code>six_dimensional_centered_hypercube_numbers</code></li>
290
- <li><code>centered_polytope_numbers</code></li>
291
- <li><code>k_dimensional_centered_hypertetrahedron_numbers(k)</code></li>
292
- <li><code>five_dimensional_centered_hypertetrahedron_numbers(k)</code></li>
293
- <li><code>six_dimensional_centered_hypertetrahedron_numbers(k)</code></li>
294
-
295
- <li><code>centered_hyperoctahedral_numbers = orthoplex_numbers</code></li>
296
- <li><code>nexus_numbers(k)</code></li>
297
- <li><code>k_dimensional_centered_hyperoctahedron_numbers(k)</code></li>
298
- <li><code>five_dimensional_centered_hyperoctahedron_numbers</code></li>
299
- <li><code>six_dimensional_centered_hyperoctahedron_numbers</code></li>
300
- <li><code>generalized_pentatope_numbers(left_index = 0)</code></li>
301
- <li><code>generalized_k_dimensional_hypertetrahedron_numbers(k = 5, left_index = 0)</code></li>
302
- <li><code>generalized_biquadratic_numbers(left_index = 0)</code></li>
303
- <li><code>generalized_k_dimensional_hypercube_numbers(k = 5, left_index = 0)</code></li>
304
- <li><code>generalized_hyperoctahedral_numbers(left_index = 0)</code></li>
305
- <li><code>generalized_k_dimensional_hyperoctahedron_numbers(k = 5, left_index = 0) [even or odd dimension only changes sign]</code></li>
306
- <li><code>generalized_hyperdodecahedral_numbers(left_index = 0)</code></li>
307
- <li><code>generalized_hypericosahedral_numbers(left_index = 0)</code></li>
308
- <li><code>generalized_polyoctahedral_numbers(left_index = 0)</code></li>
309
- <li><code>generalized_k_dimensional_mgonal_pyramidal_numbers(k, m, left_index = 0)</code></li>
310
- <li><code>generalized_k_dimensional_centered_hypercube_numbers(k, left_index = 0)</code></li>
311
-
312
- <!-- * Problems with math definition via binomial coeff in helper functions, n < 0 -->
313
- <!-- <li><code>generalized_k_dimensional_centered_hypertetrahedron_numbers(k, left_index = 0)</code></li>
314
- <li><code>generalized_k_dimensional_centered_hyperoctahedron_numbers(k, left_index = 0)</code></li> -->
315
-
316
- <li><code>generalized_nexus_numbers(k, left_index = 0) [even or odd dimension only changes sign]</code></li>
317
- </ol>
271
+
272
+ 1. `pentatope = hypertetrahedral = triangulotriangular`
273
+ 2. `k_dimensional_hypertetrahedron(k) = k_hypertetrahedron(k) = regular_k_polytopic(k) = figurate_numbers_of_order_k(k)`
274
+ 3. `five_dimensional_hypertetrahedron`
275
+ 4. `six_dimensional_hypertetrahedron`
276
+ 5. `biquadratic`
277
+ 6. `k_dimensional_hypercube(k) = k_hypercube(k)`
278
+ 7. `five_dimensional_hypercube`
279
+ 8. `six_dimensional_hypercube`
280
+ 9. `hyperoctahedral = hexadecachoron = four_cross_polytope = four_orthoplex`
281
+ 10. `hypericosahedral = tetraplex = polytetrahedron = hexacosichoron`
282
+ 11. `hyperdodecahedral = hecatonicosachoron = dodecaplex = polydodecahedron`
283
+ 12. `polyoctahedral = icositetrachoron = octaplex = hyperdiamond`
284
+ 13. `four_dimensional_hyperoctahedron`
285
+ 14. `five_dimensional_hyperoctahedron`
286
+ 15. `six_dimensional_hyperoctahedron`
287
+ 16. `seven_dimensional_hyperoctahedron`
288
+ 17. `eight_dimensional_hyperoctahedron`
289
+ 18. `nine_dimensional_hyperoctahedron`
290
+ 19. `ten_dimensional_hyperoctahedron`
291
+ 20. `k_dimensional_hyperoctahedron(k) = k_cross_polytope(k)`
292
+ 21. `four_dimensional_mgonal_pyramidal(m) = mgonal_pyramidal_numbers_of_the_second_order(m)`
293
+ 22. `four_dimensional_square_pyramidal`
294
+ 23. `four_dimensional_pentagonal_pyramidal`
295
+ 24. `four_dimensional_hexagonal_pyramidal`
296
+ 25. `four_dimensional_heptagonal_pyramidal`
297
+ 26. `four_dimensional_octagonal_pyramidal`
298
+ 27. `four_dimensional_nonagonal_pyramidal`
299
+ 28. `four_dimensional_decagonal_pyramidal`
300
+ 29. `four_dimensional_hendecagonal_pyramidal`
301
+ 30. `four_dimensional_dodecagonal_pyramidal`
302
+ 31. `k_dimensional_mgonal_pyramidal(k, m) = mgonal_pyramidal_of_the_k_2_th_order(k, m)`
303
+ 32. `five_dimensional_mgonal_pyramidal(m)`
304
+ 33. `five_dimensional_square_pyramidal`
305
+ 34. `five_dimensional_pentagonal_pyramidal`
306
+ 35. `five_dimensional_hexagonal_pyramidal`
307
+ 36. `five_dimensional_heptagonal_pyramidal`
308
+ 37. `five_dimensional_octagonal_pyramidal`
309
+ 38. `six_dimensional_mgonal_pyramidal(m)`
310
+ 39. `six_dimensional_square_pyramidal`
311
+ 40. `six_dimensional_pentagonal_pyramidal`
312
+ 41. `six_dimensional_hexagonal_pyramidal`
313
+ 42. `six_dimensional_heptagonal_pyramidal`
314
+ 43. `six_dimensional_octagonal_pyramidal`
315
+ 44. `centered_biquadratic`
316
+ 45. `k_dimensional_centered_hypercube(k)`
317
+ 46. `five_dimensional_centered_hypercube`
318
+ 47. `six_dimensional_centered_hypercube`
319
+ 48. `centered_polytope`
320
+ 49. `k_dimensional_centered_hypertetrahedron(k)`
321
+ 50. `five_dimensional_centered_hypertetrahedron(k)`
322
+ 51. `six_dimensional_centered_hypertetrahedron(k)`
323
+ 52. `centered_hyperoctahedral = orthoplex`
324
+ 53. `nexus(k)`
325
+ 54. `k_dimensional_centered_hyperoctahedron(k)`
326
+ 55. `five_dimensional_centered_hyperoctahedron`
327
+ 56. `six_dimensional_centered_hyperoctahedron`
328
+ 57. `generalized_pentatope(left_index = 0)`
329
+ 58. `generalized_k_dimensional_hypertetrahedron(k = 5, left_index = 0)`
330
+ 59. `generalized_biquadratic(left_index = 0)`
331
+ 60. `generalized_k_dimensional_hypercube(k = 5, left_index = 0)`
332
+ 61. `generalized_hyperoctahedral(left_index = 0)`
333
+ 62. `generalized_k_dimensional_hyperoctahedron(k = 5, left_index = 0) [even or odd dimension only changes sign]`
334
+ 63. `generalized_hyperdodecahedral(left_index = 0)`
335
+ 64. `generalized_hypericosahedral(left_index = 0)`
336
+ 65. `generalized_polyoctahedral(left_index = 0)`
337
+ 66. `generalized_k_dimensional_mgonal_pyramidal(k, m, left_index = 0)`
338
+ 67. `generalized_k_dimensional_centered_hypercube(k, left_index = 0)`
339
+ 68. `generalized_k_dimensional_centered_hypertetrahedron(k, left_index = 0)[provisional symmetry]`
340
+ 69. `generalized_k_dimensional_centered_hyperoctahedron(k, left_index = 0)[provisional symmetry]`
341
+ 70. `generalized_nexus(k, left_index = 0) [even or odd dimension only changes sign]`
318
342
 
319
343
  ### 6. Zoo of figurate-related numbers
320
- <ol>
321
- <li><code>cuban_numbers = cuban_prime_numbers</code></li>
322
- <li><code>quartan_numbers [Needs to improve the algorithmic complexity for n > 70]</code></li>
323
- <li><code>pell_numbers</code></li>
324
- <li><code>carmichael_numbers [Needs to improve the algorithmic complexity for n > 20]</code></li>
325
- <li><code>stern_prime_numbers(infty = false) [Quick calculations up to 8 terms]</code></li>
326
- <li><code>apocalyptic_numbers</code></li>
327
- </ol>
344
+
345
+ 1. `cuban_numbers = cuban_prime_numbers`
346
+ 2. `quartan_numbers [Needs to improve the algorithmic complexity for n > 70]`
347
+ 3. `pell_numbers`
348
+ 4. `carmichael_numbers [Needs to improve the algorithmic complexity for n > 20]`
349
+ 4. `stern_prime_numbers(infty = false) [Quick calculations up to 8 terms]`
350
+ 5. `apocalyptic_numbers`
328
351
 
329
352
  ## Errata
330
353