Module: FigurateNumbers::SpaceFigurateNumbers

Extended by:
SpaceFigurateNumbers
Included in:
FigurateNumbers, SpaceFigurateNumbers
Defined in:
lib/figurate_numbers/space_figurate_numbers.rb

Overview

Module containing methods for generating 3D figurate number sequences.

Instance Method Summary collapse

Instance Method Details

#centered_cubeObject



352
353
354
355
356
357
358
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 352

def centered_cube
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (delta**2 - delta + 1)
    end
  end
end

#centered_decagonal_pyramidalObject



555
556
557
558
559
560
561
562
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 555

def centered_decagonal_pyramidal
  m = 10
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#centered_dodecagonal_pyramidalObject



573
574
575
576
577
578
579
580
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 573

def centered_dodecagonal_pyramidal
  m = 12
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#centered_dodecahedronObject



454
455
456
457
458
459
460
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 454

def centered_dodecahedron
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (3 * delta**2 - 3 * delta + 1)
    end
  end
end

#centered_hendecagonal_pyramidalObject



564
565
566
567
568
569
570
571
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 564

def centered_hendecagonal_pyramidal
  m = 11
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#centered_heptagonal_pyramidObject



420
421
422
423
424
425
426
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 420

def centered_heptagonal_pyramid
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (delta**2 - delta + 1)
    end
  end
end

#centered_heptagonal_pyramidalObject



528
529
530
531
532
533
534
535
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 528

def centered_heptagonal_pyramidal
  m = 7
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#centered_hexagonal_pyramidObject



412
413
414
415
416
417
418
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 412

def centered_hexagonal_pyramid
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (5 * delta**2 - 5 * delta + 6) / 6
    end
  end
end

#centered_hexagonal_pyramidalObject Also known as: hex_pyramidal



518
519
520
521
522
523
524
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 518

def centered_hexagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta**3
    end
  end
end

#centered_icosahedronObject Also known as: centered_cuboctahedron



444
445
446
447
448
449
450
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 444

def centered_icosahedron
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (5 * delta**2 - 5 * delta + 3) / 3
    end
  end
end

#centered_mgonal_pyramid(m) ⇒ Object



396
397
398
399
400
401
402
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 396

def centered_mgonal_pyramid(m)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m - 1) * ((delta - 1) * delta * (2 * delta - 1)) / 6 + (2 * delta - 1)
    end
  end
end

#centered_mgonal_pyramidal(m) ⇒ Object



486
487
488
489
490
491
492
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 486

def centered_mgonal_pyramidal(m)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#centered_nonagonal_pyramidalObject



546
547
548
549
550
551
552
553
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 546

def centered_nonagonal_pyramidal
  m = 9
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#centered_octagonal_pyramidObject



428
429
430
431
432
433
434
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 428

def centered_octagonal_pyramid
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (7 * delta**2 - 7 * delta + 6) / 6
    end
  end
end

#centered_octagonal_pyramidalObject



537
538
539
540
541
542
543
544
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 537

def centered_octagonal_pyramidal
  m = 8
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#centered_octahedronObject



436
437
438
439
440
441
442
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 436

def centered_octahedron
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (2 * delta**2 - 2 * delta + 3) / 3
    end
  end
end

#centered_pentagonal_pyramidObject



404
405
406
407
408
409
410
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 404

def centered_pentagonal_pyramid
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (2 * delta**2 - 2 * delta + 3) / 3
    end
  end
end

#centered_pentagonal_pyramidalObject



510
511
512
513
514
515
516
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 510

def centered_pentagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (5 * delta**3 + delta) / 6
    end
  end
end

#centered_square_pyramidObject Also known as: centered_pyramid



386
387
388
389
390
391
392
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 386

def centered_square_pyramid
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * ((delta**2 - delta + 2)) / 2
    end
  end
end

#centered_square_pyramidalObject



502
503
504
505
506
507
508
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 502

def centered_square_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta**3 + delta) / 3
    end
  end
end

#centered_tetrahedronObject Also known as: centered_tetrahedral



376
377
378
379
380
381
382
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 376

def centered_tetrahedron
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * ((delta**2 - delta + 3)) / 3
    end
  end
end

#centered_triangular_pyramidalObject



494
495
496
497
498
499
500
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 494

