figurate_numbers 1.3.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,51 +1,88 @@
1
- # Figurate Numbers
1
+ <h1 align="center"> Figurate Numbers </h1>
2
2
 
3
- ![Gem Version](https://img.shields.io/gem/v/figurate_numbers)
4
- ![Gem Total Downloads](https://img.shields.io/gem/dt/figurate_numbers)
5
- ![GitHub License](https://img.shields.io/github/license/edelveart/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.
6
5
 
7
- `figurate_numbers` is a Ruby module that implements `239 infinite number sequences` based on the formulas from the wonderful book
8
- > [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>
9
12
 
10
- This implementation uses the **Enumerator class** to deal with **INFINITE SEQUENCES**.
13
+ ![figurate_number-social-image](figurate_numbers.png)
11
14
 
12
- Following the order of the book, the methods are divided into 3 types according to the spatial dimension (see complete list below):
15
+ ## Installation
13
16
 
14
- 1. **Plane** figurate numbers implemented = `79`
15
- 2. **Space** figurate numbers implemented = `86`
16
- 3. **Multidimensional** figurate numbers implemented = `70`
17
- 4. **Zoo of figurate-related numbers** implemented = `6`
17
+ Install it from the gem repository:
18
18
 
19
- - [x] **TOTAL** = `241` infinite sequences of figurate numbers implemented
19
+ ```rb
20
+ gem install figurate_numbers
21
+ ```
20
22
 
21
- ## Installation and use
23
+ ## Features
22
24
 
23
- * `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.
24
27
 
25
- ### 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):
26
29
 
27
- 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
28
38
 
29
39
  ```rb
30
40
  require 'figurate_numbers'
31
41
 
32
42
  ## Using take(integer)
33
- FigurateNumbers.pronic_numbers.take(10).to_a
43
+ FigurateNumbers.pentatope.take(10)
34
44
 
35
45
  ## Storing and iterating
36
- f = FigurateNumbers.centered_octagonal_pyramid_numbers
46
+ f = FigurateNumbers.centered_octagonal_pyramid
37
47
  f.next
38
48
  f.next
39
49
  f.next
40
50
  ```
41
- ### 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)
42
79
 
43
80
  1. Locate or download the file in the path `lib/figurate_numbers.rb`
44
81
  2. Drag the file to a buffer in Sonic Pi (this generates the `<PATH>`)
45
82
 
46
83
  ```rb
47
84
  run_file "<PATH>"
48
-
85
+ sleep 1 # see the quote below
49
86
  pol_num = FigurateNumbers.polygonal_numbers(8)
50
87
  80.times do
51
88
  play pol_num.next % 12 * 7 # Some mathematical function or transformation
@@ -53,279 +90,264 @@ pol_num = FigurateNumbers.polygonal_numbers(8)
53
90
  end
54
91
  ```
55
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
+
56
95
  ## List of implemented sequences
57
96
 
58
97
  * Note that `=` means that you can call the same sequence with different names.
59
98
 
60
99
  ### 1. Plane Figurate Numbers
61
- <ol>
62
- <li><code>polygonal_numbers(m)</code></li>
63
- <li><code>triangular_numbers</code></li>
64
- <li><code>square_numbers</code></li>
65
- <li><code>pentagonal_numbers</code></li>
66
- <li><code>hexagonal_numbers</code></li>
67
- <li><code>heptagonal_numbers</code></li>
68
- <li><code>octagonal_numbers</code></li>
69
- <li><code>nonagonal_numbers</code></li>
70
- <li><code>decagonal_numbers</code></li>
71
- <li><code>hendecagonal_numbers</code></li>
72
- <li><code>dodecagonal_numbers</code></li>
73
- <li><code>tridecagonal_numbers</code></li>
74
- <li><code>tetradecagonal_numbers</code></li>
75
- <li><code>pentadecagonal_numbers</code></li>
76
- <li><code>hexadecagonal_numbers</code></li>
77
- <li><code>heptadecagonal_numbers</code></li>
78
- <li><code>octadecagonal_numbers</code></li>
79
- <li><code>nonadecagonal_numbers</code></li>
80
- <li><code>icosagonal_numbers</code></li>
81
- <li><code>icosihenagonal_numbers</code></li>
82
- <li><code>icosidigonal_numbers</code></li>
83
- <li><code>icositrigonal_numbers</code></li>
84
- <li><code>icositetragonal_numbers</code></li>
85
- <li><code>icosipentagonal_numbers</code></li>
86
- <li><code>icosihexagonal_numbers</code></li>
87
- <li><code>icosiheptagonal_numbers</code></li>
88
- <li><code>icosioctagonal_numbers</code></li>
89
- <li><code>icosinonagonal_numbers</code></li>
90
- <li><code>triacontagonal_numbers</code></li>
91
- <li><code>centered_triangular_numbers</code></li>
92
- <li><code>centered_square_numbers = diamond_numbers (equality only by quantity)</code></li>
93
- <li><code>centered_pentagonal_numbers</code></li>
94
- <li><code>centered_hexagonal_numbers</code></li>
95
- <li><code>centered_heptagonal_numbers</code></li>
96
- <li><code>centered_octagonal_numbers</code></li>
97
- <li><code>centered_nonagonal_numbers</code></li>
98
- <li><code>centered_decagonal_numbers</code></li>
99
- <li><code>centered_hendecagonal_numbers</code></li>
100
- <li><code>centered_dodecagonal_numbers = star_numbers (equality only by quantity)</code></li>
101
- <li><code>centered_tridecagonal_numbers</code></li>
102
- <li><code>centered_tetradecagonal_numbers</code></li>
103
- <li><code>centered_pentadecagonal_numbers</code></li>
104
- <li><code>centered_hexadecagonal_numbers</code></li>
105
- <li><code>centered_heptadecagonal_numbers</code></li>
106
- <li><code>centered_octadecagonal_numbers</code></li>
107
- <li><code>centered_nonadecagonal_numbers</code></li>
108
- <li><code>centered_icosagonal_numbers</code></li>
109
- <li><code>centered_icosihenagonal_numbers</code></li>
110
- <li><code>centered_icosidigonal_numbers</code></li>
111
- <li><code>centered_icositrigonal_numbers</code></li>
112
- <li><code>centered_icositetragonal_numbers</code></li>
113
- <li><code>centered_icosipentagonal_numbers</code></li>
114
- <li><code>centered_icosihexagonal_numbers</code></li>
115
- <li><code>centered_icosiheptagonal_numbers</code></li>
116
- <li><code>centered_icosioctagonal_numbers</code></li>
117
- <li><code>centered_icosinonagonal_numbers</code></li>
118
- <li><code>centered_triacontagonal_numbers</code></li>
119
- <li><code>centered_mgonal_numbers(m)</code></li>
120
- <li><code>pronic_numbers = heteromecic_numbers = oblong_numbers</code></li>
121
- <li><code>polite_numbers</code></li>
122
- <li><code>impolite_numbers</code></li>
123
- <li><code>cross_numbers</code></li>
124
- <li><code>aztec_diamond_numbers</code></li>
125
- <li><code>polygram_numbers(m) = centered_star_polygonal_numbers(m)</code></li>
126
- <li><code>pentagram_numbers</code></li>
127
- <li><code>gnomic_numbers</code></li>
128
- <li><code>truncated_triangular_numbers</code></li>
129
- <li><code>truncated_square_numbers</code></li>
130
- <li><code>truncated_pronic_numbers</code></li>
131
- <li><code>truncated_centered_pol_numbers(m) = truncated_centered_mgonal_numbers(m)</code></li>
132
- <li><code>truncated_centered_triangular_numbers</code></li>
133
- <li><code>truncated_centered_square_numbers</code></li>
134
- <li><code>truncated_centered_pentagonal_numbers</code></li>
135
- <li><code>truncated_centered_hexagonal_numbers = truncated_hex_numbers</code></li>
136
- <li><code>generalized_mgonal_numbers(m, left_index = 0)</code></li>
137
- <li><code>generalized_pentagonal_numbers(left_index = 0)</code></li>
138
- <li><code>generalized_hexagonal_numbers(left_index = 0)</code></li>
139
- <li><code>generalized_centered_pol_numbers(m, left_index = 0)</code></li>
140
- <li><code>generalized_pronic_numbers(left_index = 0)</code></li>
141
- </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)`
142
180
 
143
181
  ### 2. Space Figurate Numbers
144
- <ol>
145
- <li><code>r_pyramidal_numbers(r)</code></li>
146
- <li><code>triangular_pyramidal_numbers = tetrahedral_numbers</code></li>
147
- <li><code>square_pyramidal_numbers = pyramidal_numbers</code></li>
148
- <li><code>pentagonal_pyramidal_numbers</code></li>
149
- <li><code>hexagonal_pyramidal_numbers</code></li>
150
- <li><code>heptagonal_pyramidal_numbers</code></li>
151
- <li><code>octagonal_pyramidal_numbers</code></li>
152
- <li><code>nonagonal_pyramidal_numbers</code></li>
153
- <li><code>decagonal_pyramidal_numbers</code></li>
154
- <li><code>hendecagonal_pyramidal_numbers</code></li>
155
- <li><code>dodecagonal_pyramidal_numbers</code></li>
156
- <li><code>tridecagonal_pyramidal_numbers</code></li>
157
- <li><code>tetradecagonal_pyramidal_numbers</code></li>
158
- <li><code>pentadecagonal_pyramidal_numbers</code></li>
159
- <li><code>hexadecagonal_pyramidal_numbers</code></li>
160
- <li><code>heptadecagonal_pyramidal_numbers</code></li>
161
- <li><code>octadecagonal_pyramidal_numbers</code></li>
162
- <li><code>nonadecagonal_pyramidal_numbers</code></li>
163
- <li><code>icosagonal_pyramidal_numbers</code></li>
164
- <li><code>icosihenagonal_pyramidal_numbers</code></li>
165
- <li><code>icosidigonal_pyramidal_numbers</code></li>
166
- <li><code>icositrigonal_pyramidal_numbers</code></li>
167
- <li><code>icositetragonal_pyramidal_numbers</code></li>
168
- <li><code>icosipentagonal_pyramidal_numbers</code></li>
169
- <li><code>icosihexagonal_pyramidal_numbers</code></li>
170
- <li><code>icosiheptagonal_pyramidal_numbers</code></li>
171
- <li><code>icosioctagonal_pyramidal_numbers</code></li>
172
- <li><code>icosinonagonal_pyramidal_numbers</code></li>
173
- <li><code>triacontagonal_pyramidal_numbers</code></li>
174
-
175
- <li><code>triangular_tetrahedral_numbers [finite]</code></li>
176
- <li><code>triangular_square_pyramidal_numbers [finite]</code></li>
177
- <li><code>square_tetrahedral_numbers [finite]</code></li>
178
- <li><code>square_square_pyramidal_numbers [finite]</code></li>
179
- <li><code>tetrahedral_square_pyramidal_number [finite]</code></li>
180
-
181
- <li><code>cubic_numbers = perfect_cube_numbers != hex_pyramidal_numbers (equality only by quantity) </code></li>
182
- <li><code>tetrahedral_numbers</code></li>
183
- <li><code>octahedral_numbers</code></li>
184
- <li><code>dodecahedral_numbers</code></li>
185
- <li><code>icosahedral_numbers</code></li>
186
- <li><code>truncated_tetrahedral_numbers</code></li>
187
- <li><code>truncated_cubic_numbers</code></li>
188
- <li><code>truncated_octahedral_numbers</code></li>
189
- <li><code>stella_octangula_numbers</code></li>
190
- <li><code>centered_cube_numbers</code></li>
191
- <li><code>rhombic_dodecahedral_numbers</code></li>
192
- <li><code>hauy_rhombic_dodecahedral_numbers</code></li>
193
-
194
- <li><code>centered_tetrahedron_numbers = centered_tetrahedral_numbers</code></li>
195
- <li><code>centered_square_pyramid_numbers = centered_pyramid_numbers</code></li>
196
- <li><code>centered_mgonal_pyramid_numbers(m)</code></li>
197
- <li><code>centered_pentagonal_pyramid_numbers != centered_octahedron_numbers (equality only in quantity)</code></li>
198
- <li><code>centered_hexagonal_pyramid_numbers</code></li>
199
- <li><code>centered_heptagonal_pyramid_numbers</code></li>
200
- <li><code>centered_octagonal_pyramid_numbers</code></li>
201
-
202
- <li><code>centered_octahedron_numbers</code></li>
203
- <li><code>centered_icosahedron_numbers = centered_cuboctahedron_numbers</code></li>
204
- <li><code>centered_dodecahedron_numbers</code></li>
205
- <li><code>centered_truncated_tetrahedron_numbers</code></li>
206
- <li><code>centered_truncated_cube_numbers</code></li>
207
- <li><code>centered_truncated_octahedron_numbers</code></li>
208
-
209
- <li><code>centered_mgonal_pyramidal_numbers(m)</code></li>
210
- <li><code>centered_triangular_pyramidal_numbers</code></li>
211
- <li><code>centered_square_pyramidal_numbers</code></li>
212
- <li><code>centered_pentagonal_pyramidal_numbers</code></li>
213
- <li><code>centered_hexagonal_pyramidal_numbers = hex_pyramidal_numbers</code></li>
214
- <li><code>centered_heptagonal_pyramidal_numbers</code></li>
215
- <li><code>centered_octagonal_pyramidal_numbers</code></li>
216
- <li><code>centered_nonagonal_pyramidal_numbers</code></li>
217
- <li><code>centered_decagonal_pyramidal_numbers</code></li>
218
- <li><code>centered_hendecagonal_pyramidal_numbers</code></li>
219
- <li><code>centered_dodecagonal_pyramidal_numbers</code></li>
220
-
221
- <li><code>hexagonal_prism_numbers</code></li>
222
- <li><code>mgonal_prism_numbers(m)</code></li>
223
- <li><code>generalized_mgonal_pyramidal_numbers(m, left_index = 0)</code></li>
224
- <li><code>generalized_pentagonal_pyramidal_numbers(left_index = 0)</code></li>
225
- <li><code>generalized_hexagonal_pyramidal_numbers(left_index = 0)</code></li>
226
- <li><code>generalized_cubic_numbers(left_index = 0)</code></li>
227
- <li><code>generalized_octahedral_numbers(left_index = 0)</code></li>
228
- <li><code>generalized_icosahedral_numbers(left_index = 0)</code></li>
229
- <li><code>generalized_dodecahedral_numbers(left_index = 0)</code></li>
230
- <li><code>generalized_centered_cube_numbers(left_index = 0)</code></li>
231
- <li><code>generalized_centered_tetrahedron_numbers(left_index = 0)</code></li>
232
- <li><code>generalized_centered_square_pyramid_numbers(left_index = 0)</code></li>
233
- <li><code>generalized_rhombic_dodecahedral_numbers(left_index = 0)</code></li>
234
- <li><code>generalized_centered_mgonal_pyramidal_numbers(m, left_index = 0)</code></li>
235
- <li><code>generalized_mgonal_prism_numbers(m, left_index = 0)</code></li>
236
- <li><code>generalized_hexagonal_prism_numbers(left_index = 0)</code></li>
237
- </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)`
238
269
 
239
270
  ### 3. Multidimensional figurate numbers
240
- <ol>
241
- <li><code>pentatope_numbers = hypertetrahedral_numbers = triangulotriangular_numbers</code></li>
242
- <li><code>k_dimensional_hypertetrahedron_numbers(k) = k_hypertetrahedron_numbers(k) = regular_k_polytopic_numbers(k) = figurate_numbers_of_order_k(k)</code></li>
243
- <li><code>five_dimensional_hypertetrahedron_numbers</code></li>
244
- <li><code>six_dimensional_hypertetrahedron_numbers</code></li>
245
- <li><code>biquadratic_numbers</code></li>
246
- <li><code>k_dimensional_hypercube_numbers(k) = k_hypercube_numbers(k)</code></li>
247
- <li><code>five_dimensional_hypercube_numbers</code></li>
248
- <li><code>six_dimensional_hypercube_numbers</code></li>
249
- <li><code>hyperoctahedral_numbers = hexadecachoron_numbers = four_cross_polytope_numbers = four_orthoplex_numbers</code></li>
250
- <li><code>hypericosahedral_numbers = tetraplex_numbers = polytetrahedron_numbers = hexacosichoron_numbers</code></li>
251
- <li><code>hyperdodecahedral_numbers = hecatonicosachoron_numbers = dodecaplex_numbers = polydodecahedron_numbers</code></li>
252
- <li><code>polyoctahedral_numbers = icositetrachoron_numbers = octaplex_numbers = hyperdiamond_numbers</code></li>
253
-
254
- <li><code>four_dimensional_hyperoctahedron_numbers</code></li>
255
- <li><code>five_dimensional_hyperoctahedron_numbers</code></li>
256
- <li><code>six_dimensional_hyperoctahedron_numbers</code></li>
257
- <li><code>seven_dimensional_hyperoctahedron_numbers</code></li>
258
- <li><code>eight_dimensional_hyperoctahedron_numbers</code></li>
259
- <li><code>nine_dimensional_hyperoctahedron_numbers</code></li>
260
- <li><code>ten_dimensional_hyperoctahedron_numbers</code></li>
261
- <li><code>k_dimensional_hyperoctahedron_numbers(k) = k_cross_polytope_numbers(k)</code></li>
262
-
263
- <li><code>four_dimensional_mgonal_pyramidal_numbers(m) = mgonal_pyramidal_numbers_of_the_second_order(m)</code></li>
264
- <li><code>four_dimensional_square_pyramidal_numbers</code></li>
265
- <li><code>four_dimensional_pentagonal_pyramidal_numbers</code></li>
266
- <li><code>four_dimensional_hexagonal_pyramidal_numbers</code></li>
267
- <li><code>four_dimensional_heptagonal_pyramidal_numbers</code></li>
268
- <li><code>four_dimensional_octagonal_pyramidal_numbers</code></li>
269
- <li><code>four_dimensional_nonagonal_pyramidal_numbers</code></li>
270
- <li><code>four_dimensional_decagonal_pyramidal_numbers</code></li>
271
- <li><code>four_dimensional_hendecagonal_pyramidal_numbers</code></li>
272
- <li><code>four_dimensional_dodecagonal_pyramidal_numbers</code></li>
273
-
274
- <li><code>k_dimensional_mgonal_pyramidal_numbers(k, m) = mgonal_pyramidal_numbers_of_the_k_2_th_order(k, m)</code></li>
275
- <li><code>five_dimensional_mgonal_pyramidal_numbers(m)</code></li>
276
- <li><code>five_dimensional_square_pyramidal_numbers</code></li>
277
- <li><code>five_dimensional_pentagonal_pyramidal_numbers</code></li>
278
- <li><code>five_dimensional_hexagonal_pyramidal_numbers</code></li>
279
- <li><code>five_dimensional_heptagonal_pyramidal_numbers</code></li>
280
- <li><code>five_dimensional_octagonal_pyramidal_numbers</code></li>
281
- <li><code>six_dimensional_mgonal_pyramidal_numbers(m)</code></li>
282
- <li><code>six_dimensional_square_pyramidal_numbers</code></li>
283
- <li><code>six_dimensional_pentagonal_pyramidal_numbers</code></li>
284
- <li><code>six_dimensional_hexagonal_pyramidal_numbers</code></li>
285
- <li><code>six_dimensional_heptagonal_pyramidal_numbers</code></li>
286
- <li><code>six_dimensional_octagonal_pyramidal_numbers</code></li>
287
-
288
- <li><code>centered_biquadratic_numbers</code></li>
289
- <li><code>k_dimensional_centered_hypercube_numbers(k)</code></li>
290
- <li><code>five_dimensional_centered_hypercube_numbers</code></li>
291
- <li><code>six_dimensional_centered_hypercube_numbers</code></li>
292
- <li><code>centered_polytope_numbers</code></li>
293
- <li><code>k_dimensional_centered_hypertetrahedron_numbers(k)</code></li>
294
- <li><code>five_dimensional_centered_hypertetrahedron_numbers(k)</code></li>
295
- <li><code>six_dimensional_centered_hypertetrahedron_numbers(k)</code></li>
296
-
297
- <li><code>centered_hyperoctahedral_numbers = orthoplex_numbers</code></li>
298
- <li><code>nexus_numbers(k)</code></li>
299
- <li><code>k_dimensional_centered_hyperoctahedron_numbers(k)</code></li>
300
- <li><code>five_dimensional_centered_hyperoctahedron_numbers</code></li>
301
- <li><code>six_dimensional_centered_hyperoctahedron_numbers</code></li>
302
- <li><code>generalized_pentatope_numbers(left_index = 0)</code></li>
303
- <li><code>generalized_k_dimensional_hypertetrahedron_numbers(k = 5, left_index = 0)</code></li>
304
- <li><code>generalized_biquadratic_numbers(left_index = 0)</code></li>
305
- <li><code>generalized_k_dimensional_hypercube_numbers(k = 5, left_index = 0)</code></li>
306
- <li><code>generalized_hyperoctahedral_numbers(left_index = 0)</code></li>
307
- <li><code>generalized_k_dimensional_hyperoctahedron_numbers(k = 5, left_index = 0) [even or odd dimension only changes sign]</code></li>
308
- <li><code>generalized_hyperdodecahedral_numbers(left_index = 0)</code></li>
309
- <li><code>generalized_hypericosahedral_numbers(left_index = 0)</code></li>
310
- <li><code>generalized_polyoctahedral_numbers(left_index = 0)</code></li>
311
- <li><code>generalized_k_dimensional_mgonal_pyramidal_numbers(k, m, left_index = 0)</code></li>
312
- <li><code>generalized_k_dimensional_centered_hypercube_numbers(k, left_index = 0)</code></li>
313
-
314
- <li><code>generalized_k_dimensional_centered_hypertetrahedron_numbers(k, left_index = 0)[provisional symmetry]</code></li>
315
- <li><code>generalized_k_dimensional_centered_hyperoctahedron_numbers(k, left_index = 0)[provisional symmetry]</code></li>
316
-
317
- <li><code>generalized_nexus_numbers(k, left_index = 0) [even or odd dimension only changes sign]</code></li>
318
- </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]`
319
342
 
320
343
  ### 6. Zoo of figurate-related numbers
321
- <ol>
322
- <li><code>cuban_numbers = cuban_prime_numbers</code></li>
323
- <li><code>quartan_numbers [Needs to improve the algorithmic complexity for n > 70]</code></li>
324
- <li><code>pell_numbers</code></li>
325
- <li><code>carmichael_numbers [Needs to improve the algorithmic complexity for n > 20]</code></li>
326
- <li><code>stern_prime_numbers(infty = false) [Quick calculations up to 8 terms]</code></li>
327
- <li><code>apocalyptic_numbers</code></li>
328
- </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`
329
351
 
330
352
  ## Errata
331
353