{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Stability Experiments for Forward Euler"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as pt"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "We'll integrate\n",
        "\n",
        "$$ y'=\\alpha y$$\n",
        "\n",
        "with $y'(0) = 1$,\n",
        "\n",
        "using forward Euler."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Here are a few parameter settings that exhibit different situations that can occur:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 23,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "# alpha = 1; h = 0.1; final_t = 20\n",
        "#alpha = -1; h = 0.1; final_t = 20\n",
        "#alpha = -1; h = 1; final_t = 20\n",
        "#alpha = -1; h = 1.5; final_t = 20\n",
        "#alpha = -1; h = 2; final_t = 20\n",
        "alpha = -1; h = 2.5; final_t = 20"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "We specify the right-hand side and the initial condition:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 24,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "t_values = [0]\n",
        "y_values = [1]\n",
        "\n",
        "def f(y):\n",
        "    return alpha * y"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "Integrate in time using Forward Euler:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 25,
      "metadata": {
        "collapsed": false
      },
      "outputs": [],
      "source": [
        "while t_values[-1] < final_t:\n",
        "    t_values.append(t_values[-1] + h)\n",
        "    y_values.append(y_values[-1] + h*f(y_values[-1]))"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "And plot:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 26,
      "metadata": {
        "collapsed": false
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7efc790dba90>"
            ]
          },
          "execution_count": 26,
          "metadata": {},
          "output_type": "execute_result"
        },
        {
          "data": {
            "image/png": "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\n/wf2VeQAddMXbwAAAABJRU5ErkJggg==\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7efc791bcac8>"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "mesh = np.linspace(0, final_t, 100)\n",
        "pt.plot(t_values, y_values)\n",
        "pt.plot(mesh, np.exp(alpha*mesh), label=\"true\")\n",
        "pt.legend()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "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.1+"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}