{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Floating Point Arithmetic and the Series for the Exponential Function"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as pt"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "What this demo does is sum the series\n",
        "$$\n",
        "  \\exp(x) \\approx \\sum_{i=0}^n \\frac{x^i}{i!},\n",
        "$$\n",
        "for varying $n$, and varying $x$. It then prints the partial sum, the true value, and the final term of the series."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "collapsed": false
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "1.0 2.71828182846 1.0\n",
            "2.0 2.71828182846 1.0\n",
            "2.5 2.71828182846 0.5\n",
            "2.66666666667 2.71828182846 0.166666666667\n",
            "2.70833333333 2.71828182846 0.0416666666667\n",
            "2.71666666667 2.71828182846 0.00833333333333\n",
            "2.71805555556 2.71828182846 0.00138888888889\n",
            "2.71825396825 2.71828182846 0.000198412698413\n",
            "2.71827876984 2.71828182846 2.48015873016e-05\n",
            "2.71828152557 2.71828182846 2.7557319224e-06\n"
          ]
        }
      ],
      "source": [
        "a = 0.0\n",
        "x = 1e0 # flip sign\n",
        "true_f = np.exp(x)\n",
        "e = []\n",
        "\n",
        "for i in range(0, 10): # crank up\n",
        "    d = np.prod(\n",
        "            np.arange(1, i+1).astype(np.float))\n",
        "    \n",
        "    # series for exp\n",
        "    a += x**i / d\n",
        "\n",
        "    print(a, np.exp(x), x**i / d)\n",
        "    \n",
        "    e.append(abs(true_f-a)/true_f)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "collapsed": false
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "[<matplotlib.lines.Line2D at 0x7f0adc77f4a8>]"
            ]
          },
          "execution_count": 6,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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\nQmCC\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7f0adcfd7278>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "pt.semilogy(e)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": []
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.5.0+"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}