{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "0b88f670",
   "metadata": {},
   "source": [
    "# Solving differential equations\n",
    "\n",
    "- by Börge Göbel"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7ed1b45a",
   "metadata": {},
   "source": [
    "## 1. Euler method"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86b7b82b",
   "metadata": {},
   "source": [
    "## 1.1 First order differential equation"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e05912fb",
   "metadata": {},
   "source": [
    "We try to solve the following type of differential equation\n",
    "\n",
    "\\\\( \\frac{\\mathrm{d}y}{\\mathrm{d}t} = f(t,y)\\\\)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0127bce0",
   "metadata": {},
   "source": [
    "Since \\\\( \\frac{\\mathrm{d}y}{\\mathrm{d}t} = \\frac{y(t+h)-y(t)}{h}\\\\), we know that \\\\( y(t+h) = \\frac{\\mathrm{d}y}{\\mathrm{d}t}h + y(t)\\\\).\n",
    "\n",
    "Therefore, we can repetitively iterate the propagation: \n",
    "\n",
    "From the value \\\\( y_n \\\\) at step \\\\( n \\\\), corresponding to the time \\\\( t \\\\), we can calculate the value \\\\( y_{n+1} \\\\) at step \\\\( (n+1) \\\\), corresponding to the time \\\\( (t+h) \\\\):\n",
    "\n",
    "\\\\( y_{n+1} = y_n + \\frac{\\mathrm{d}y}{\\mathrm{d}t}h \\\\) which is \n",
    "\n",
    "\\\\( y_{n+1} = y_n + f(t,y_n) h \\\\)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eaf63e10",
   "metadata": {},
   "source": [
    "### Example 1) Radioactive decay"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "82db4e00",
   "metadata": {},
   "source": [
    "\\\\( \\dot{y} = -y\\\\) or\n",
    "\n",
    "\\\\( \\frac{\\mathrm{d}y}{\\mathrm{d}t} = f(t,y) = -y\\\\)\n",
    "\n",
    "Analytical solution: \\\\( y(t)=y_0 \\exp(-t)\\\\)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "0ae494cb",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from scipy import integrate\n",
    "import matplotlib.pyplot as plt "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "ccd3a0f0",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Starting value\n",
    "y = 1\n",
    "\n",
    "# Number of iterations\n",
    "nmax = 200\n",
    "\n",
    "# Stepsize\n",
    "h = 0.01\n",
    "\n",
    "# Collect data\n",
    "t_values = [0]\n",
    "y_values = [y]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "718b5b48",
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(1, nmax+1):\n",
    "    f = -y\n",
    "    y = y + f * h\n",
    "    t_values.append(i*h)\n",
    "    y_values.append(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "74fb6980",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.13397967485796206"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "34cc3534",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.1353352832366127"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.exp(-nmax*h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "660f80f6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a375fdeac0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_y = 1*np.exp(-test_t)\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "plt.scatter(t_values, y_values)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5af1c96a",
   "metadata": {},
   "source": [
    "### Define a function \"eulerODE\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4753714b",
   "metadata": {},
   "outputs": [],
   "source": [
    "def eulerODE(f,t0,y0,nmax,h):\n",
    "    # f: Function\n",
    "    # t0: Starting time\n",
    "    # y0: Starting value of y\n",
    "    # nmax: Number of iterations\n",
    "    # h: Stepsize\n",
    "    y = y0\n",
    "    t = t0\n",
    "    t_values = [t]\n",
    "    y_values = [y]\n",
    "    for i in range(1, nmax+1):\n",
    "        y = y + f(t,y) * h\n",
    "        t = t + h\n",
    "        t_values.append(t)\n",
    "        y_values.append(y)\n",
    "    return np.array([t_values, y_values])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "da57388e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define function\n",
    "def f_ODE(t,y):\n",
    "    return -y\n",
    "\n",
    "# Call Euler method\n",
    "t0 = 0\n",
    "y0 = 1\n",
    "nmax = 200\n",
    "h = 0.01\n",
    "solution = eulerODE(f_ODE, t0, y0, nmax,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "50216e66",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a3760fb970>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_y = 1*np.exp(-test_t)\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "plt.scatter(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b51cca27",
   "metadata": {},
   "source": [
    "### Example 2) Time-amplified decay"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "89295289",
   "metadata": {},
   "source": [
    "\\\\( \\dot{y} = -ayt\\\\) or\n",
    "\n",
    "\\\\( \\frac{\\mathrm{d}y}{\\mathrm{d}t} = f(t,y) = -ayt\\\\)\n",
    "\n",
    "Analytical solution: \\\\( y(t)=y_0 \\exp(-t^2a/2)\\\\)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "3448bd17",
   "metadata": {},
   "outputs": [],
   "source": [
    "a = 0.01\n",
    "\n",
    "# Define function\n",
    "def f_ODE(t,y):\n",
    "    return -a*y*t\n",
    "\n",
    "# Call Euler method\n",
    "t0 = 0\n",
    "y0 = 1\n",
    "nmax = 300\n",
    "h = 0.1\n",
    "solution = eulerODE(f_ODE, t0, y0, nmax,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "f0758168",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a376176e50>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_y = y0*np.exp(-test_t**2*a/2)\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "plt.scatter(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "83b20246",
   "metadata": {},
   "source": [
    "### 1.2 Higher-order differential equations"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "44f1a8b2",
   "metadata": {},
   "source": [
    "Example: Second-order differential equation: \\\\( y''(t) = f\\left(t,y(t),y'(t)\\right)\\\\)\n",
    "\n",
    "Introduce: \\\\( z_0(t) = y(t)\\\\) and \\\\( z_1(t) = y'(t)\\\\)\n",
    "\n",
    "\\\\( \\begin{pmatrix}z_0'(t)\\\\z_1'(t)\\end{pmatrix}=\\begin{pmatrix}z_1(t)\\\\f\\left(t,z_0(t),z_1(t)\\right)\\end{pmatrix}\\\\)\n",
    "\n",
    "Therefore, we can describe the second-order differential equation by a set of two first-order differential equations. We can solve both with our Euler method\n",
    "\n",
    "\\\\( z_0^{(n+1)} = z_0^{(n)} + z_1^{(n)} h \\\\)\n",
    "\n",
    "\\\\( z_1^{(n+1)} = z_1^{(n)} + f\\left(t,z_0^{(n)},z_1^{(n)}\\right) h \\\\)\n",
    "\n",
    "Or, going back to our initial nomenclature:\n",
    "\n",
    "\\\\( y_{n+1} = y_{n} + y'_{n} h \\\\)\n",
    "\n",
    "\\\\( y'_{n+1} = y'_{n} + f\\left(t,y_{n},y'_{n}\\right) h \\\\)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "8c0de8cd",
   "metadata": {},
   "outputs": [],
   "source": [
    "def eulerODE2(f,t0,y00,y10,nmax,h):\n",
    "    # f: Function\n",
    "    # t0: Starting time\n",
    "    # y00: Starting value of y(t)\n",
    "    # y10: Starting value of y'(t)\n",
    "    # nmax: Number of iterations\n",
    "    # h: Stepsize\n",
    "    y0 = y00\n",
    "    y1 = y10\n",
    "    t = t0\n",
    "    t_values = [t]\n",
    "    y0_values = [y0]\n",
    "    y1_values = [y1]\n",
    "    for i in range(1, nmax+1):\n",
    "        y0 = y0 + y1 * h\n",
    "        y1 = y1 + f(t,y0,y1) * h\n",
    "        t = t + h\n",
    "        t_values.append(t)\n",
    "        y0_values.append(y0)\n",
    "        y1_values.append(y1)\n",
    "    return np.array([t_values, y0_values, y1_values])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e533b5c2",
   "metadata": {},
   "source": [
    "### Example 3) Free fall"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4378cc6a",
   "metadata": {},
   "source": [
    "\\\\( \\ddot{y} = -g\\\\) or\n",
    "\n",
    "\\\\( \\frac{\\mathrm{d}^2y}{\\mathrm{d}t^2} = f(t,y,\\dot{y}) = -g\\\\)\n",
    "\n",
    "Analytical solution: \\\\( y(t)=-\\frac{g}{2}t^2+v_0t+y_0\\\\)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "968e9392",
   "metadata": {},
   "outputs": [],
   "source": [
    "g = 9.81\n",
    "\n",
    "def f_ODE(t,y0,y1):\n",
    "    return -g\n",
    "\n",
    "t0 = 0\n",
    "y00 = 10\n",
    "y10 = 50\n",
    "nmax = 100\n",
    "h = 0.1\n",
    "\n",
    "solution = eulerODE2(f_ODE,t0,y00,y10,nmax,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "6f536b5b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a3761efa90>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_y = -g/2*test_t**2 + y10*test_t + y00\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y and v')\n",
    "plt.scatter(solution[0], solution[1])\n",
    "plt.scatter(solution[0], solution[2])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "13ec1509",
   "metadata": {},
   "source": [
    "### Example 4) Harmonic oscillator"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8174ec35",
   "metadata": {},
   "source": [
    "\\\\( \\theta''(t) + b\\theta'(t) + c\\sin(\\theta(t)) = 0 \\\\)\n",
    "\n",
    "Here, \\\\( b \\\\) is the damping parameter and \\\\( c \\\\) is determined by the pendulum length \\\\( c = \\frac{g}{l} \\\\)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "017fc71a",
   "metadata": {},
   "source": [
    "### Small-angle approximation\n",
    "\n",
    "For small angles \\\\( \\theta\\ll 1 \\\\) and without damping b = 0, we have \n",
    "\n",
    "\\\\( \\theta''(t) = - \\frac{g}{l}\\theta(t) \\\\) with the solution (for \\\\( \\theta'(0) = 0 \\\\))\n",
    "\n",
    "\\\\( \\theta(t) = \\theta_0\\cos\\left(\\sqrt{\\frac{g}{l}}t\\right) \\\\) and a period of \\\\( T = 2\\pi\\sqrt{\\frac{l}{g}} \\\\)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "dc04ebb9",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Pendulum geometry\n",
    "length = 2\n",
    "c = 9.81/length\n",
    "\n",
    "# Damping\n",
    "b = 0\n",
    "\n",
    "def f_ODE(t,theta0,theta1):\n",
    "    return -b*theta1 -c*theta0\n",
    "\n",
    "t0 = 0\n",
    "theta00 = 0.2\n",
    "theta10 = 0\n",
    "nmax = 200\n",
    "h = 0.1\n",
    "\n",
    "solution = eulerODE2(f_ODE,t0,theta00,theta10,nmax,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "8ca51fb5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a37625bfa0>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_theta = theta00*np.cos(np.sqrt(9.81/length)*test_t)\n",
    "plt.plot(test_t, test_theta, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('theta')\n",
    "plt.scatter(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e00f08a4",
   "metadata": {},
   "source": [
    "### Actual equation"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a50af7fa",
   "metadata": {},
   "source": [
    "- Small starting angle"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "02e995db",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "11.459155902616464"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "0.2/np.pi*180"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "ee045fd4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Pendulum geometry\n",
    "length = 2\n",
    "c = 9.81/length\n",
    "\n",
    "# Damping\n",
    "b = 0\n",
    "\n",
    "def f_ODE(t,theta0,theta1):\n",
    "    return -b*theta1 -c*np.sin(theta0)\n",
    "\n",
    "t0 = 0\n",
    "theta00 = 0.2\n",
    "theta10 = 0\n",
    "nmax = 200\n",
    "h = 0.1\n",
    "\n",
    "solution = eulerODE2(f_ODE,t0,theta00,theta10,nmax,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "0b057f75",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a3762895b0>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_theta = theta00*np.cos(np.sqrt(9.81/length)*test_t)\n",
    "plt.plot(test_t, test_theta, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('theta')\n",
    "plt.scatter(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3757d0b4",
   "metadata": {},
   "source": [
    "- Large starting angle"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "b86aa4e3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "114.59155902616465"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "2.0/np.pi*180"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "4c4983b8",
   "metadata": {},
   "outputs": [],
   "source": [
    "theta00 = 2.0\n",
    "h = 0.01\n",
    "nmax = 2000\n",
    "\n",
    "solution = eulerODE2(f_ODE,t0,theta00,theta10,nmax,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "0d2cdde8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a3772e66a0>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_theta = theta00*np.cos(np.sqrt(9.81/length)*test_t)\n",
    "plt.plot(test_t, test_theta, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('theta')\n",
    "plt.scatter(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8d85c939",
   "metadata": {},
   "source": [
    "- With damping"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "349e9999",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a3773a3370>]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pendulum geometry\n",
    "length = 2\n",
    "c = 9.81/length\n",
    "\n",
    "# Damping\n",
    "b = 0.5\n",
    "\n",
    "def f_ODE(t,theta0,theta1):\n",
    "    return -b*theta1 -c*np.sin(theta0)\n",
    "\n",
    "t0 = 0\n",
    "theta00 = 2.0\n",
    "theta10 = 0\n",
    "nmax = 2000\n",
    "h = 0.01\n",
    "\n",
    "solution = eulerODE2(f_ODE,t0,theta00,theta10,nmax,h)\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('theta')\n",
    "plt.plot(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b0ef086",
   "metadata": {},
   "source": [
    "- Driven oscillator"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "1ae26c44",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a377416580>]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pendulum geometry\n",
    "length = 2\n",
    "c = 9.81/length\n",
    "\n",
    "# Damping\n",
    "b = 0.1\n",
    "d = -1.0\n",
    "omega = 1.0\n",
    "\n",
    "def f_ODE(t,theta0,theta1):\n",
    "    return -b*theta1 - c*np.sin(theta0) - d*np.sin(omega*t)\n",
    "\n",
    "t0 = 0\n",
    "theta00 = 2.0\n",
    "theta10 = 0\n",
    "nmax = 200\n",
    "h = 0.5\n",
    "\n",
    "solution = eulerODE2(f_ODE,t0,theta00,theta10,nmax,h)\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('theta')\n",
    "plt.plot(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c204ea4",
   "metadata": {},
   "source": [
    "# 2. Improved methods"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "05c4a7f2",
   "metadata": {},
   "source": [
    "The exist two useful solvers:\n",
    "- Old: scipy.integrate.oldeint\n",
    "- New: scipy.integrate.solve_ivp"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "19a8d176",
   "metadata": {},
   "source": [
    "### Example 2) Time-amplified decay"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c16e98a1",
   "metadata": {},
   "source": [
    "\\\\( \\dot{y} = -ayt\\\\) or\n",
    "\n",
    "\\\\( \\frac{\\mathrm{d}y}{\\mathrm{d}t} = f(t,y) = -ayt\\\\)\n",
    "\n",
    "Analytical solution: \\\\( y(t)=y_0 \\exp(-t^2a/2)\\\\)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dbd763f0",
   "metadata": {},
   "source": [
    "- Our old results (Euler method)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "eb9000b8",
   "metadata": {},
   "outputs": [],
   "source": [
    "a = 0.01\n",
    "\n",
    "def f_ODE(t,y):\n",
    "    return -a*y*t\n",
    "\n",
    "nmax = 300\n",
    "y0 = 1\n",
    "h = 0.1\n",
    "\n",
    "solution = eulerODE(f_ODE, 0, y0, nmax, h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "31c54fbc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a37747b520>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_y = y0*np.exp(-test_t**2 * a/2)\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "\n",
    "plt.scatter(solution[0],solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d6815209",
   "metadata": {},
   "source": [
    "- New results (solve_ivp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "798b4b51",
   "metadata": {},
   "outputs": [],
   "source": [
    "solution_RK45 = integrate.solve_ivp(f_ODE, [0,30], [1], method = 'RK45')\n",
    "# [https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html#scipy.integrate.solve_ivp]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "0b14b07a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.00000000e+00, 1.00000000e-04, 1.10000000e-03, 1.11000000e-02,\n",
       "       1.11100000e-01, 1.11110000e+00, 1.11111000e+01, 1.92727200e+01,\n",
       "       2.30667766e+01, 2.68608331e+01, 3.00000000e+01])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "solution_RK45.t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "4e7554d7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.        , 1.        , 0.99999999, 0.99999938, 0.99993829,\n",
       "        0.9938463 , 0.53921663, 0.15615019, 0.06995529, 0.02715399,\n",
       "        0.01112937]])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "solution_RK45.y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "c100d745",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a375f49cd0>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAhgklEQVR4nO3dd3RVZb7G8e8PEiQgEoTQQhUDDlU0giKKBaQIgohjb6MCdp2RC1iwjI4FdHTGwkWcUa8FUREYdcQuCCoEpIgUoyIkIAQxKtLhvX+8B40QQghnZ5/yfNY6Kzn7bMhvry153G815xwiIpK8KoRdgIiIhEtBICKS5BQEIiJJTkEgIpLkFAQiIkkuJewC9lWtWrVckyZNwi5DRCSuzJ49e61zLqO4z+IuCJo0aUJOTk7YZYiIxBUz+3ZPn6lpSEQkySkIRESSnIJARCTJKQhERJKcgkBEJMkFNmrIzP4F9AbWOOdaF/O5AQ8DvYANwMXOuTlB1HLeEx8z/at1vztWo0oqt/VpRb/2mUH8SBGRuBHk8NGngEeAZ/bweU8gK/LqCDwe+RpVxYUAwA8btjLk5XkAu4XBxM/yGTllCSsLN1I/PY0h3VsoMEQkYQUWBM65qWbWpIRT+gLPOL8O9idmlm5m9Zxzq6JZx84QyCr4lt6Lp7E5pRKbK6ayOfUA1qUdxFtrl9LvL72gcWM44AAmfpbP8AkL2Lh1OwD5hRsZPmEBsHtgiIgkgjAnlGUCK4q8z4sc2y0IzGwgMBCgUaNGZfphzdcu57oZ44r/cMwNUKECNGlCnZSaXH1wE+bXy2Je3eZ8d1AtNm7dzsgpSxQEIpKQwgwCK+ZYsbvkOOfGAGMAsrOzy7STzut/OI7XD+tMpe3bqLR9K2lbN1NzQyEtKmzk4ePrQG4uLF1K9fdnMujL2aS4HQAsS6/HjMbtmN7kcPjxSKhevSw/XkQkZoUZBHlAwyLvGwAro/1Djm128G99BGZsSUllS0oq6w+oQmH1gxk8oB0U+T/9y+99j7UFhbRc8w2Hr1pCp2/n02fRh5w7702o/SB07w4DBsBpp0F6erTLFREpd2EOH50MXGje0cCP0e4fAHju8mM4ttnBux2vUSWVkQPa7dbcM6R7CypUqcJnmYfx7+y+XH7GrRxz40tMfXICXHUVzJ0LF10EtWvDmWfCu+/Cjh3RLltEpNxYUHsWm9kLwAlALWA1cBuQCuCcGx0ZPvoI0AM/fPQS59xeV5PLzs52QS86V+KooR07YNYsGDcOnnkG1q2DrCwYNAguuQQO3j10RETCZmaznXPZxX4Wb5vXl0cQlNqmTfDyyzB6NEyfDgceCFdcAX/+M9StG3Z1IiK/KikINLN4f1SuDOefDx995JuM+vSBBx6AJk18M9Ly5WFXKCKyVwqCaGnXDp5/HhYvhgsugCeegObNYehQKCwMuzoRkT1SEERbVpYPgdxcOOssGDkSmjWDhx6CLVvCrk5EZDcKgqA0agRPPw2zZ8MRR8ANN0CbNn6UkYhIDFEQBK19e3jrLXjjDdi+Hbp29f0Kq1eHXZmICKAgKB9m0LMnLFgAI0bASy9BixYwZgzE2agtEUk8CoLylJYGd9wB8+f75qJBg3xA5OeHXZmIJDEFQRhatIB33oFHH4Vp06B1a3juOT0diEgoFARhqVABrrwS5s2Dli19v8FZZ2moqYiUOwVB2A49FKZOhXvvhVdf9Z3LM2eGXZWIJBEFQSyoWNFPPJs2zTcPde4Mf/+7mopEpFwoCGLJ0UfDZ5/Bqaf69Yr69YMffwy7KhFJcAqCWFOjBkyY4Gciv/EGdOzol60QEQmIgiAWmcF11/lZyOvWQYcO8J//hF2ViCQoBUEsO/54v0RF8+Z+R7Q771S/gYhEnYIg1jVs6DuRL7gAbrsNLrwQNm8OuyoRSSBh7lkspZWW5hewa9ECbrnF73Pw6qvaDU1EokJPBPHCDG6+2e958Mkn0KkTfPVV2FWJSAJQEMSbc87xy1MUFPjhph9/HHZFIhLnFATx6LjjfABUrw4nnQSvvRZ2RSISxxQE8ap5cx8GrVv7iWfPPRd2RSISpxQE8SwjA957D7p08YvW/fOfYVckInFIQRDvqlWD11/3TwXXXqu5BiKyzxQEiaByZb/r2cUX+7kG118PO3aEXZWIxAnNI0gUKSnw5JN+bsGDD8LGjTB6tN/3QESkBAqCRFKhAowaBVWqwF13wbZt8MQTfplrEZE9UBAkGjP461/9E8Ltt/sw+Pe/FQYiskcKgkR1223+l/+tt8L27X6JihTdbhHZnX4zJLJbbvG//IcP908Gzz4LqalhVyUiMUZBkOiGDfNhMGSIf0L4v/9TM5GI/I6CIBnceKNvHho2zA81HTtWo4lE5FeB/jYwsx5mtsTMcs1sWDGfVzez/5jZPDNbaGaXBFlPUhs6FEaM8B3H11yjSWci8qvAngjMrCLwKNANyANmmdlk59wXRU67CvjCOdfHzDKAJWb2nHNuS1B1JbXbb/fzC0aO9HscjBzpRxmJSFILsmmoA5DrnPsawMzGAX2BokHggGpmZsCBwDpgW4A1JTczuO8+HwYPPODnG9x5Z9hViUjIggyCTGBFkfd5QMddznkEmAysBKoBZznndlsbwcwGAgMBGjVqFEixScMMHn4YNm3y8w3S0vyoIhFJWkEGQXFtDrs2THcH5gInAc2At81smnPup9/9IefGAGMAsrOz1bi9vypU8MtPbNwIN90EBx7o+w1EJCkFGQR5QMMi7xvg/8+/qEuAe51zDsg1s2+Aw4CZAdYl4IeQPvUU/PKLX7W0Zk0499ywqxKREAQ5amgWkGVmTc2sEnA2vhmoqOXAyQBmVgdoAXwdYE1SVEoKvPCC38/goovgv/8NuyIRCUFgQeCc2wZcDUwBFgHjnXMLzWywmQ2OnPZXoJOZLQDeBYY659YGVZMUo3JlmDQJ2rSBM86AGTPCrkhEypm5OBtPnp2d7XJycsIuI/GsXg2dO8PatTBtmt8CU0QShpnNds5lF/eZppeKV6cOvP22H0XUvTssWxZ2RSJSThQE8psmTeCtt2DDBujWDdasCbsiESkHCgL5vdat/R7I+flw6qmwfn3YFYlIwBQEsrtOneDFF2HOHDjrLL+EtYgkLAWBFK9PH3jsMXjjDbjySi1SJ5LAtAy17NmgQbB8Ofztb9Cokd/oRkQSjoJASnbXXbBihd/yskEDuPjisCsSkShTEEjJzPxGNqtWweWXQ/36cMopYVclIlGkPgLZu0qV4JVXoGVLP/v4s8/CrkhEokhBIKVz0EG+47hGDejVC779NuyKRCRKFARSepmZfmG6TZt8GBQWhl2RiESBgkD2TatWvplo6VI480zYujXsikRkPykIZN+ddBKMGQPvvANXXaU5BiJxTqOGpGwuuQS+/BLuuQeysmDIkLArEpEyUhBI2d11F+TmwtCh0KwZ9O8fdkUiUgZqGpKyq1ABnn4aOnaE88+HWbPCrkhEykBBIPsnLc3vcFanjl+fSMNKReKOgkD2X+3afunqTZugd2/48cewKxKRfaAgkOho2RJefhkWL9bS1SJxRkEg0dO1Kzz+OEyZAtdco2GlInFCo4Ykui67zA8rvf9+P6z0z38OuyIR2QsFgUTfPffAV1/BjTfCoYfCaaeFXZGIlEBNQxJ9FSrAM8/AkUfCuefC3LlhVyQiJVAQSDCqVIHJk/1qpb17w8qVYVckInugIJDg1KsHr73mVyk97TTYsCHsikSkGAoCCVa7dvDCCzBnDlxwAezYEXZFIrILBYEEr08fGDUKJkyAm28OuxoR2YVGDUn5uOEGWLIE7r0Xmjf3q5eKSEzQE4GUDzN45BE/6WzQIPjww7ArEpEIBYGUn9RUeOml35as/vLLsCsSERQEUt7S0/1IIjM/rHTdurArEkl6gQaBmfUwsyVmlmtmw/ZwzglmNtfMFpqZ2guSQbNm8Oqr8M03MGAAbNkSdkUiSS2wIDCzisCjQE+gJXCOmbXc5Zx04DHgNOdcK+DMoOqRGHPccTB2LLz/Plx5pRaoEwlRkKOGOgC5zrmvAcxsHNAX+KLIOecCE5xzywGcc2sCrEdizYUXwtKlcPfdcNhhfm0iESl3QTYNZQIrirzPixwrqjlQw8w+MLPZZnZhcX+RmQ00sxwzyykoKAioXAnFnXfCmWfC//wPTJwYdjUiSSnIILBiju36/J8CHAmcCnQHbjWz5rv9IefGOOeynXPZGRkZ0a9UwrNz3+OjjoLzzvMzkEWkXAUZBHlAwyLvGwC7rjyWB7zpnPvFObcWmAq0C7AmiUU79z2uWdPPQs7PD7sikaQSZBDMArLMrKmZVQLOBibvcs4k4DgzSzGzKkBHYFGANUmsqlvXDyv96ScfBr/8EnZFIkkjsCBwzm0Drgam4H+5j3fOLTSzwWY2OHLOIuBNYD4wExjrnPs8qJokxrVtC+PGwbx5cP75WqBOpJyYi7Nhe9nZ2S4nJyfsMiRIDz8M11/vO5Dvuy/sakQSgpnNds5lF/eZFp2T2HPttX6Buvvv9wvUXXpp2BWJJDQtMSGxx8w/FXTrBoMH+0lnIhIYBYHEptRUGD8esrLgjDP8xDMRCYSahiR27VygrmNH1nftzpkXPcjirZWon57GkO4t6Nd+1/mJIlIWeiKQ2HbIIUy9/wkqrczjtqdHkLJ9K/mFGxk+YQETP9N8A5FoUBBIzBu++iCG9LyOo1d8zt1THgXn2Lh1OyOnLAm7NJGEoKYhiXkrCzcyqdWJHLIun+tmjOPrgxsw+ugBrCzcGHZpIglBQSAxr356GvmFG/l75/M4ZF0+wz58im9q1OfzjieHXZpIQlDTkMS8Id1bkJZaEcy4sdf1zKnfgodee4C7Gm4OuzSRhKAgkJjXr30m9/RvQ2Z6GltSD2DExXfhMjI4ccilkJcXdnkicU9LTEh8+vxz6NTJb3s5bRoceGDYFYnEtJKWmNATgcSn1q3hxRdh/ny/j8H27WFXJBK39hoEZna1mdUoj2JE9knPnvDQQzB5MgwbFnY1InGrNE8EdYFZZjbezHqYWXE7j4mE45pr4KqrYNQoGDs27GpE4tJeg8A5dwuQBTwJXAx8aWZ/M7NmAdcmUjoPPQQ9esAVV8C774ZdjUjcKVUfgfM9yt9FXtuAGsDLZnZ/gLWJlE5Kit/QpkULGDAAFi8OuyKRuFKaPoJrzWw2cD8wHWjjnLsCv+n8GQHXJ1I61avDf/7jVy3t3RvWrg27IpG4UZonglpAf+dcd+fcS865rQDOuR1A70CrE9kXTZvCpEl+bkH//rBZE85ESqM0fQQjnHPf7uEzbTQvseWYY+Df//ZzCwYNgjibJyMSBq01JInnnHP8Rja33w6HHAIjRoRdkUhMUxBIYhoxAr7+Gm67DTIzte+xSAkUBJKYzPy8gtWrfRNR3bpw6qlhVyUSk7TEhCSu1FR46SU4/HD44x9h5sywKxKJSQoCSWzVqsHrr//2RLB0adgVicQcBYEkvjp14M03/fc9evjmIhH5lYJAkkNWln8yWL0aevWCn38OuyKRmKEgkOTRoQOMHw/z5vmlKLZsCbsikZigIJDkcuqpMGYMvPUWXHaZJpyJoOGjkoz+9CfIz/dzDerWhfu1dqIkNwWBJKdbboFVq2DkSKhZE4YODbsikdAoCCQ5mcEjj0Bhod/drEYNGDgw7KpEQhFoH0FkR7MlZpZrZnvcS9DMjjKz7WY2IMh6RH6nQgV4+mk/imjwYN+RLJKEAgsCM6sIPAr0BFoC55hZyz2cdx8wJahaRPZo5+zjY4+F88+HKfrPUJJPkE8EHYBc59zXzrktwDigbzHnXQO8AqwJsBaRPatSxW9q06qV38dgxoywKxIpV0EGQSawosj7vMixX5lZJnA6MLqkv8jMBppZjpnlFBQURL1QEdLT/ezjzEw/xHT+/LArEik3QQaBFXNs10HbDwFDnXPbS/qLnHNjnHPZzrnsjIyMaNUn8nt16sDbb0PVqnDKKZCbG3ZFIuUiyCDIAxoWed8AWLnLOdnAODNbBgwAHjOzfgHWJFKyxo19GGzfDiefDN8WuzmfSEIJMghmAVlm1tTMKgFnA5OLnuCca+qca+KcawK8DFzpnJsYYE0ie/eHP/iZxz/9BCed5PdAFklggQWBc24bcDV+NNAiYLxzbqGZDTazwUH9XJGoaN/ejyAqKPBPBqtWhV2RSGDMxdlaK9nZ2S4nJyfsMiRZzJjh+wsaN4YPPgD1UUmcMrPZzrns4j7TonMiJenUyS9f/c030LUrfP992BWJRJ2CQGRvunSByZNhyRL/dFBYGHZFIlGlIBApja5dYcIEWLDA73L2009hVyQSNQoCkdLq1csvRzF7NvTsqTCQhKEgENkXffvCuHEwc6aaiSRhKAhE9tUZZ/gngzlzoFs3WLcu7IpE9ouCQKQs+vXzfQbz5/t5BmvXhl2RSJkpCETKqndvP5po8WI/A3mNFtCV+KQgENkf3bvDa6/5BepOPBG++y7sikT2mYJAZH+dfDL8979+gbouXWD58rArEtknCgKRaOjSxS9Ut3o1dO7sJ5+JxAkFgUi0dOoEH34IW7b4MJgzJ+yKREpFQSASTe3awbRpfnObE06AqVPDrkhkrxQEItGWlQXTp0ODBr4z+fXXw65IpEQKApEgZGb6p4E2bfycg+eeC7sikT1SEIgEpVYtePddOO44OP98GDUK4mz/D0kOCgKRIFWr5oeWnnUWDBkC117r90MWiSEpYRcgkvAOOACefx4aNvRPBXl5vqmoSpWwKxMB9EQgUj4qVICRI+Ef/4BJk/wktIKCsKsSARQEIuXrmmvglVdg7lw/7yA3N+yKRBQEIuXu9NN9J/IPP8Axx8BHH4VdkSQ5BYFIGDp1ghkzoEYNv3Lpv/4VdkWSxBQEImFp3hw+/dSvU3TppfCXv2hEkYRCQSASpho1/PDSa66BBx/0exz8+GPYVUmSURCIhC0lxY8mGj0a3nkHjj5anchSrhQEIrFi0CB4+22/01mHDvDmm2FXJElCQSASS044AWbO9AvW9eoFd9wBO3aEXZUkOAWBSKxp1gw++cSvT3T77XDqqfD992FXJQlMQSASi6pUgaefhsce83MOjjwSZs8OuypJUAoCkVhlBldc4Sec7dgBxx4LY8dqBVOJOgWBSKzr0MFve3n88XD55b7J6Kefwq5KEkigQWBmPcxsiZnlmtmwYj4/z8zmR14zzKxdkPWIxK1atfx8gzvvhBdfhMMP95PRRKIgsCAws4rAo0BPoCVwjpm13OW0b4Auzrm2wF+BMUHVIxL3KlaEW2/1O5/t2AGdO8M992g2suy3IJ8IOgC5zrmvnXNbgHFA36InOOdmOOd+iLz9BGgQYD0iiaFTJ7966RlnwE03QbdukJ8fdlUSx4IMgkxgRZH3eZFje3Ip8N/iPjCzgWaWY2Y5BVrDXQTS0+GFF/xidTNnQrt2fnlrkTIIMgismGPFDncwsxPxQTC0uM+dc2Occ9nOueyMjIwoligSx8zgkkt8R3KTJjBgAJx9NqxdG3ZlEmeCDII8oGGR9w2AlbueZGZtgbFAX+ecZs2I7KvmzeHjj+Guu2DCBGjVCl59NeyqJI4EGQSzgCwza2pmlYCzgclFTzCzRsAE4ALn3NIAaxFJbKmpcPPNkJMDmZnQvz+cd55mJEupBBYEzrltwNXAFGARMN45t9DMBpvZ4MhpI4CawGNmNtfMcoKqRyQptG3rh5XecQeMH++fDl55RZPQpETm4uw/kOzsbJeTo7wQ2au5c30fwty5fr2iRx7xfQmSlMxstnMuu7jPNLNYJFEdfjjMmuU3vPngA2jZEu67j0kzl3Hsve/RdNjrHHvve0z8TENPk52CQCSRpaTADTfAokXQowcMG0bL3idQ7/McHJBfuJHhExYoDJKcgkAkGTRsCBMm8D8X/pW0zRt4+bmhjHr979T++Xs2bt3OyClLwq5QQqQgEEkiL9VrT7dLH+fxjgPos+hD3n9iEFfPGMf3BYVhlyYhUhCIJJH66WlsrFSZ+064mK6XjebDpkdw47Rn+eDJK/xM5TgbPCLRoSAQSSJDurcgLbUiACvS63Ll6Tdx4QX3UblebTj3XL/nwccfh1yllDcFgUgS6dc+k3v6tyEzPQ0DMtPT6H/DeaR/PtevW/TNN35Ruz59YN68sMuVcqJ5BCLym/Xr4Z//hPvvh8JCOOssPzmtRYuwK5P9pHkEIlI6Bx4Iw4f7J4Obb4bXXvPzD/70J1i2LOzqJCAKAhHZXXq6X8Tu66/huuvg+echKwsuusjPSZCEoiAQkT2rXdvPTM7Nhauugpdf9usX9e/vZy1LQlAQiMjeNWgADz0E334Lt9wC778PHTpA167wzjsadhrnFAQiUnq1asGdd8Ly5TByJCxc6LfKbNMG/vd/4Zdfwq5QykBBICL7rlo1uPFG36n81FNQqRIMHuyfHHYel7ihIBCRsqtc2Xcgz54NH30Ep5zim5CaNYO+ff2oo23bwq5S9kJBICL7z8zPSn7xRT/MdPhw+OQTPzGtcWO46Sbf4SwxSUEgItHVoAHcfTfk5fk9lNu3h/vu88NPTzwRnn3WT1yTmKEgEJFgpKbC6af75qHly304rFgBF1wAderA2WfDpEmweTMAEz/L14Y5IdESEyJSfnbsgOnT/UqnL70Ea9dCejrfdunOHVXb8WFmK7ZX8IvipaVW5J7+bejXPjPkohNDSUtMKAhEJBxbt8K778ILL/DLiy9TdfMGfqhcjfcOPYq3Dj2aqU2P4ODaNZg+7KSwK00IJQVBSnkXIyIC+KajHj2gRw+OrNWXLt/MptuXn3Jy7kzO+Pw9NqVU4qMmh0PGQOjZE+rXD7vihKUgEJHQ1cxIZ0pqJ6Y070TFHds5Km8hpyz9hJ5ffQqXXeZPatMGunf3r86d/dBViQp1FotI6IpumLO9QkU+adSWkT2v4NN3c2DuXD/qKCMD/vEPP5P54IOhVy8YNQpmzvTNTFJm6iMQkZgw8bN8Rk5ZwsrCjdRPT2NI9xa7dxT/8gt88AFMmQJvvQVLlvjjVav6eQzHH+9fRx2lJ4ZdqLNYRBLTd9/BtGnw4YcwdSosWOCPH3AAZGf7hfF2vpo29RPfkpSCQESSw/ff+6Uupk71M5vnzIFNm/xnNWv6J4UOHeDII6FtWz/rOUnCQUEgIslp61a/QurMmb+9Fi708xkADjrIB0LbttCunf/aqpVfVK+IUjVbxTgFgYjITuvX+yak+fP9a948//Xnn387p359OOwwaNGC+VXr8M/8iiyqXp/8gzJwViEuJ7spCERESuKc33Rn3jz44gtYvNh3RC9ZAoWFv562KaUSy9LrkVe9NoW1Mxkw4Dho0uS3V40aMdvUpCAQESkL58i+9nmarsuj2fd5HLIun6Y/rCTzpzU0KFzNQVs2/P78atV8IDRuDJmZUK+ef7oo+srIgAr7NnI/Gk1TmlksIlIWZhyQWY9ZVdOZ1bD17z7KrF6Z6YOP8MtuF/f69FMoKNj976xYEerW9SFRu7bf9a1WLR8QxXw/cdkGhk9cyMat2wHIL9zI8Al+dFS0mqYCDQIz6wE8DFQExjrn7t3lc4t83gvYAFzsnJsTZE0iIvtiSPcWDJ+w4NdfxOAXxBvS4zDfFFSjhl9quzhbtsDq1bBy5W+vVat++371at95XVAAGzYU+1f0sQp0OaAqP1Y+kGfb92Rsh/5s3LqdkVOWxH4QmFlF4FGgG5AHzDKzyc65L4qc1hPIirw6Ao9HvoqIxISdv2zL1DRTqRI0bOhfe7Nhgx/+WlDgV2WNvB4bN4Pqm9ZTfdN6CqrW+PX0lYUby3pJuwnyiaADkOuc+xrAzMYBfYGiQdAXeMb5jopPzCzdzOo551YFWJeIyD7p1z4z+BFCVar41y6hMW5Da/KL+aVfPz0taj86yLWGMoEVRd7nRY7t6zmY2UAzyzGznILi2txERBJU0XWYdkpLrciQ7i2i9jOCDILixlDtOkSpNOfgnBvjnMt2zmVnZGREpTgRkXjQr30m9/RvQ2Z6GgZkpqdFfQ5DkE1DeUDRZ5wGwMoynCMiktSCbpoK8olgFpBlZk3NrBJwNjB5l3MmAxeadzTwo/oHRETKV2BPBM65bWZ2NTAFP3z0X865hWY2OPL5aOAN/NDRXPzw0UuCqkdERIoX6DwC59wb+F/2RY+NLvK9A64KsgYRESmZdigTEUlyCgIRkSQXd4vOmVkB8G0Z/3gtYG0UywmTriU2Jcq1JMp1gK5lp8bOuWLH38ddEOwPM8vZ0+p78UbXEpsS5VoS5TpA11IaahoSEUlyCgIRkSSXbEEwJuwCokjXEpsS5VoS5TpA17JXSdVHICIiu0u2JwIREdmFgkBEJMklTRCYWQ8zW2JmuWY2LOx69oeZLTOzBWY218xywq5nX5jZv8xsjZl9XuTYwWb2tpl9Gflao6S/Ixbs4TpuN7P8yH2Za2a9wqyxtMysoZm9b2aLzGyhmV0XOR5X96WE64i7+2Jmlc1sppnNi1zLHZHjgdyTpOgjiGybuZQi22YC5+yybWbcMLNlQLZzLu4myZjZ8cB6/M50rSPH7gfWOefujYR0Defc0DDr3Js9XMftwHrn3Kgwa9tXZlYPqOecm2Nm1YDZQD/gYuLovpRwHX8kzu5LZD/3qs659WaWCnwEXAf0J4B7kixPBL9um+mc2wLs3DZTyplzbiqwbpfDfYGnI98/jf/HG9P2cB1xyTm3yjk3J/L9z8Ai/E6BcXVfSriOuOO89ZG3qZGXI6B7kixBUKotMeOIA94ys9lmNjDsYqKgzs59KCJfa4dcz/642szmR5qOYroppThm1gRoD3xKHN+XXa4D4vC+mFlFM5sLrAHeds4Fdk+SJQhKtSVmHDnWOXcE0BO4KtJMIeF7HGgGHA6sAh4ItZp9ZGYHAq8A1zvnfgq7nrIq5jri8r4457Y75w7H79zYwcxaB/WzkiUIEmpLTOfcysjXNcCr+KaveLY60r67s513Tcj1lIlzbnXkH+8O4Ani6L5E2qFfAZ5zzk2IHI67+1LcdcTzfQFwzhUCHwA9COieJEsQlGbbzLhgZlUjHWGYWVXgFODzkv9UzJsMXBT5/iJgUoi1lNnOf6ARpxMn9yXSMfkksMg592CRj+LqvuzpOuLxvphZhpmlR75PA7oCiwnoniTFqCGAyJCxh/ht28y7w62obMzsEPxTAPgd5p6Pp2sxsxeAE/DL6a4GbgMmAuOBRsBy4EznXEx3xO7hOk7ANz84YBkwKB724DazzsA0YAGwI3L4Jnz7etzclxKu4xzi7L6YWVt8Z3BF/P+wj3fO3WlmNQngniRNEIiISPGSpWlIRET2QEEgIpLkFAQiIklOQSAikuQUBCIiSU5BIBIFZpZuZleGXYdIWSgIRKIjHVAQSFxSEIhEx71As8h69yPDLkZkX2hCmUgURFa7fG3n3gQi8URPBCIiSU5BICKS5BQEItHxM1At7CJEykJBIBIFzrnvgelm9rk6iyXeqLNYRCTJ6YlARCTJKQhERJKcgkBEJMkpCEREkpyCQEQkySkIRESSnIJARCTJ/T/MMtXAX5bPMgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_y = y0*np.exp(-test_t**2 * a/2)\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "\n",
    "plt.scatter(solution_RK45.t, solution_RK45.y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "6b050986",
   "metadata": {},
   "outputs": [],
   "source": [
    "solution_RK45 = integrate.solve_ivp(f_ODE, [0,30], [1], method = 'RK45', t_eval = np.linspace(0,h*nmax,nmax))\n",
    "# [https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html#scipy.integrate.solve_ivp]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "feeb9cef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a3775563a0>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, nmax*h, nmax)\n",
    "test_y = y0*np.exp(-test_t**2 * a/2)\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "\n",
    "plt.scatter(solution_RK45.t, solution_RK45.y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b6002995",
   "metadata": {},
   "source": [
    "### Example 3) Free fall"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "95a05a86",
   "metadata": {},
   "outputs": [],
   "source": [
    "g = 9.81\n",
    "\n",
    "def f_ODE(t,y):\n",
    "    return y[1], -g\n",
    "\n",
    "y0 = 10\n",
    "v0 = 50\n",
    "\n",
    "solution_RK45 = integrate.solve_ivp(f_ODE, [0,10], [y0, v0], method = 'RK45', t_eval = np.linspace(0,10,101))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "fe681633",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a3775039d0>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_t = np.linspace(0, 10, 101)\n",
    "test_y = -g/2*test_t**2 + y10*test_t + y00\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "\n",
    "plt.scatter(solution_RK45.t, solution_RK45.y[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4ddae053",
   "metadata": {},
   "source": [
    "### Example 4) Driven pendulum"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a2414cfb",
   "metadata": {},
   "source": [
    "- Our old results (Euler method)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "783ceae0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a377616c10>]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pendulum geometry\n",
    "length = 2\n",
    "c = 9.81/length\n",
    "\n",
    "# Damping\n",
    "b = 0.1\n",
    "d = -1.0\n",
    "omega = 1.0\n",
    "\n",
    "def f_ODE(t,theta0,theta1):\n",
    "    return -b*theta1 - c*np.sin(theta0) - d*np.sin(omega*t)\n",
    "\n",
    "t0 = 0\n",
    "theta00 = 2.0\n",
    "theta10 = 0\n",
    "nmax = 200\n",
    "h = 0.5\n",
    "\n",
    "solution = eulerODE2(f_ODE,t0,theta00,theta10,nmax,h)\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('theta')\n",
    "plt.plot(solution[0], solution[1])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2b4e0271",
   "metadata": {},
   "source": [
    "- New results (solve_ivp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "f69cb338",
   "metadata": {},
   "outputs": [],
   "source": [
    "def f_ODE(t,theta):\n",
    "    return theta[1], -b*theta[1] - c*np.sin(theta[0]) - d*np.sin(omega*t)\n",
    "\n",
    "theta00 = 2.0\n",
    "theta10 = 0.0\n",
    "\n",
    "solution_RK45 = integrate.solve_ivp(f_ODE, [0,100], [theta00, theta10], method = 'RK45', t_eval = np.linspace(0,100,201))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "4d269a64",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a37767f610>]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.xlabel('t')\n",
    "plt.ylabel('theta')\n",
    "\n",
    "plt.plot(solution[0], solution[1], 'blue')\n",
    "plt.plot(solution_RK45.t, solution_RK45.y[0], 'red')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea653680",
   "metadata": {},
   "source": [
    "### Compare more methods"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "b9c20a0c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# [https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html#scipy.integrate.solve_ivp]\n",
    "# methods:\n",
    "# RK45\n",
    "# RK23\n",
    "# DOP853\n",
    "# Radau\n",
    "# BDF\n",
    "# LSODA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "fbb75ec2",
   "metadata": {},
   "outputs": [],
   "source": [
    "t_array = np.linspace(0,100,201)\n",
    "\n",
    "solution_RK23 = integrate.solve_ivp(f_ODE, [0, 100], [theta00, theta10], method='RK23', t_eval=t_array)\n",
    "solution_DOP853 = integrate.solve_ivp(f_ODE, [0, 100], [theta00, theta10], method='DOP853', t_eval=t_array)\n",
    "solution_Radau = integrate.solve_ivp(f_ODE, [0, 100], [theta00, theta10], method='Radau', t_eval=t_array)\n",
    "solution_BDF = integrate.solve_ivp(f_ODE, [0, 100], [theta00, theta10], method='BDF', t_eval=t_array)\n",
    "solution_LSODA = integrate.solve_ivp(f_ODE, [0, 100], [theta00, theta10], method='LSODA', t_eval=t_array)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "2ad08d3a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a377700940>]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution[1], 'black')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_RK23.y[0], 'blue')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_DOP853.y[0], 'red')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_Radau.y[0], 'green')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_BDF.y[0], 'orange')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_LSODA.y[0], 'purple')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "3e1f83a1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a37776e4f0>]"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.xlim([0,20])\n",
    "plt.ylim([-0.1,0.1])\n",
    "\n",
    "#plt.plot(solution_RK45.t,solution_RK45.y[0] - solution[1], 'black')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_RK23.y[0], 'blue')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_DOP853.y[0], 'red')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_Radau.y[0], 'green')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_BDF.y[0], 'orange')\n",
    "plt.plot(solution_RK45.t,solution_RK45.y[0] - solution_LSODA.y[0], 'purple')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "67dd6d7e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a3777e5640>]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.xlim([90,100])\n",
    "plt.ylim([-0.4,0.4])\n",
    "\n",
    "plt.plot(solution_RK45.t, solution_RK23.y[0], 'blue')\n",
    "plt.plot(solution_RK45.t, solution_DOP853.y[0], 'red')\n",
    "plt.plot(solution_RK45.t, solution_Radau.y[0], 'green')\n",
    "plt.plot(solution_RK45.t, solution_BDF.y[0], 'orange')\n",
    "plt.plot(solution_RK45.t, solution_LSODA.y[0], 'purple')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d8a5d37a",
   "metadata": {},
   "source": [
    "## 3. Theory of the Runge-Kutta methods"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cc614b20",
   "metadata": {},
   "source": [
    "There exist several different Runge-Kutta methods"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd89d4bd",
   "metadata": {},
   "source": [
    "Derivation is difficult: https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods#Derivation_of_the_Runge%E2%80%93Kutta_fourth-order_method"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "870730fb",
   "metadata": {},
   "source": [
    "### 3.1 Implementation of RK4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "295c4b3f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# [https://en.wikipedia.org/wiki/List_of_Runge%E2%80%93Kutta_methods#Classic_fourth-order_method]\n",
    "\n",
    "def rk4(f,t0,y0,nmax,h):\n",
    "    # f: Function\n",
    "    # t0: Starting time\n",
    "    # y0: Starting value of y\n",
    "    # nmax: Number of iterations\n",
    "    # h: Stepsize\n",
    "    y = y0\n",
    "    t = t0\n",
    "    t_values = [t]\n",
    "    y_values = [y]\n",
    "    for i in range(1, nmax+1):\n",
    "        k1 = h * f(t, y)\n",
    "        k2 = h * f(t + h/2, y + k1/2)\n",
    "        k3 = h * f(t + h/2, y + k2/2)\n",
    "        k4 = h * f(t + h, y + k3)\n",
    "        k = 1/6*k1 + 1/3*k2 +1/3*k3 + 1/6*k4\n",
    "        y = y + k\n",
    "        t = t + h\n",
    "        t_values.append(t)\n",
    "        y_values.append(y)\n",
    "    return np.array([t_values, y_values])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae570923",
   "metadata": {},
   "source": [
    "### 3.2 Implementation of RK45"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "1f76f261",
   "metadata": {},
   "outputs": [],
   "source": [
    "# [https://en.wikipedia.org/wiki/List_of_Runge%E2%80%93Kutta_methods#Fehlberg]\n",
    "\n",
    "def rk45(f,t0,y0,nmax,h):\n",
    "    # f: Function\n",
    "    # t0: Starting time\n",
    "    # y0: Starting value of y\n",
    "    # nmax: Number of iterations\n",
    "    # h: Stepsize\n",
    "    y = y0\n",
    "    t = t0\n",
    "    t_values = [t]\n",
    "    y_values = [y]\n",
    "    for i in range(1, nmax+1):\n",
    "        k1 = h * f(t, y)\n",
    "        k2 = h * f(t + h/4, y + k1/4)\n",
    "        k3 = h * f(t + h*3/8, y + k1*3/32 + k2*9/32)\n",
    "        k4 = h * f(t+h*12/13, y+k1*1932/2197-k2*7200/2197+k3*7296/2197)\n",
    "        k5 = h * f(t+h, y+k1*439/216-k2*8+k3*3680/513-k4*845/4104)\n",
    "        k6 = h * f(t+h*1/2, y-k1*8/27+k2*2-k3*3544/2565+k4*1859/4104-k5*11/40)\n",
    "        k = 16/135*k1 + 0*k2 +6656/12825*k3 + 28561/56430*k4 -9/50*k5 + 2/55*k6\n",
    "        y = y + k\n",
    "        t = t + h\n",
    "        t_values.append(t)\n",
    "        y_values.append(y)\n",
    "    return np.array([t_values, y_values])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "377a45b8",
   "metadata": {},
   "source": [
    "### 3.3 Comparison with Euler method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "38b0798e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x2a377917fd0>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "a = 0.01\n",
    "\n",
    "# Define function\n",
    "def f_ODE(t,y):\n",
    "    return -a*y*t\n",
    "\n",
    "# Call Euler method\n",
    "t0 = 0\n",
    "y0 = 1\n",
    "nmax = 300\n",
    "h = 0.1\n",
    "\n",
    "solution_euler = eulerODE(f_ODE, t0, y0, nmax,h)\n",
    "solution_rk4 = rk4(f_ODE, t0, y0, nmax,h)\n",
    "solution_rk45 = rk45(f_ODE, t0, y0, nmax,h)\n",
    "\n",
    "test_t = np.linspace(0, nmax*h, nmax+1)\n",
    "test_y = y0*np.exp(-test_t**2*a/2)\n",
    "plt.plot(test_t, test_y, 'red')\n",
    "\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('y')\n",
    "plt.scatter(solution_euler[0], solution_euler[1])\n",
    "plt.scatter(solution_rk4[0], solution_rk4[1])\n",
    "plt.scatter(solution_rk45[0], solution_rk45[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "8d4d7d8f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a378c54700>]"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.xlabel('t')\n",
    "plt.ylabel('Error of y')\n",
    "plt.plot(solution_euler[0], solution_euler[1] - test_y, 'blue')\n",
    "plt.plot(solution_rk4[0], solution_rk4[1] - test_y, 'red')\n",
    "plt.plot(solution_rk45[0], solution_rk45[1] - test_y, 'green')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "9e2a3126",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2a378d98490>]"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.xlabel('t')\n",
    "plt.ylabel('Error of y')\n",
    "#plt.plot(solution_euler[0], solution_euler[1] - test_y, 'blue')\n",
    "plt.plot(solution_rk4[0], solution_rk4[1] - test_y, 'red')\n",
    "plt.plot(solution_rk45[0], solution_rk45[1] - test_y, 'green')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8eed6664",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
