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
- #centered_cube ⇒ Object
- #centered_decagonal_pyramidal ⇒ Object
- #centered_dodecagonal_pyramidal ⇒ Object
- #centered_dodecahedron ⇒ Object
- #centered_hendecagonal_pyramidal ⇒ Object
- #centered_heptagonal_pyramid ⇒ Object
- #centered_heptagonal_pyramidal ⇒ Object
- #centered_hexagonal_pyramid ⇒ Object
- #centered_hexagonal_pyramidal ⇒ Object (also: #hex_pyramidal)
- #centered_icosahedron ⇒ Object (also: #centered_cuboctahedron)
- #centered_mgonal_pyramid(m) ⇒ Object
- #centered_mgonal_pyramidal(m) ⇒ Object
- #centered_nonagonal_pyramidal ⇒ Object
- #centered_octagonal_pyramid ⇒ Object
- #centered_octagonal_pyramidal ⇒ Object
- #centered_octahedron ⇒ Object
- #centered_pentagonal_pyramid ⇒ Object
- #centered_pentagonal_pyramidal ⇒ Object
- #centered_square_pyramid ⇒ Object (also: #centered_pyramid)
- #centered_square_pyramidal ⇒ Object
- #centered_tetrahedron ⇒ Object (also: #centered_tetrahedral)
- #centered_triangular_pyramidal ⇒ Object
- #centered_truncated_cube ⇒ Object
- #centered_truncated_octahedron ⇒ Object
- #centered_truncated_tetrahedron ⇒ Object
- #cubic ⇒ Object (also: #perfect_cube)
- #decagonal_pyramidal ⇒ Object
- #dodecagonal_pyramidal ⇒ Object
- #dodecahedral ⇒ Object
- #generalized_centered_cube(left_index = 0) ⇒ Object
- #generalized_centered_mgonal_pyramidal(m, left_index = 0) ⇒ Object
- #generalized_centered_square_pyramid(left_index = 0) ⇒ Object
- #generalized_centered_tetrahedron(left_index = 0) ⇒ Object
- #generalized_cubic(left_index = 0) ⇒ Object
- #generalized_dodecahedral(left_index = 0) ⇒ Object
- #generalized_hexagonal_prism(left_index = 0) ⇒ Object
- #generalized_hexagonal_pyramidal(left_index = 0) ⇒ Object
- #generalized_icosahedral(left_index = 0) ⇒ Object
- #generalized_mgonal_prism(m, left_index = 0) ⇒ Object
- #generalized_mgonal_pyramidal(m, left_index = 0) ⇒ Object
- #generalized_octahedral(left_index = 0) ⇒ Object
- #generalized_pentagonal_pyramidal(left_index = 0) ⇒ Object
- #generalized_rhombic_dodecahedral(left_index = 0) ⇒ Object
- #hauy_rhombic_dodecahedral ⇒ Object
- #hendecagonal_pyramidal ⇒ Object
- #heptadecagonal_pyramidal ⇒ Object
- #heptagonal_pyramidal ⇒ Object
- #hexadecagonal_pyramidal ⇒ Object
- #hexagonal_prism ⇒ Object
- #hexagonal_pyramidal ⇒ Object
- #icosagonal_pyramidal ⇒ Object
- #icosahedral ⇒ Object
- #icosidigonal_pyramidal ⇒ Object
- #icosihenagonal_pyramidal ⇒ Object
- #icosiheptagonal_pyramidal ⇒ Object
- #icosihexagonal_pyramidal ⇒ Object
- #icosinonagonal_pyramidal ⇒ Object
- #icosioctagonal_pyramidal ⇒ Object
- #icosipentagonal_pyramidal ⇒ Object
- #icositetragonal_pyramidal ⇒ Object
- #icositrigonal_pyramidal ⇒ Object
- #mgonal_prism(m) ⇒ Object
- #nonadecagonal_pyramidal ⇒ Object
- #nonagonal_pyramidal ⇒ Object
- #octadecagonal_pyramidal ⇒ Object
- #octagonal_pyramidal ⇒ Object
- #octahedral ⇒ Object
- #pentadecagonal_pyramidal ⇒ Object
- #pentagonal_pyramidal ⇒ Object
- #r_pyramidal(r = 3) ⇒ Object
- #rhombic_dodecahedral ⇒ Object
- #square_pyramidal ⇒ Object (also: #pyramidal)
- #square_square_pyramidal ⇒ Object
- #square_tetrahedral ⇒ Object
- #stella_octangula ⇒ Object
- #tetradecagonal_pyramidal ⇒ Object
- #tetrahedral ⇒ Object (also: #triangular_pyramidal)
- #tetrahedral_square_pyramidal_number ⇒ Object
- #triacontagonal_pyramidal ⇒ Object
- #triangular_square_pyramidal ⇒ Object
- #triangular_tetrahedral ⇒ Object
- #tridecagonal_pyramidal ⇒ Object
- #truncated_cubic ⇒ Object
- #truncated_octahedral ⇒ Object
- #truncated_tetrahedral ⇒ Object
Instance Method Details
#centered_cube ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_dodecahedron ⇒ Object
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_pyramidal ⇒ Object
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_pyramid ⇒ Object
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_pyramidal ⇒ Object
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_pyramid ⇒ Object
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_pyramidal ⇒ Object 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_icosahedron ⇒ Object 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_pyramidal ⇒ Object
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_pyramid ⇒ Object
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_pyramidal ⇒ Object
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_octahedron ⇒ Object
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_pyramid ⇒ Object
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_pyramidal ⇒ Object
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_pyramid ⇒ Object 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_pyramidal ⇒ Object
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_tetrahedron ⇒ Object 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_pyramidal ⇒ Object
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_cube ⇒ Object
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_octahedron ⇒ Object
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_tetrahedron ⇒ Object
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 |
#cubic ⇒ Object 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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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 |
#dodecahedral ⇒ Object
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_dodecahedral ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_prism ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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 |
#icosahedral ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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 |
#octahedral ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_dodecahedral ⇒ Object
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_pyramidal ⇒ Object 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_pyramidal ⇒ Object
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_tetrahedral ⇒ Object
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_octangula ⇒ Object
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_pyramidal ⇒ Object
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 |
#tetrahedral ⇒ Object 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_number ⇒ Object
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_pyramidal ⇒ Object
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_pyramidal ⇒ Object
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_tetrahedral ⇒ Object
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_pyramidal ⇒ Object
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_cubic ⇒ Object
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_octahedral ⇒ Object
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_tetrahedral ⇒ Object
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 |