|
62 | 62 | "SymEngine.ascii_art"
|
63 | 63 | ]
|
64 | 64 | },
|
65 |
| - { |
66 |
| - "cell_type": "markdown", |
67 |
| - "metadata": {}, |
68 |
| - "source": [ |
69 |
| - "or create a variable" |
70 |
| - ] |
71 |
| - }, |
72 |
| - { |
73 |
| - "cell_type": "code", |
74 |
| - "execution_count": 3, |
75 |
| - "metadata": { |
76 |
| - "collapsed": false |
77 |
| - }, |
78 |
| - "outputs": [ |
79 |
| - { |
80 |
| - "data": { |
81 |
| - "text/plain": [ |
82 |
| - "#<SymEngine::Basic:0x00000001e95290>" |
83 |
| - ] |
84 |
| - }, |
85 |
| - "execution_count": 3, |
86 |
| - "metadata": {}, |
87 |
| - "output_type": "execute_result" |
88 |
| - } |
89 |
| - ], |
90 |
| - "source": [ |
91 |
| - "basic = SymEngine::Basic.new" |
92 |
| - ] |
93 |
| - }, |
94 | 65 | {
|
95 | 66 | "cell_type": "markdown",
|
96 | 67 | "metadata": {},
|
|
614 | 585 | "source": [
|
615 | 586 | "k.expand.to_s"
|
616 | 587 | ]
|
| 588 | + }, |
| 589 | + { |
| 590 | + "cell_type": "markdown", |
| 591 | + "metadata": {}, |
| 592 | + "source": [ |
| 593 | + "## SymEngine::RealDouble\n", |
| 594 | + "\n", |
| 595 | + "SymEngine::RealDouble can be constructed by converting any ruby Float into SymEngine" |
| 596 | + ] |
| 597 | + }, |
| 598 | + { |
| 599 | + "cell_type": "code", |
| 600 | + "execution_count": null, |
| 601 | + "metadata": { |
| 602 | + "collapsed": true |
| 603 | + }, |
| 604 | + "outputs": [], |
| 605 | + "source": [ |
| 606 | + "d = SymEngine(1.2)" |
| 607 | + ] |
| 608 | + }, |
| 609 | + { |
| 610 | + "cell_type": "markdown", |
| 611 | + "metadata": {}, |
| 612 | + "source": [ |
| 613 | + "## SymEngine::ComplexDouble\n", |
| 614 | + "SymEngine::ComplexDouble can be constructed by converting any ruby Complex into SymEngine" |
| 615 | + ] |
| 616 | + }, |
| 617 | + { |
| 618 | + "cell_type": "code", |
| 619 | + "execution_count": null, |
| 620 | + "metadata": { |
| 621 | + "collapsed": true |
| 622 | + }, |
| 623 | + "outputs": [], |
| 624 | + "source": [ |
| 625 | + "c = SymEngine(Complex(2.3, 3.2))" |
| 626 | + ] |
| 627 | + }, |
| 628 | + { |
| 629 | + "cell_type": "markdown", |
| 630 | + "metadata": {}, |
| 631 | + "source": [ |
| 632 | + "## SymEngine::RealMPFR\n", |
| 633 | + "SymEngine::RealMPFR can be constructed either by converting any Ruby BigDecimal into SymEngine, or using the constructor to express any real number with a given number of bits of precision" |
| 634 | + ] |
| 635 | + }, |
| 636 | + { |
| 637 | + "cell_type": "code", |
| 638 | + "execution_count": null, |
| 639 | + "metadata": { |
| 640 | + "collapsed": true |
| 641 | + }, |
| 642 | + "outputs": [], |
| 643 | + "source": [ |
| 644 | + "require 'bigdecimal'\n", |
| 645 | + "r1 = SymEngine(BigDecimal(\"12.3\"))\n", |
| 646 | + "r2 = SymEngine::RealMPFR.new(12.3, 200)" |
| 647 | + ] |
| 648 | + }, |
| 649 | + { |
| 650 | + "cell_type": "markdown", |
| 651 | + "metadata": {}, |
| 652 | + "source": [ |
| 653 | + "## SymEngine::ComplexMPC\n", |
| 654 | + "SymEngine::RealMPC can be constructed by arithmatic operations of any SymEngine::RealMPFR objects, as shown below." |
| 655 | + ] |
| 656 | + }, |
| 657 | + { |
| 658 | + "cell_type": "code", |
| 659 | + "execution_count": null, |
| 660 | + "metadata": { |
| 661 | + "collapsed": true |
| 662 | + }, |
| 663 | + "outputs": [], |
| 664 | + "source": [ |
| 665 | + "i = SymEngine:I\n", |
| 666 | + "c1 = r1 + i * r2" |
| 667 | + ] |
| 668 | + }, |
| 669 | + { |
| 670 | + "cell_type": "markdown", |
| 671 | + "metadata": {}, |
| 672 | + "source": [ |
| 673 | + "## SymEngine::Constant - SymEngine Constants\n", |
| 674 | + "\n", |
| 675 | + "SymEngine offers the following constants" |
| 676 | + ] |
| 677 | + }, |
| 678 | + { |
| 679 | + "cell_type": "code", |
| 680 | + "execution_count": null, |
| 681 | + "metadata": { |
| 682 | + "collapsed": true |
| 683 | + }, |
| 684 | + "outputs": [], |
| 685 | + "source": [ |
| 686 | + "i = SymEngine::I\n", |
| 687 | + "e = SymEngine::E\n", |
| 688 | + "eg = SymEngine::EULER_GAMMA\n", |
| 689 | + "pi = SymEngine::PI\n", |
| 690 | + "\n", |
| 691 | + "i.inspect + e.inspect + eg.inspect + pi.inspect" |
| 692 | + ] |
| 693 | + }, |
| 694 | + { |
| 695 | + "cell_type": "markdown", |
| 696 | + "metadata": {}, |
| 697 | + "source": [ |
| 698 | + "## SymEngine::TrigFunction\n", |
| 699 | + "\n", |
| 700 | + "sin, cos, tan, cosec, sec, cot, asin, acos, atan, acosec, asec, acot are available as shown below:" |
| 701 | + ] |
| 702 | + }, |
| 703 | + { |
| 704 | + "cell_type": "code", |
| 705 | + "execution_count": null, |
| 706 | + "metadata": { |
| 707 | + "collapsed": true |
| 708 | + }, |
| 709 | + "outputs": [], |
| 710 | + "source": [ |
| 711 | + "i1 = SymEngine::sin(pi)\n", |
| 712 | + "i2 = SymEngine::cos(0.2)\n", |
| 713 | + "i3 = SymEngine::tan(pi/4)\n", |
| 714 | + "i4 = SymEngine::csc(pi/2)\n", |
| 715 | + "i5 = SymEngine::sec(0.2)\n", |
| 716 | + "i6 = SymEngine::cot(pi/4)\n", |
| 717 | + "\n", |
| 718 | + "print \"sin(pi): \", i1,\"\\ncos(0.2): \", i2, \"\\ntan(pi/4): \", i3, \"\\ncsc(pi/2): \", i4, \"\\nsec(0.2): \", i5,\"\\ncot(pi/4): \", i6, \"\\n\"" |
| 719 | + ] |
| 720 | + }, |
| 721 | + { |
| 722 | + "cell_type": "code", |
| 723 | + "execution_count": null, |
| 724 | + "metadata": { |
| 725 | + "collapsed": true |
| 726 | + }, |
| 727 | + "outputs": [], |
| 728 | + "source": [ |
| 729 | + "i1 = SymEngine::asin(1)\n", |
| 730 | + "i2 = SymEngine::acos(0)\n", |
| 731 | + "i3 = SymEngine::atan(5)\n", |
| 732 | + "i4 = SymEngine::acsc(1)\n", |
| 733 | + "i5 = SymEngine::asec(0.2)\n", |
| 734 | + "i6 = SymEngine::acot(0.5)\n", |
| 735 | + "\n", |
| 736 | + "print \"i1: \", i1,\"\\ni2: \", i2, \"\\ni3: \", i3, \"\\ni4: \", i4, \"\\ni5: \", i5,\"\\ni6: \", i6, \"\\n\"" |
| 737 | + ] |
| 738 | + }, |
| 739 | + { |
| 740 | + "cell_type": "markdown", |
| 741 | + "metadata": {}, |
| 742 | + "source": [ |
| 743 | + "## SymEngine::HyperbolicFunction\n", |
| 744 | + "sinh, cosh, tanh, cosech, sech, coth, asinh, acosh, atanh, acosech, asech, acoth are available as shown below:" |
| 745 | + ] |
| 746 | + }, |
| 747 | + { |
| 748 | + "cell_type": "code", |
| 749 | + "execution_count": null, |
| 750 | + "metadata": { |
| 751 | + "collapsed": true |
| 752 | + }, |
| 753 | + "outputs": [], |
| 754 | + "source": [ |
| 755 | + "i1 = SymEngine::sinh(pi)\n", |
| 756 | + "i2 = SymEngine::cosh(0.2)\n", |
| 757 | + "i3 = SymEngine::tanh(pi/4)\n", |
| 758 | + "i4 = SymEngine::csch(pi/2)\n", |
| 759 | + "i5 = SymEngine::sech(0.2)\n", |
| 760 | + "i6 = SymEngine::coth(pi/4)\n", |
| 761 | + "\n", |
| 762 | + "print \"sinh(pi): \", i1,\"\\ncosh(0.2): \", i2, \"\\ntanh(pi/4): \", i3, \"\\ncsch(pi/2): \", i4, \"\\nsech(0.2): \", i5,\"\\ncoth(pi/4): \", i6, \"\\n\"" |
| 763 | + ] |
| 764 | + }, |
| 765 | + { |
| 766 | + "cell_type": "code", |
| 767 | + "execution_count": null, |
| 768 | + "metadata": { |
| 769 | + "collapsed": true |
| 770 | + }, |
| 771 | + "outputs": [], |
| 772 | + "source": [ |
| 773 | + "i1 = SymEngine::asinh(1)\n", |
| 774 | + "i2 = SymEngine::acosh(0)\n", |
| 775 | + "i3 = SymEngine::atanh(5)\n", |
| 776 | + "i4 = SymEngine::acsch(1)\n", |
| 777 | + "i5 = SymEngine::asech(0.2)\n", |
| 778 | + "i6 = SymEngine::acoth(0.5)\n", |
| 779 | + "\n", |
| 780 | + "print \"i1: \", i1,\"\\ni2: \", i2, \"\\ni3: \", i3, \"\\ni4: \", i4, \"\\ni5: \", i5,\"\\ni6: \", i6, \"\\n\"" |
| 781 | + ] |
| 782 | + }, |
| 783 | + { |
| 784 | + "cell_type": "markdown", |
| 785 | + "metadata": {}, |
| 786 | + "source": [ |
| 787 | + "## NTheory Functions\n", |
| 788 | + "\n", |
| 789 | + "Several Number Theory functions are available in SymEngine.\n", |
| 790 | + "\n", |
| 791 | + "GCD and LCM" |
| 792 | + ] |
| 793 | + }, |
| 794 | + { |
| 795 | + "cell_type": "code", |
| 796 | + "execution_count": null, |
| 797 | + "metadata": { |
| 798 | + "collapsed": true |
| 799 | + }, |
| 800 | + "outputs": [], |
| 801 | + "source": [ |
| 802 | + "gcd = SymEngine::gcd(45, 40)\n", |
| 803 | + "lcm = SymEngine::lcm(45, 40)\n", |
| 804 | + "\n", |
| 805 | + "print \"for 45 and 40,\\ngcd is: \", gcd, \"\\nlcm is: \",lcm, \"\\n\"" |
| 806 | + ] |
| 807 | + }, |
| 808 | + { |
| 809 | + "cell_type": "markdown", |
| 810 | + "metadata": {}, |
| 811 | + "source": [ |
| 812 | + "Next Prime" |
| 813 | + ] |
| 814 | + }, |
| 815 | + { |
| 816 | + "cell_type": "code", |
| 817 | + "execution_count": null, |
| 818 | + "metadata": { |
| 819 | + "collapsed": true |
| 820 | + }, |
| 821 | + "outputs": [], |
| 822 | + "source": [ |
| 823 | + "np = SymEngine::nextprime(5)" |
| 824 | + ] |
| 825 | + }, |
| 826 | + { |
| 827 | + "cell_type": "markdown", |
| 828 | + "metadata": {}, |
| 829 | + "source": [ |
| 830 | + "Quotient" |
| 831 | + ] |
| 832 | + }, |
| 833 | + { |
| 834 | + "cell_type": "code", |
| 835 | + "execution_count": null, |
| 836 | + "metadata": { |
| 837 | + "collapsed": true |
| 838 | + }, |
| 839 | + "outputs": [], |
| 840 | + "source": [ |
| 841 | + "q = SymEngine::quotient(5, 2)" |
| 842 | + ] |
| 843 | + }, |
| 844 | + { |
| 845 | + "cell_type": "markdown", |
| 846 | + "metadata": {}, |
| 847 | + "source": [ |
| 848 | + "Lucas and Fibonacci series" |
| 849 | + ] |
| 850 | + }, |
| 851 | + { |
| 852 | + "cell_type": "code", |
| 853 | + "execution_count": null, |
| 854 | + "metadata": { |
| 855 | + "collapsed": true |
| 856 | + }, |
| 857 | + "outputs": [], |
| 858 | + "source": [ |
| 859 | + "l = SymEngine::lucas(3)\n", |
| 860 | + "f = SymEngine::fibonacci(3)\n", |
| 861 | + "\n", |
| 862 | + "p l, f" |
| 863 | + ] |
| 864 | + }, |
| 865 | + { |
| 866 | + "cell_type": "markdown", |
| 867 | + "metadata": {}, |
| 868 | + "source": [ |
| 869 | + "Binomials" |
| 870 | + ] |
| 871 | + }, |
| 872 | + { |
| 873 | + "cell_type": "code", |
| 874 | + "execution_count": null, |
| 875 | + "metadata": { |
| 876 | + "collapsed": true |
| 877 | + }, |
| 878 | + "outputs": [], |
| 879 | + "source": [ |
| 880 | + "b = SymEngine::binomial(5, 2)" |
| 881 | + ] |
617 | 882 | }
|
618 | 883 | ],
|
619 | 884 | "metadata": {
|
620 | 885 | "kernelspec": {
|
621 |
| - "display_name": "Ruby 2.2.0", |
| 886 | + "display_name": "Ruby 2.3.0", |
622 | 887 | "language": "ruby",
|
623 | 888 | "name": "ruby"
|
624 | 889 | },
|
|
0 commit comments