def centered_triangular_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta**2 + 1) / 2
    end
  end
end

#centered_truncated_cubeObject



470
471
472
473
474
475
476
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 470

def centered_truncated_cube
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (23 * delta**2 - 23 * delta + 3) / 3
    end
  end
end

#centered_truncated_octahedronObject



478
479
480
481
482
483
484
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 478

def centered_truncated_octahedron
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (5 * delta**2 - 5 * delta + 1)
    end
  end
end

#centered_truncated_tetrahedronObject



462
463
464
465
466
467
468
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 462

def centered_truncated_tetrahedron
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (7 * delta**2 - 7 * delta + 3) / 3
    end
  end
end

#cubicObject Also known as: perfect_cube



276
277
278
279
280
281
282
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 276

def cubic
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta**3
    end
  end
end

#decagonal_pyramidalObject



64
65
66
67
68
69
70
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 64

def decagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (8 * delta - 5) / 6
    end
  end
end

#dodecagonal_pyramidalObject



80
81
82
83
84
85
86
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 80

def dodecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (10 * delta - 7) / 6
    end
  end
end

#dodecahedralObject



304
305
306
307
308
309
310
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 304

def dodecahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (delta * (3 * delta - 1) * (3 * delta - 2)) / 2
    end
  end
end

#generalized_centered_cube(left_index = 0) ⇒ Object



656
657
658
659
660
661
662
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 656

def generalized_centered_cube(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (delta**2 - delta + 1)
    end
  end
end

#generalized_centered_mgonal_pyramidal(m, left_index = 0) ⇒ Object



688
689
690
691
692
693
694
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 688

def generalized_centered_mgonal_pyramidal(m, left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y <<  (m * delta**3 + delta * (6 - m)) / 6
    end
  end
end

#generalized_centered_square_pyramid(left_index = 0) ⇒ Object



672
673
674
675
676
677
678
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 672

def generalized_centered_square_pyramid(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y <<  ((2 * delta - 1) * (delta**2 - delta + 2)) / 2
    end
  end
end

#generalized_centered_tetrahedron(left_index = 0) ⇒ Object



664
665
666
667
668
669
670
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 664

def generalized_centered_tetrahedron(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y <<  (2 * delta - 1) * (delta**2 - delta + 3) / 3
    end
  end
end

#generalized_cubic(left_index = 0) ⇒ Object



624
625
626
627
628
629
630
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 624

def generalized_cubic(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << delta**3
    end
  end
end

#generalized_dodecahedral(left_index = 0) ⇒ Object



648
649
650
651
652
653
654
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 648

def generalized_dodecahedral(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (9 * delta**2 - 9 * delta + 2) * delta /  2
    end
  end
end

#generalized_hexagonal_prism(left_index = 0) ⇒ Object



704
705
706
707
708
709
710
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 704

def generalized_hexagonal_prism(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << delta * (3 * delta**2 - 3 * delta + 1)
    end
  end
end

#generalized_hexagonal_pyramidal(left_index = 0) ⇒ Object



615
616
617
618
619
620
621
622
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 615

def generalized_hexagonal_pyramidal(left_index = 0)
  m = 6
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (delta * (delta + 1) * ((m - 2) * delta - m + 5)) / 6
    end
  end
end

#generalized_icosahedral(left_index = 0) ⇒ Object



640
641
642
643
644
645
646
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 640

def generalized_icosahedral(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (5 * delta**2 - 5 * delta + 2) * delta / 2
    end
  end
end

#generalized_mgonal_prism(m, left_index = 0) ⇒ Object



696
697
698
699
700
701
702
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 696

def generalized_mgonal_prism(m, left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << delta * (m * delta**2 - m * delta + 2) / 2
    end
  end
end

#generalized_mgonal_pyramidal(m, left_index = 0) ⇒ Object



598
599
600
601
602
603
604
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 598

def generalized_mgonal_pyramidal(m, left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (delta * (delta + 1) * ((m - 2) * delta - m + 5)) / 6
    end
  end
end

#generalized_octahedral(left_index = 0) ⇒ Object



632
633
634
635
636
637
638
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 632

def generalized_octahedral(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (2 * delta**2 + 1) * delta / 3
    end
  end
end

#generalized_pentagonal_pyramidal(left_index = 0) ⇒ Object



606
607
608
609
610
611
612
613
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 606

def generalized_pentagonal_pyramidal(left_index = 0)
  m = 5
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y << (delta * (delta + 1) * ((m - 2) * delta - m + 5)) / 6
    end
  end
end

#generalized_rhombic_dodecahedral(left_index = 0) ⇒ Object



680
681
682
683
684
685
686
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 680

def generalized_rhombic_dodecahedral(left_index = 0)
  Enumerator.new do |y|
    ((-1 * left_index.abs)..Float::INFINITY).each do |delta|
      y <<  delta**4 - (delta - 1)**4
    end
  end
end

#hauy_rhombic_dodecahedralObject



368
369
370
371
372
373
374
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 368

def hauy_rhombic_dodecahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (8 * delta**2 - 14 * delta + 7)
    end
  end
end

#hendecagonal_pyramidalObject



72
73
74
75
76
77
78
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 72

def hendecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (9 * delta - 6) / 6
    end
  end
end

#heptadecagonal_pyramidalObject



120
121
122
123
124
125
126
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 120

def heptadecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (15 * delta - 12) / 6
    end
  end
end

#heptagonal_pyramidalObject



40
41
42
43
44
45
46
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 40

def heptagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (5 * delta - 2) / 6
    end
  end
end

#hexadecagonal_pyramidalObject



112
113
114
115
116
117
118
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 112

def hexadecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (14 * delta - 11) / 6
    end
  end
end

#hexagonal_prismObject



582
583
584
585
586
587
588
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 582

def hexagonal_prism
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (3 * delta**2 - 3 * delta + 1)
    end
  end
end

#hexagonal_pyramidalObject



32
33
34
35
36
37
38
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 32

def hexagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (4 * delta - 1) / 6
    end
  end
end

#icosagonal_pyramidalObject



144
145
146
147
148
149
150
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 144

def icosagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (18 * delta - 15) / 6
    end
  end
end

#icosahedralObject



312
313
314
315
316
317
318
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 312

def icosahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (delta * (5 * delta**2 - 5 * delta + 2)) / 2
    end
  end
end

#icosidigonal_pyramidalObject



160
161
162
163
164
165
166
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 160

def icosidigonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (20 * delta - 17) / 6
    end
  end
end

#icosihenagonal_pyramidalObject



152
153
154
155
156
157
158
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 152

def icosihenagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (19 * delta - 16) / 6
    end
  end
end

#icosiheptagonal_pyramidalObject



200
201
202
203
204
205
206
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 200

def icosiheptagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (25 * delta - 22) / 6
    end
  end
end

#icosihexagonal_pyramidalObject



192
193
194
195
196
197
198
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 192

def icosihexagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (24 * delta - 21) / 6
    end
  end
end

#icosinonagonal_pyramidalObject



216
217
218
219
220
221
222
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 216

def icosinonagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (27 * delta - 24) / 6
    end
  end
end

#icosioctagonal_pyramidalObject



208
209
210
211
212
213
214
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 208

def icosioctagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (26 * delta - 23) / 6
    end
  end
end

#icosipentagonal_pyramidalObject



184
185
186
187
188
189
190
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 184

def icosipentagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (23 * delta - 20) / 6
    end
  end
end

#icositetragonal_pyramidalObject



176
177
178
179
180
181
182
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 176

def icositetragonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (22 * delta - 19) / 6
    end
  end
end

#icositrigonal_pyramidalObject



168
169
170
171
172
173
174
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 168

def icositrigonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (21 * delta - 18) / 6
    end
  end
end

#mgonal_prism(m) ⇒ Object



590
591
592
593
594
595
596
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 590

def mgonal_prism(m)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (m * delta**2 - m * delta + 2) / 2
    end
  end
end

#nonadecagonal_pyramidalObject



136
137
138
139
140
141
142
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 136

def nonadecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (17 * delta - 14) / 6
    end
  end
end

#nonagonal_pyramidalObject



56
57
58
59
60
61
62
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 56

def nonagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (7 * delta - 4) / 6
    end
  end
end

#octadecagonal_pyramidalObject



128
129
130
131
132
133
134
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 128

def octadecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (16 * delta - 13) / 6
    end
  end
end

#octagonal_pyramidalObject



48
49
50
51
52
53
54
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 48

def octagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (6 * delta - 3) / 6
    end
  end
end

#octahedralObject



296
297
298
299
300
301
302
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 296

def octahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (delta * (2 * delta**2 + 1)) / 3
    end
  end
end

#pentadecagonal_pyramidalObject



104
105
106
107
108
109
110
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 104

def pentadecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (13 * delta - 10) / 6
    end
  end
end

#pentagonal_pyramidalObject



24
25
26
27
28
29
30
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 24

def pentagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta**2 * (delta + 1) / 2
    end
  end
end

#r_pyramidal(r = 3) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 6

def r_pyramidal(r = 3)
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (3 * delta**2 + delta**3 * (r - 2) - delta * (r - 5)) / 6
    end
  end
end

#rhombic_dodecahedralObject



360
361
362
363
364
365
366
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 360

def rhombic_dodecahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (2 * delta - 1) * (2 * delta**2 - 2 * delta + 1)
    end
  end
end

#square_pyramidalObject Also known as: pyramidal



14
15
16
17
18
19
20
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 14

def square_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (delta * (delta + 1) * (2 * delta + 1)) / 6
    end
  end
end

#square_square_pyramidalObject



259
260
261
262
263
264
265
266
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 259

def square_square_pyramidal
  Enumerator.new do |y|
    finite_set = [1, 4900]
    (0..Float::INFINITY).each do |delta|
      y << finite_set[delta % 2]
    end
  end
end

#square_tetrahedralObject



250
251
252
253
254
255
256
257
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 250

def square_tetrahedral
  Enumerator.new do |y|
    finite_set = [1, 4, 19_600]
    (0..Float::INFINITY).each do |delta|
      y << finite_set[delta % 3]
    end
  end
end

#stella_octangulaObject



344
345
346
347
348
349
350
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 344

def stella_octangula
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (2 * delta**2 - 1)
    end
  end
end

#tetradecagonal_pyramidalObject



96
97
98
99
100
101
102
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 96

def tetradecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (12 * delta - 9) / 6
    end
  end
end

#tetrahedralObject Also known as: triangular_pyramidal



286
287
288
289
290
291
292
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 286

def tetrahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (delta * (delta + 1) * (delta + 2)) / 6
    end
  end
end

#tetrahedral_square_pyramidal_numberObject



268
269
270
271
272
273
274
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 268

def tetrahedral_square_pyramidal_number
  Enumerator.new do |y|
    (1..Float::INFINITY).each do
      y << 1
    end
  end
end

#triacontagonal_pyramidalObject



224
225
226
227
228
229
230
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 224

def triacontagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (28 * delta - 25) / 6
    end
  end
end

#triangular_square_pyramidalObject



241
242
243
244
245
246
247
248
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 241

def triangular_square_pyramidal
  Enumerator.new do |y|
    finite_set = [1, 55, 91, 208_335]
    (0..Float::INFINITY).each do |delta|
      y << finite_set[delta % 4]
    end
  end
end

#triangular_tetrahedralObject



232
233
234
235
236
237
238
239
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 232

def triangular_tetrahedral
  Enumerator.new do |y|
    finite_set = [1, 10, 120, 1540, 7140]
    (0..Float::INFINITY).each do |delta|
      y << finite_set[delta % 5]
    end
  end
end

#tridecagonal_pyramidalObject



88
89
90
91
92
93
94
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 88

def tridecagonal_pyramidal
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << delta * (delta + 1) * (11 * delta - 8) / 6
    end
  end
end

#truncated_cubicObject



328
329
330
331
332
333
334
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 328

def truncated_cubic
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (3 * delta - 2)**3 - ((8 * (delta - 1) * delta * (delta + 1)) / 6)
    end
  end
end

#truncated_octahedralObject



336
337
338
339
340
341
342
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 336

def truncated_octahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (16 * delta**3 - 33 * delta**2 + 24 * delta - 6)
    end
  end
end

#truncated_tetrahedralObject



320
321
322
323
324
325
326
# File 'lib/figurate_numbers/space_figurate_numbers.rb', line 320

def truncated_tetrahedral
  Enumerator.new do |y|
    (1..Float::INFINITY).each do |delta|
      y << (23 * delta**2 - 27 * delta + 10) * delta / 6
    end
  end
end