{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Initial Value Problems for Ordinary Differential Equations, Part 5: Error Control and Variable Step Sizes\n",
    "\n",
    "**Correction on May 5:**\n",
    "In the explicit trapezoid method error control algorithm, it is\n",
    "\n",
    "$$K_3 = h f(t + h/2, U + (K_1 + K_2)/4)$$\n",
    "\n",
    "(final denominator $4$, not $2$.)\n",
    "\n",
    "**Corrections on April 21:**\n",
    "Missing factors of $h$ inserted to $K_2$ and $K_3$.\n",
    "\n",
    "**Revisions on April 17, 2021:**\n",
    "- revising the description of the step control method; it is better to only apply the \"safety factor\" when choosing the next step size; not when checking whether the current step is accurtate enough, and\n",
    "- adding Python code and examples for error control in Euler's method.\n",
    "\n",
    "Previous additions on April 7 include\n",
    "- the fourth-order accurate Runge-Kutta Fehlberg method,\n",
    "- an example with an ODE IVP solver from package SciPy, the function `scipy.integrate.solve_ivp`, and\n",
    "- an illustration of how to measure the time taken to execute a piece of code, using the function `time.time`."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**References:**\n",
    "\n",
    "- Section 6.5 *Variable Step-Size Methods* in [Sauer](../references.html#Sauer)\n",
    "- Section 5.5 *Error Control and the Runge-Kutta-Fehlberg Method* in [Burden&Faires](../references.html#Burden-Faires)\n",
    "- Section 7.3 of [Chenney&Kincaid](../references.html#Chenney-Kincaid)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Basic ODE Initial Value Problem\n",
    "\n",
    "We consider again the initial value problem\n",
    "\n",
    "$$\n",
    "\\frac{d u}{d t} = f(t, u) \\quad a \\leq t \\leq b, \\quad u(a) = u_0\n",
    "$$\n",
    "\n",
    "We now allow the possibility that $u$ and $f$ are vector-valued as in the section on\n",
    "[Systems of ODEs and Higher Order ODEs](ODE-IVP-4-system-higher-order-equations.ipynb),\n",
    "but omitting the tilde notation $\\tilde u$, $\\tilde f$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Error Control by Varying the Time Step Size $h_i$\n",
    "\n",
    "Recall the variable step-size version of Euler's method:\n",
    "\n",
    "Input: $f$, $a$, $b$, $n$ <br>\n",
    "\n",
    "$t_0 = a$ <br>\n",
    "$U_0 = u_0$ <br>\n",
    "$h = (b-a)/n$ <br>\n",
    "\n",
    "for i in $[0, n)$:\n",
    "<br>\n",
    "\n",
    "$\\qquad$ Choose step size $h_i$ somehow!\n",
    "<br>\n",
    "\n",
    "$\\qquad$ $t_{i+1} = t_i + h_i$\n",
    "<br>\n",
    "\n",
    "$\\qquad$ $U_{i+1} = U_i + h_i f(t_i, U_i)$\n",
    "<br>\n",
    "\n",
    "end for\n",
    "\n",
    "We now consider how to choose each step size, by estimating the error in each step, and aiming to have error per unit time below some limit like $\\epsilon/(b-a)$, so that the global error is no more than about $\\epsilon$.\n",
    "\n",
    "As usual, the theoretical error bounds like $O(h_i^2)$ for a single step of Euler's method are not enough for quantitative tasks like choosing $h_i$, but they do motivate more practical estimates."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## A crude error estimate for Euler's Method: Richardson Extrapolation\n",
    "\n",
    "Starting at a point (t, u(t)), we can estimate the error in Euler's method approximato at a slightly later time $t_i + h$ by using two approximations of $U(t + h)$:\n",
    "- The value given by a step of Euler's method with step size $h$: call this $U^{h}$\n",
    "- The value given by taking two steps of Euler's method each with step size $h/2$: call this $U_2^{h/2}$,\n",
    "because it involves 2 steps of size $h/2$.\n",
    "\n",
    "The first order accuracy of Euler's method gives $e_h = u(t+h) - U^{h} \\approx 2(u(t+h) - U_2^{h/2})$,\n",
    "so that\n",
    "\n",
    "$$e_h \\approx \\frac{U_2^{h/2} - U^{h}}{2}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step size choice\n",
    "\n",
    "What do we do with this error information?\n",
    "\n",
    "The first obvious ideas are:\n",
    "- Accept this step if $e_h$ is small enough, taking $h_i = h$, $t_{i+1} = t_i + h_i$, and $U_{i+1} = U^h$, but\n",
    "- reject it and try again with a smaller $h$ value otherwise; maybe halving $h$; but there are more sophisticated options too."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercise 1\n",
    "\n",
    "Write a formula for $U_h$ and $e_h$ if one starts from the point $(t_i, U_i)$, so that $(t_i + h, U^h)$ is the proposed value for the next point $(t_{i+1}, U_{i+1})$ in the approximate solution — but only if $e_h$ is small enough!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Error tolerance \n",
    "\n",
    "One simple criterion for accuracy is that the estimated error in this step be no more than some overall upper limit on the error in each time step, $T$.\n",
    "That is, accept the step size $h$ if\n",
    "\n",
    "$$|e_h| \\leq T$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### A crude approach to reducing the step size when needed\n",
    "\n",
    "If this error tolerance is not met, we must choose a new step size $h'$, and we can predict roughly its error behavior using the known order natue of the error in Euler's method: scaling dowen to $h' = s h$, the error in a single step scales with $h^2$ (in general it scales with $h^{p+1}$ for a method of order $p$), and so to reduce the error by the needed factor $\\displaystyle \\frac{e_h}{T}$ one needs approximately\n",
    "\n",
    "$$\n",
    "s^2 = \\frac{T}{|e_h|}\n",
    "$$\n",
    "\n",
    "and so using $e_h \\approx \\tilde{e}_h = |U^{h/2} - U^{h}|$ suggests using\n",
    "\n",
    "$$s = \\left( \\frac{T}{|U^{h/2} - U^{h}|} \\right)^{1/2}$$\n",
    "\n",
    "However this new step size might have error that is still slightly too large, leading to a second failure.\n",
    "Another is that one might get into an infinite loop of step size reduction.\n",
    "\n",
    "So refinements of this choice must be considered."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Increasing the step size when desirable\n",
    "\n",
    "If we simply follow the above aproach, the step size, once reduced, will never be increased.\n",
    "This could lead to great inefficiency, through using an unecessarily small step size just because at an earlier part of the time domain, accuracy required very small steps.\n",
    "\n",
    "Thus, after a successful time step, one might consider increasing $h$ for the next step.\n",
    "This could be done using exactly the above formula, but again there are risks, so again refinement of this choice must be considered.\n",
    "\n",
    "One problem is that if the step size gets too large, the error estimate can become unreliable; another is that one might need some minimum \"temporal resolution\", for nice graphs and such.\n",
    "\n",
    "Both suggest imposing an upper limit on the step size $h$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Another strategy for getting error estimates: two (related) Runge-Kutta methods\n",
    "\n",
    "The recurring strategy of estimating errors by the difference of two different approximations — one expected to be far better than the other — can be used in a nice way here.\n",
    "I will first illustrate with the simplset version, using Euler's Mathod and the Explicit Trapezoid Method.\n",
    "\n",
    "Recall that the increment in Euler's Method from time $t$ to time $t+h$ is\n",
    "\n",
    "$$K_1 = h f(t, U)$$\n",
    "\n",
    "whereas for the Explict Trapezoid Method it is $(K_1 + K_2)/2$, as given by\n",
    "\n",
    "$$\\begin{split}\n",
    "K_1 &= h f(t, U)\n",
    "\\\\\n",
    "K_2 &= h f(t+h, U + K_1)\n",
    "\\end{split}$$\n",
    "\n",
    "Thus we can use the difference, $|K_1 - (K_1 + K_2)/2| = |(K_1 - K_2)/2|$ as an error estimate.\n",
    "In fact to be cautious, one often drops the factor of $1/2$, so using approximation $\\tilde{e}_h = |K_1 - K_2|$.\n",
    "\n",
    "One has to be careful: this estimates the error in Euler's Method, and one has to use it that way:\n",
    "using the less accurate value $K_1$ as the update.\n",
    "\n",
    "A basic algorithm for the time step starting with $t_i, U_i$ is"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$K_1 \\leftarrow h f(t_i, U_i)$\n",
    "\n",
    "$K_2 \\leftarrow h f(t_i + h, U_i + K_1)$\n",
    "\n",
    "$e_h \\leftarrow |K_1 - K_2|$\n",
    "\n",
    "$s \\leftarrow \\sqrt{T/e_h}$\n",
    "\n",
    "if $e_h < T$\n",
    "\n",
    "$\\quad U_{i+1} = U_i + K_1$\n",
    "\n",
    "$\\quad t_{i+1} = t_i + h$\n",
    "\n",
    "$\\quad$ Increase $h$ for the *next* time step:\n",
    "\n",
    "$\\quad h \\leftarrow s h$\n",
    "\n",
    "else:  $\\quad$ (not good enough: reduce $h$ and try again)\n",
    "\n",
    "$\\quad h \\leftarrow s h$\n",
    "\n",
    "$\\quad$ Start again from $K_1 = \\dots$\n",
    "\n",
    "end if"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "However, in practice one needs:\n",
    "\n",
    "- An upper limit $h_{max}$ on the step size $h$, partly because error estimates become unreliable if $h$ gets too large,\n",
    "and also becuase subsequent use of the results (like graphs) might need sufficiently \"fine\" data.\n",
    "\n",
    "- A lower limit $h_{max}$ on $h$, to avoid infinite loops and such.\n",
    "\n",
    "- Since we are using only an approximation $\\tilde{e}_h$ of $e_h$, and out of general caution,\n",
    "it is typical to include a \"safety factor\" of about $0.8$ or $0.9$, when computing the *next* time step: reducing the step size scale factor to $S = 0.9 \\sqrt{T/e_h}$.\n",
    "\n",
    "Incorporating these refinements:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$K_1 = h f(t_i, U_i)$\n",
    "\n",
    "$K_2 = h f(t_i+h, U_i + K_1)$\n",
    "\n",
    "$e_{h} = |K_1 - K_2|$\n",
    "\n",
    "$s = 0.9\\sqrt{T/e_h}$\n",
    "\n",
    "if $e_h < T$\n",
    "\n",
    "$\\quad U_{i+1} = U_i + K_1$\n",
    "\n",
    "$\\quad t_{i+1} = t_i + h$\n",
    "\n",
    "$\\quad$ Increase $h$ for the *next* time step:\n",
    "\n",
    "$\\quad h \\leftarrow \\min(0.9 s h, h_{max})$\n",
    "\n",
    "else: $\\quad$ (not good enough; reduce $h$ and try again)\n",
    "\n",
    "$\\quad h \\leftarrow \\max(0.9 s h, h_{min})$\n",
    "\n",
    "$\\quad$ Start again from $K_1 = \\dots$\n",
    "\n",
    "end if"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercise 2\n",
    "\n",
    "Implement the above, and test on the two familiar examples\n",
    "\n",
    "$$\n",
    "\\begin{split}\n",
    "du/dt &= Ku\n",
    "\\\\\n",
    "&\\text{and}\n",
    "\\\\\n",
    "du/dt &= K(\\cos(t) - u) - \\sin(t)\n",
    "\\end{split}\n",
    "$$\n",
    "\n",
    "($K=1$ is enough.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Partial Solution to Exercise 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from matplotlib.pyplot import figure, plot, title, grid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from numpy import sqrt\n",
    "\n",
    "def euler_error_control(f, a, b, u_0, errorTolerance=1e-3, h_min=1e-6, h_max=0.1, steps_max=1000, demoMode=False):\n",
    "    # Use Python lists rather than Numpy arrays; they are easier to \"increment\"\n",
    "    # Initialize variables holding the current values of t and U\n",
    "    steps = 0\n",
    "    t_i = a\n",
    "    U_i = u_0\n",
    "    t = [t_i]\n",
    "    U = [U_i]\n",
    "    h = h_max  # Start optimistically!\n",
    "    while t_i < b and steps < steps_max:\n",
    "        K_1 = h*f(t_i, U_i)\n",
    "        K_2 = h*f(t_i + h/2, U_i + K_1/2)\n",
    "        errorEstimate = abs(K_1 - K_2)\n",
    "        s = 0.9 * sqrt(errorTolerance/errorEstimate)\n",
    "        if errorEstimate <= errorTolerance:  # Success!\n",
    "            t_i += h\n",
    "            U_i += K_1\n",
    "            t.append(t_i)\n",
    "            U.append(U_i)\n",
    "            # Adjust step size up, but not too big\n",
    "            h = min(s*h, h_max)\n",
    "        else:  #Innacurate; reduce step size and try again\n",
    "            h = max(s*h, h_min)\n",
    "            if demoMode: print(f\"{t_i=}: Decreasing step size to {h:0.3e} and trying again.\")\n",
    "        # A refinement not mentioned above; the next step should not overshoot t=b:\n",
    "        if t_i + h > b:\n",
    "            h = b - t_i\n",
    "        steps += 1\n",
    "    # Convert out to Numpy arrays, so that they can be used as input to numerical functions and such:\n",
    "    t = np.array(t)\n",
    "    U = np.array(U)    \n",
    "    return (t, U)\n",
    "    # Note: if the step count ran out, this does not reach t=b, but at least it is correct as fas as it goes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(t, U):\n",
    "    return k*U"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from matplotlib.pyplot import figure, plot, title, grid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "k = 1.0\n",
    "a = 1.0\n",
    "b = 3.0\n",
    "u_0 = 2.0\n",
    "def u(t):\n",
    "    \"\"\"Note: the input \"t\" must be a numpy array or a number; not a Python list.\"\"\"\n",
    "    return u_0*np.exp(k*(t-a))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get a \"stop watch\"\n",
    "# This gives the \"wall clock\" time in seconds since a reference moment, called \"the epoch\".\n",
    "# (For macOS and UNIX, the epoch is the beginning of 1970.)\n",
    "from time import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "t_i=1.0: Decreasing step size to 9.000e-02 and trying again.\n",
      "\n",
      "With errorTolerance=0.01, this took 36 time steps, of average length 0.0556\n",
      "The maximum absolute error is 0.831\n",
      "The maximum absolute error per time step is 0.0231\n",
      "The time taken to solve was 0.00146 seconds\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "errorTolerance = 1e-2\n",
    "time_start = time()\n",
    "(t, U) = euler_error_control(f, a, b, u_0, errorTolerance, demoMode=True)\n",
    "time_end = time()\n",
    "time_elapsed = time_end - time_start\n",
    "\n",
    "steps = len(U) - 1\n",
    "h_ave = (b-a)/steps\n",
    "U_exact = u(t)\n",
    "U_error = U-U_exact\n",
    "U_max = max(abs(U_error))\n",
    "print()\n",
    "print(f\"With {errorTolerance=}, this took {steps} time steps, of average length {h_ave:0.3}\")\n",
    "print(f\"The maximum absolute error is {U_max:0.3}\")\n",
    "print(f\"The maximum absolute error per time step is {U_max/steps:0.3}\")\n",
    "print(f\"The time taken to solve was {time_elapsed:0.3} seconds\")\n",
    "\n",
    "figure(figsize=[12,6])\n",
    "title(f\"Solution to du/dt={k}u, u({a})={u_0}\")\n",
    "plot(t, U, \".-\")\n",
    "grid(True)\n",
    "\n",
    "figure(figsize=[12,6])\n",
    "title(f\"Error in the above\")\n",
    "plot(t, U_error, \".-\")\n",
    "grid(True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "t_i=1.0: Decreasing step size to 2.846e-02 and trying again.\n",
      "\n",
      "With errorTolerance=0.001, this took 119 time steps, of average length 0.0168\n",
      "The maximum absolute error is 0.265\n",
      "The maximum absolute error per time step is 0.00223\n",
      "The time taken to solve was 0.0149 seconds\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAr8AAAF1CAYAAADhgoKhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABAXElEQVR4nO3deXxc1X338c+ZkWQby3jfDTa22c0SbAJktQNZCJB9YUnSJE15mpBmaRJKmrSheZImT5pmbdPWJClZCCYsaYCyJzhAwMaW8b4vknfLssb7ImnmPH/MeJCFbGsk2RppPu/Xyy977r0z98yPYfz10e+eG2KMSJIkSaUg0dUDkCRJkk4Ww68kSZJKhuFXkiRJJcPwK0mSpJJh+JUkSVLJMPxKkiSpZBh+JUmSVDIMv5LaLYQwLoQQQwhl7Xz+TSGEJzp7XJ2to++zlderDiFc1Rmv1V2EEL4VQvjcCXjdC0MIz3f260rquQy/kgghvC6E8HwIYVcIoT6E8OcQwqWdfI5XBMgY410xxrd05nly55oaQtjY2a9b4BhuDCH8pg3H3R5C+HU7z/GB3H+3/SGEmW0cU00IYV8I4X9CCIPac95ChRCGAh8B/iv3uCKEcF/uHwExhDD1OM8fFEL4XW7cNSGEGw/vizEuBHaGEK5rx7i+FEJYHELYE0JYF0L40nGOvzKEsDxX76dDCGMLPaekrmf4lUpcCOFU4GHgx8AgYDTwT8ChrhxXD/B24JETfI564AfAt493YAjhfLLh88PAcGA/8JMTObhmPgo8EmM80Gzbc8CHgK1teP6/Aw1kx30T8B+593PYXcD/ace4AtlQPhB4G/DpEML1rR4YwhDgAeAfyP5/Mhe4px3nlNTFDL+SzgKIMd4dY0zHGA/EGJ/IzagRQkiEEL6am3GrDSH8MoTQv7UXavnj/Bazms/kft8ZQtgbQrgihPDREMJzzY5/TQhhTm4Gek4I4TXN9s0MIfzf3Kz0nhDCE7lA0nIMfYFHgVG58+wNIYwKIfQKIfwghLA59+sHIYReR3kfyRDCd0MIdSGEtcA1BbxPQggJ4M3AY7nHH87Vb0cI4SvNjnsb8PfAB3PjXNDaeI4mxvhUjPG3wOY2HH4T8FCM8ZkY416yIe49IYR+bXlPxxJCuDOE8I1mj1vOvF8N/KnZuBtijD+IMT4HpI/z2n2B9wL/EGPcm3vOg2RD/GEzgSuP9t/zaGKM34kxzosxNsUYVwC/B157lMPfAyyJMd4bYzwI3A5cFEI4p5BzSup6hl9JK4F0COEXIYSrQwgDW+z/aO7XNGA8UAn8WzvO84bc7wNijJUxxhea78z9CP5/gR8Bg4HvAf8bQhjc7LAbgY8Bw4AK4IstTxJj3Ec2bG3OnacyxrgZ+ApwOXAxcBHwauCrRxnrXwHXAq8CpgDvK/C9vhpYG2OsCyGcB/wH2bA2KvfexuTG+hjwz8A9uXFelKvFT0IIO4/ya2GBYznsfCAfrmOMa8jOpp7VztcrxAXAinY+9ywgHWNc2WzbArLvB4AY4yagETgbIIRw2zHqt7O1k4QQAvB6YMlRxtGyfvuANc3HIal7MPxKJS7GuBt4HRCBO4DtIYQHQwjDc4fcBHwvxrg2N2P4ZeD60EkXfzVzDbAqxvir3Ezc3cByoHkv53/HGFfmfnz+W7JBtq1uAr4eY6yNMW4n29rx4aMc+wHgBzHGDTHGeuBb7Xgvh1se3gc8nJtxPUR2xjVzrCfHGD8VYxxwlF8XFjiWwyqBXS227QL6tfP1CjEA2NPO57Z13Hty5yHG+O1j1G/AUc5zO9m/E/+7g+OQVOQMv5KIMS6LMX40xjgGmER2hvIHud2jgJpmh9cAZWT7LztTy/McPtfoZo+b94fuJxtI2vv6NbltRzt2Q4tjC9G83/eI18rNGO4o8PU6w17g1BbbTqX9obQQKdofEts67n7AzvacIITwabK9v9fk/oHSkXFIKnKGX0lHiDEuB+4kG4Ih20/a/Kr204EmYFsrT98HnNLs8YjmL32cU7c8z+FzbTrO81rT2rlaex9H65XdApzW4tjmjvo+QwgjgJHAvNZeK4RwCtnWh6OONYTwn836lVv+OtqP5Y9nCdl2j8PnGA/0Itv2csz31AbHe+5C2t9esRIoCyGc2WzbRTRrTwghjCLbBrMi9/jvj1G/vc1fPITwceA24MoY47FWCGlZv77ABI7eJiGpSBl+pRIXQjgnhPCFEMKY3OPTgBuAWblD7gY+H0I4I4RQycs9qk2tvNx8si0R5SGElr2y28n+uH/8UYbyCHBWyC7HVRZC+CBwHtmVKAq1DRjc4sK8u4GvhhCG5i6U+0fgaBd0/Rb4TAhhTK4H+rYW++dz9Pf5duCxGOPhUHsfcG3ILidXAXydI797twHjchfJARBj/Otm/cotf+V7THMX5vUmOxOfCCH0DiGUH+U93QVcF0J4fS64fR14IMZ4eObyWO/p8AVxHz3Ka88H3h6yS5KNAD7XYv8jwBtbvF6v3NgBKnJjDy1fODdT/gDw9RBC3xDCa4F3Ar9qdthU4I+HZ21jjP98jPrlf1oQQriJ7Of5zTHGtUd5b4f9DpgUQnhvbtz/CCzM/WNRUjdi+JW0B7gMmB1C2Ec29C4GvpDb/3OyQeMZYB1wEPibo7zWP5CdDUuR7anNr3MbY9wPfBP4c+7Co8ubPzHGuIPsRWZfINsWcCtwbYyxrtA3lAskdwNrc+caBXyD7PJUC4FFZGdmv3GUl7gDeJzsBU7zyIavNr1PWixxFmNcAtySO2ZL7jnNZxjvzf2+I4Qwj8J8GDhA9oK61+f+fMfhnbmZztc3G8dfkw3BtWTbBD7VlveUC+2DefkfRC39imytqoEneOUSYL8kG477NNu2Ijfe0WRrfYDczHxu5vbRZsd+CuiTG/fdwCdz7+ewm4D/PMrYjuUbZN/XnGYzw/nXCSEsyQVkcn3i7yX7GU6R/X+m1WXRJBW38PLkhCSpI3IXAW4FJsQYW14c1W2FEF4H3BJjvKEDr/HPQG2M8QedNrDs614ATI8xXtGZryup5zL8SlInCSEMA94bY/yPrh6LJKl1hl9JkiSVDHt+JUmSVDIMv5IkSSoZnX2HpmMaMmRIHDdu3Mk8JQD79u2jb9++J/283ZX1Kpw1K4z1Koz1Koz1Koz1Koz1KkxX1quqqqouxji05faTGn7HjRvH3LlzT+YpAZg5cyZTp0496eftrqxX4axZYaxXYaxXYaxXYaxXYaxXYbqyXiGEVu/OaduDJEmSSobhV5IkSSXD8CtJkqSSYfiVJElSyTD8SpIkqWQYfiVJklQyDL+SJEkqGYZfSZIklQzDryRJkkqG4VeSJEklw/ArSZKkTldVk+LhNQ1U1aS6eihHMPxKkiSpU1XVpLjxjlncv6qRm346q6gCsOFXkiRJnaaqJsW/PL6cQ00ZItDYlGHW2h1dPay8sq4egCRJknqGqpoUN90xi4NNGQACUF6W4PLxg7t2YM048ytJkqRO8fyauiOC7/mDE9z1icuZPHZg1w6sGcOvJEmSOizGyPz1O4Fs8O1VnuBdEyuKKviCbQ+SJEnqoKqaFN99fDkvrK3n/ZNHM25IJZePH8yedQu6emivYPiVJElSu1XVpPjgf71AUyaSDIHrLz2dyeMGATBzXRcPrhW2PUiSJKndfvF8NU2ZmHsUmbWuvkvHczzO/EqSJKldnl9dxyOLthBCdka12FZ2aI3hV5IkSQW7d+4GvvK7xYzs35tvvusCFm3exeXjBxfdBW4tHbftIYTw8xBCbQhhcSv7vhhCiCGEISdmeJIkSSo2/7twM1+6byEN6Qy1ew7Rt3cZt0ybWPTBF9rW83sn8LaWG0MIpwFvBtZ38pgkSZJUpLbtPsiXH1iUf9yULq47uB3PccNvjPEZoLXO5e8DtwKxlX2SJEnqYZ5ZsZ1rfvQsBxvTVJQlSIbu0efbXLt6fkMI7wA2xRgXhBA6eUiSJEkqNs+vruMv7nyRGKEimeD2684ntb+hW/T5NhdiPP7EbQhhHPBwjHFSCOEU4GngLTHGXSGEamBKjLHuKM+9GbgZYPjw4ZNnzJjRWWNvs71791JZWXnSz9tdWa/CWbPCWK/CWK/CWK/CWK/ClGq9mjKRrzx3gG37s7kxAbznzHKunVBxzOd1Zb2mTZtWFWOc0nJ7e2Z+JwBnAIdnfccA80IIr44xbm15cIxxOjAdYMqUKXHq1KntOGXHzJw5k644b3dlvQpnzQpjvQpjvQpjvQpjvQpTivVKZyKfnfES2/bvpzwZyGQi5WUJbrjq0uPO+BZjvQoOvzHGRcCww4+PN/MrSZKk7qmqup6vP7yUBRt38eWrz2HKuEHMWruj27U6NHfc8BtCuBuYCgwJIWwEvhZj/NmJHpgkSZK6TlVNig9On5W9bXEiMGXcICaPHdhtQ+9hxw2/McYbjrN/XKeNRpIkSUXhh0+tevm2xTEya+2Obh98wTu8SZIkqZmqmhT/9ac1PLNqO4kAge63nNmxGH4lSZIEZIPv9dNfoDEdSQT4+jvOZ9fBpm7d49uS4VeSJEkA/PqFahrT2VaHAOw62MQt0yZ27aA6meFXkiRJPLtqOw8t3EII2XV8e1KrQ3OGX0mSpBL361k13P7gEkYP6MP/feckFm3e1aNaHZoz/EqSJJWwe+ds4Kv/sxiArbsP0rd3WY9rdWgu0dUDkCRJUtdYvnU3//Dg4vzjpnSGWWt3dOGITjxnfiVJkkpMVU2KRxZt4b6qDfQpTxJjNvj21D7f5gy/kiRJJaSqJsWNd8ziUFMGgB9dfzGjB57S7W9b3FaGX0mSpBLyxNKt+eCbCLAhdYB3XDy6x4few+z5lSRJKhHbdh/k9y9tArLBt6IE2hxacuZXkiSpBPxh2Ta+dN8C9h9K8633XED9voaSaHNoyfArSZLUwz29opZP/GIuEahIJjhreL+SC72H2fYgSZLUg+3c38Ct9y0k5h6nMz1/ObNjceZXkiSpB6qqSfGnFbU8vHAzqf0NVCQTpDOlsZzZsRh+JUmSepiqmhQ33TGLg7lVHb5yzblccvrAklnO7FgMv5IkST3Mn1bW5oNvIkBDU4bJYweWdOg9zJ5fSZKkHmTPwUYeW7wVKN3lzI7FmV9JkqQe4rnVddx67wK27T7IrW89mwgl3+bQkuFXkiSpB3hudR0f/tlsYoTyZOAyQ2+rbHuQJEnq5vYcbOTW+xYQc+uZZTKxpJczOxbDryRJUjf27KrtvPX7z7B150HKk4FkoOSXMzsW2x4kSZK6qWdXbecjP38x3+rwT++YRGp/ad62uK0Mv5IkSd3QrgONfOm+hUe0OqT2N3DLtIldO7AiZ9uDJElSN7NrfyMf/tlstu+x1aFQzvxKkiR1IzNX1HLrfQup39fA9A9PYcApFd65rQCGX0mSpG7i6eXb+Pidc4lARTIw4JQK79xWINseJEmSuoHaPQf54r0LybX4knY5s3Yx/EqSJBW5J5ds463ff4ZdBxqpSCbs8e0A2x4kSZKK2GOLt/DJX8/LtTokuP0d57ucWQcYfiVJkopUdd0+br2veatDxuXMOsjwK0mSVGSqalL876LN/G7eJmKMVJQlSKcztjp0AsOvJElSEamqSXHjHbM41JQB4PsfuJjTB5/icmadxPArSZJURH730qZ88E0E2LzrAO++ZLSht5MYfiVJkorE7LU7uG/uBgIQAlTY5tDpDL+SJElF4GfPreVbjyxn+Km9uP26Says3WObwwlg+JUkSepiP3l6Fd95fCUAdXsbGFRZwS3nu6LDieBNLiRJkrrQfVUb+Zdc8AVoSme8c9sJ5MyvJElSF6iqSfGTp1fzh+W1XDSmPyu27qHR5cxOuOOG3xDCz4FrgdoY46Tctn8BrgMagDXAx2KMO0/gOCVJknqMqup6Pjh9Fk2ZSCLAl99+DuXJpMuZnQRtaXu4E3hbi21PApNijBcCK4Evd/K4JEmSeqRMJvKtR5fTlMnety0AVTU7mTx2ILdMm2jwPcGOO/MbY3wmhDCuxbYnmj2cBbyvk8clSZLUo1TVpHh+TR3zalLMrUmRTASI0TaHkyzEGI9/UDb8Pny47aHFvoeAe2KMvz7Kc28GbgYYPnz45BkzZnRowO2xd+9eKisrT/p5uyvrVThrVhjrVRjrVRjrVRjrVZj21mt1Ks3/m3OQxuy9K3jD6CSvH1PGivoM5wxKMnFgspNHWhy68vM1bdq0qhjjlJbbO3TBWwjhK0ATcNfRjokxTgemA0yZMiVOnTq1I6dsl5kzZ9IV5+2urFfhrFlhrFdhrFdhrFdhrFdh2luvl55cQWNmNZBtc7hs0kT+alrPX8qsGD9f7Q6/IYS/IHsh3JWxLdPHkiRJJahu7yEeWrAZyN6u2Lu2da12hd8QwtuAvwPeGGPc37lDkiRJ6hkeW7yFLz+wiH2HmvjK28+lIZ1xNYcu1palzu4GpgJDQggbga+RXd2hF/BkCAFgVozxr0/gOCVJkrqV383bxOd/Ox+AimSCS8YONPQWgbas9nBDK5t/dgLGIkmS1CPMqa7ntgcW5h+nM9m7thl+u553eJMkSeokVTUp7ppVw0MLNzO0shc79jXQ5F3biorhV5IkqRNU1aS4fvoLNKYjIcA33z2JU/tUeNe2ImP4lSRJ6qAYI99/ciWN6ewCWAlg6ZY93rGtCBl+JUmSOmBOdT3f/N+lzN+wi2QIgHdtK2aGX0mSpHZ6YU0dN/10NpkIyUTg/77jfFIHGm1zKGKGX0mSpHZI7Wvgi/cuIHP4Vl8xkjrQyC0lcOe27szwK0mSVICqmhSPL9nKwws3U7vnEOXJQCZjq0N3YfiVJElqo9WpNN95ahYNTRkAvvHOSZw76lRXdOhGDL+SJEltNHNDYz74JgLsOtjIZO/c1q0YfiVJktrgnjnr+fPmNIFs8LXNoXsy/EqSJB1DVXU9331iBS+srWfSkCS3vWsKCzbstM2hmzL8SpIkHcXstTu48Y7ZpGMkGQLXjS/jdROH8LqJQ7p6aGqnRFcPQJIkqRjt2t/IF+9dQDrm1zJjVSrTpWNSxznzK0mS1MKji7bwlf9ZxK79jUcsZXbOoGRXD00dZPiVJElq5u4X1/PlBxYBUJFMcPs7zie1v4HLxw9mz7oFXTw6dZThV5IkKeeRRVv46v8szj9OZzKk9jfk79o2c11XjUydxfArSZJKXlV1PT/8wyqeWVXH2SP6UV23j6Z0xuXMeiDDryRJKmnNV3RIBLj9uvOoKEt617YeyvArSZJK1s79DUes6BCAeet3csu0iYbeHsrwK0mSSk5VTYpHF23hfxdtYfueQ0es6GCbQ89m+JUkSSWlqibFDdNn0ZDOrtn7zXdN4pyRp9rmUCIMv5IkqaT815/W5INvIsDOA41MHjvQ0FsiDL+SJKnHq6pJ8fyaOpZt2c0TS7eRCNn+XtscSo/hV5Ik9WhVNSluvGMWh5qys73XXjiSv3jNOF5cV2+bQwky/EqSpB7t0cVb8sE3AOeOPJVLxw3i0nGDunZg6hKGX0mS1CNV1aSYMWc9D87fDGT7eytscyh5hl9JktTjVFXX88Hps2jKRALwpbecBSHY5iDDryRJ6lkONaW5/aGlNGWyN65IBCAEbpk2sWsHpqKQ6OoBSJIkdZbaPQe58Y7ZLNq0i7JEIBlc0UFHcuZXkiT1CL+ds56vP7yMhqYM/37jJYzo39sbV+gVDL+SJKnb+94TK/jRH1cD2YvaRvTv7Y0r1CrbHiRJUrfVlM7w9YeW5oMvQDqdYdbaHV04KhUzZ34lSVK39PSKWr72+yWsr9/PNReM4A/La2lsytjjq2My/EqSpG7n3rkbuPW+hUSgPBn4+OvG8/HXjbfHV8dl+JUkSd3KA/M2ctsDi4i5x5lMZNbaHdwybaKhV8dl+JUkSd3Ci+t28O1HlzNv/U7OH9WP1bX7aErb5qDCGH4lSVLRe2rZNm7+5VwyEZKJwNeuO59kImGbgwpm+JUkSUVtbnU9n737JTKH+xxiZE51yjYHtctxw28I4efAtUBtjHFSbtsg4B5gHFANfCDGmDpxw5QkSaWmqrqen8xcw8wVtQzt14umTLTNQR3WlpnfO4F/A37ZbNttwB9ijN8OIdyWe/x3nT88SZJUip5fXceHfjabTIREgO+87yL69iqzzUEddtzwG2N8JoQwrsXmdwJTc3/+BTATw68kSeoEa7fv5TMzXm5zCMCiTbtsc1CnCDHG4x+UDb8PN2t72BljHNBsfyrG2OqnMYRwM3AzwPDhwyfPmDGjE4ZdmL1791JZWXnSz9tdWa/CWbPCWK/CWK/CWK/CFFO9VqfSPLW+kXnb0iQDNGYgE6EsAbde2puJA5NdPcSiqld30JX1mjZtWlWMcUrL7Sf8grcY43RgOsCUKVPi1KlTT/QpX2HmzJl0xXm7K+tVOGtWGOtVGOtVGOtVmGKp14vrdvCtJ2aTzkRCgB/fNJkhlb2Krs2hWOrVXRRjvdobfreFEEbGGLeEEEYCtZ05KEmSVDq27jrI5++ZTzrX55AAVtfu5a3njyia0Kueo73h90HgL4Bv537/faeNSJIklYSqmhQz5qznscVbaWjKUJ4MZDLR1Rx0QrVlqbO7yV7cNiSEsBH4GtnQ+9sQwl8C64H3n8hBSpKknmVOdT03TJ9FUyYSgB9efzGjB55SdG0O6nnastrDDUfZdWUnj0WSJJWA7XsO8cXfLqDpcJtDgA2pA7zj4tGGXp1w3uFNkiSdFFU1KX47dwOPL9nKvkNNtjmoSxh+JUnSCdeyzeFfP3ARYwf3tc1BJ53hV5IknVCttTls2XWQ91wyxtCrk87wK0mSToiqmhT3zFnP40u2sb/BNgcVB8OvJEnqdC+u28GNd8zOtzl87wMXc/pgV3NQ1zP8SpKkTrV55wE+f8/8I9ocNu86wLsvcTUHdT3DryRJ6hRVNSl+/UI1TyzdRjoTbXNQUTL8SpKkDnthTR0f+tmLpDOREODHN7yKkf372OagomP4lSRJHbJq2x4+c/dLpA+3OQA1O/Zz7YWjDL0qOoZfSZLULlXV9fzXM2t5ekUtfcqTVCRDtt3BNgcVMcOvJEkq2MwVtXz8zjlkYvaCtu998GIGnlJhm4OKnuFXkiQV5PnVdXz6Ny+R63IgACu27uGWaRMNvSp6hl9JktQms9fu4HtPrmT2unpGDehNQzpDOp2xzUHdiuFXkiQd14PzN/HZe+YTIyQTge++7yJ6lSdtc1C3Y/iVJEmtqqpJMWttHbsONPHz59YRc20OxMhLG3ba5qBuyfArSZJeoaomxY13zOJQUwaAiUP7siF1gCbbHNTNGX4lSdIr/HpWTT74BuBdrxrNFROG2Oagbs/wK0mSgOxs77Mrt7N48y6eWlZLAEKAirIEV0wYwuSxAw296vYMv5IkiaqaFDfcMYuG3Gzvuy4ezfWvHkNVzU5netWjGH4lSSpxDU0ZvvPY8nzwTQQ4c3gll48fwuXjh3Tx6KTOZfiVJKlEVdWk+PWyQ3xtzp+o2bGfZAiAtydWz2b4lSSpBM2prueG6bNoykSgiS9ffQ5Txg3ygjb1eIZfSZJKzLq6fXz27pdywReSAZoy0QvaVBIMv5IklYi51fX8x8w1PLtqO2XJBOXJQDptm4NKi+FXkqQS8OiiLdzym3lkYvaCtp/c9CoG9q3g7qfmcMNVlzrjq5KR6OoBSJKkEyeTifxqVg2fmfESuS4HArBi2x4mjx3ItRMqDL4qKc78SpLUA1XVpHh8yVZeWFPHok27uWhMf5Zv3ePtiVXyDL+SJPUwc6vruT6/kgP89RvG83dXn8O89TtdzUElz/ArSVIPUrNjH5+/Z34++CYC9OtTTgjB1RwkDL+SJPUIc6vr+cnMNTy3qo6yRKA8GchkXMlBasnwK0lSN/fg/E189p75xNxKDv9242QGV/ayxUFqheFXkqRuqKomxfNr6tiy6yD3vLiB2Gwlh1W1e3nL+SMMvVIrDL+SJHUzVTUpbrhjFg1NGQAmjerHqtp9ruQgtYHhV5KkbuRgY5r/99jyfPBNBLj6glH80/jBtjlIbWD4lSSpG6iqSfHbuev504rtbN19iGQIwMsXtLmSg9Q2hl9JkorcMyu287E755COkQDcft15XDBmgDO9UjsYfiVJKlIxRh5auIXb7l9IOr68bu++hrQzvVI7GX4lSSoyh29NPKe6npfW72TC0L5sSB0g7QVtUod1KPyGED4PfAKIwCLgYzHGg50xMEmSStGL63Zw4x2z83do+9hrx/HVa85j/gZvTSx1hnaH3xDCaOAzwHkxxgMhhN8C1wN3dtLYJEkqKS+tT3HLb1464tbEQyp7kUx4a2Kps3S07aEM6BNCaAROATZ3fEiSJJWWZ1dt53tPruSl9TsZdEqFtyaWTqB2h98Y46YQwneB9cAB4IkY4xOdNjJJknq4GCM//uNqvvfkSgCSicAPb7iYUyrKbHGQTpAQD98PsdAnhjAQuB/4ILATuBe4L8b46xbH3QzcDDB8+PDJM2bM6Mh422Xv3r1UVlae9PN2V9arcNasMNarMNarMN2hXqtTaeZsa2JlfZp1u1/+ezgBvOfMcq6dUHHSxtId6lVMrFdhurJe06ZNq4oxTmm5vSNtD1cB62KM2wFCCA8ArwGOCL8xxunAdIApU6bEqVOnduCU7TNz5ky64rzdlfUqnDUrjPUqjPUqTLHX64U1dXz7iRfzfb3XXTiSJ5dto7Epu5LDDVddelJne4u9XsXGehWmGOvVkfC7Hrg8hHAK2baHK4G5nTIqSZJ6oKdX1PL5e+bng28ywDkjT+Wjrz3DNgfpJOlIz+/sEMJ9wDygCXiJ3AyvJEnKqqpJ8cTSrcxfn2L2uhSjBvRm/6E06UzGWxNLXaBDqz3EGL8GfK2TxiJJUo8ya20dH/rpyy0ON152Ol+77jwWb9rtTK/URbzDmyRJJ8CfVm7nczOOXLN39IA+9CpLOtMrdSHDryRJneixxVv41ydWsqp2LyP796YieWSLg6SuZfiVJKkTHGxM87XfL+GeuRsAKEsEvv/BiyhPJm1xkIqI4VeSpHaqqkkxa20dgcBvXlzPxtSB/L4YI1U1O7ll2kRDr1REDL+SJLVDVU2KG++YxaGmDACnDzyF299xHt9+dHl+zV7bHKTiY/iVJKlAu/Y38s+PLM0H3wC8/9IxfPQ1Z3DB6AG2OUhFzPArSVIbzamu545n1vLC2h3sOdhEMhEgRsrLErxmwhAAV3KQipzhV5KkNvjF89Xc/uASItlly777/gs5Y0ils7xSN2P4lSTpGGp27OOfH1nG40u25bcFYNvuQ7xv8mmGXqmbMfxKktSKZ1dt58d/XMW8mp1UlCW48dWn8cC8TTSmvZhN6s4Mv5IkNdOUzvAvj6/gv55ZC0AyBH50/au46rzhvHfyabY5SN2c4VeSJLJLl9394npmr93Bhmbr9UJkxbY9XHXecC9mk3oAw68kqeT9bt4mvnDvfDIx289702Wnc/+8ja7XK/VAhl9JUsmq3X2Q7z25knvmbCDmtiUCjBrQh7s+cbktDlIPZPiVJJWcP6+u49+fXs3c6hSRyDUXjOTJZdtoanYxmy0OUs9k+JUklYymdIbvPr6C/8xdzJYI8OMbXsU1F46iqiblTK9UAgy/kqQeLRtq60iEwH1VG1mzfV9+XwCqd+wHvDObVCoMv5KkHquqJsUNd8yioSkDwKj+vbn1bWfzoz+s8mI2qUQZfiVJPdLq2r3cdv/CfPANwA2Xnc6npk7ksjMG2+IglSjDrySpR3lpWyPf+/FzLNq0i97lScoSgRgj5WUJXjNhCGCLg1TKDL+SpB5h5/4GvvbgEn4/vwFoIJkI/OSmV3FqnwpneSXlGX4lSd1WVU2KZ1dtp3bPIR5asJk9B5te3hkjS7fs4ZZpEw29kvIMv5KkbmnW2jo+9NMXacpkb08xZexAbrzsdG67bwHpiBezSWqV4VeS1K00pTM88NImvvHw0nzwTQSYds4w3nPJGOprVnBowFjbHCS1yvArSeoW5lbX84sXqqmqSbF550HGD+nLwcYM6cyRS5ZNHJhk6tSJXTxaScXK8CtJKmoxRqY/s5ZvP7qcSHbJslvfejafnDqBeet3ejGbpIIYfiVJRefwXdl6lyd5cMEWFmzYmd+XCGRDcAguWSapYIZfSVJRqapJccP0WTSkszenGFJZwaemjufnf672rmySOszwK0kqGrPX7uCL9y7IB98AfOSKsXzmyrO48twRtjhI6jDDrySpS1XVpLi/aiOLNu1k0abdDDil/Ii7sr124lDAu7JJ6hyGX0lSl/n1rBr+8feLya1YxkdfM5bbrj6XJZt3O8sr6YQw/EqSTqqqmhT3zt3Aks27WLRpd357MsDQfr3pXZ50llfSCWP4lSSdFDFGfvFCNV9/aGl+pvftF4zgj8tqaUx7IZukk8PwK0k6YZovWfbooq3MrUnl9yUDnD+qP3/5uvG2OEg6aQy/kqQToqq6nuvvmEVjOjvNO7hvBZ94/Rn8+oWaI2Z6bXGQdDIZfiVJnSqdiTy2eCu3P7QkH3wD8BevyS5ZdvWkkc70Suoyhl9JUqd4cd0O/vvP1SzYuJPNOw8yqn9vypOBTMYlyyQVD8OvJKlDDjam+dcnVvDTZ9dlbzsM/O2bz+KWaROZv2Gns7ySiorhV5JUsKqaFH9aWcuOvQ08vmQbdXsP5fclAiQTgWQiOMsrqeh0KPyGEAYAPwUmARH4eIzxhU4YlySpSP1h2Tb+z6+qaMqtV3bRmP585sqJ/PMjy2hscskyScWtozO/PwQeizG+L4RQAZzSCWOSJBWh9Tv2M/3ZNdz94gbSueCbCPCW80fwkSvGcf6o/rY4SCp67Q6/IYRTgTcAHwWIMTYADZ0zLElSsbh37gZ+9tw6VmzdQ3kywbSzh/LsqjqaWtyYwhYHSd1BiDG274khXAxMB5YCFwFVwGdjjPtaHHczcDPA8OHDJ8+YMaMj422XvXv3UllZedLP211Zr8JZs8JYr8J0Rb1ijCzZkeb+lQ2s2/3yLO/fXFzBq4aXszqVZnl9mnMGJZk4MHlSx3Y8fr4KY70KY70K05X1mjZtWlWMcUrL7R0Jv1OAWcBrY4yzQwg/BHbHGP/haM+ZMmVKnDt3brvO1xEzZ85k6tSpJ/283ZX1Kpw1K4z1KszJqldVTYrn19TRlI48sXQby7bspm9Fkv0NaSLZO7L97VvO5pZpE0/4WDrCz1dhrFdhrFdhurJeIYRWw29Hen43AhtjjLNzj+8DbuvA60mSusizq7bzsf+ek7+IbfTAPnznvRdy+uA+fPS/53ghm6Qeo93hN8a4NYSwIYRwdoxxBXAl2RYISVKRq6pJMWvtDiYOq6SqJsWdf67OB99EgBsuPY0PXHoaAHd94nIvZJPUY3R0tYe/Ae7KrfSwFvhYx4ckSTqRqmpS3HDHLBqaMkA27F4xYQhzqutJ5y5iu2LCkPzxXsgmqSfpUPiNMc4HXtFLIUkqPulM5A/LtvH1h5fmg28A/ur14/ny28/NzwY7wyupJ/MOb5LUw/15dR0/f24dSzbvYuvuQwyprKAsEYgxUl6W4C3njwCc4ZVUGgy/ktRDbajfz3ceW85DC7cAEAJ84c1n8cmpE1iwcZezvJJKkuFXknqQqup67q3ayLq6vcypTtF8McsEkEgEypIJZ3kllSzDryT1AAcb0/z4j6v4ydNr8oH33a8azdsmjeCzM15yqTJJyjH8SlI3VVWT4smlW6ndfYinV9SS2t+Y35cMMHFYJW89f4RLlUlSM4ZfSepmYoz8alYNtz+4hNzSvLx63EDefuFIvv3o8lfM8triIEkvM/xKUpFbnUqz5OnVXHzaAKp37OOXz9ewYtue/P5EgDeePYyPvuYMLhg9wFleSToGw68kFbGqmhT/b85BmjIr8r285408lVumTuBnz62jMe0sryQVwvArSUWoKZ3hqWW1fOuRZTRmXt5+02Wn8413TSKEwJvOHe4sryQVyPArSUXkqaXbuPP5apZu3k39/gaG9K0gGbL7yssSvOeSMYSQ3eAsryQVzvArSV0sk4k8v2YH//b0KmatrQeyfby3XX0On3jdGdz54NMcGjDWGV5J6gSGX0nqIk+vqOUXf65m+dbdbN19iN7lCQIQgQCkM5GyZIKJA5NMnTqxi0crST2D4VeSTqIYI7PX1fPvT6/m2VV1QHaW93NXncllZwziY3fO8YYUknQCGX4l6QSrqknx9PJa9hxs5NlVdayt20evskR+fwDKkwmumDDEG1JI0glm+JWkEySTifzyhWq+/vDS/M0ozhnRj399/0WM7N+bj//ilbO8XsQmSSeW4VeSOlFVTYqnlm1j14FGnltVx/r6/fl9iQDXXTSK904eA+AsryR1AcOvJHWCxnSGnz67ln95fEV+lnfSqFP53FVn8p8z17ziZhTgLK8kdQXDryS1Q1VNillrd3DawD4s2byb++dtom7vofz+RICrLxjJLdMm8vozhzrDK0lFwvArSQV6bnUdH/vvF2lMZ6d4kwGuPHc4k8cO5PtPrbSPV5KKmOFXko7h8AzvZWcMoiGd4b65G3lwwWaacr0NAfg/b5zArW87B4Ap4wY5yytJRczwK0lHUVWT4sY7ZtHQlAGyN5/o16uMaWcP40+rtpPO9fFeee7w/HOc5ZWk4mb4laScw7O8F47pz5adB/nRH1dxKBd8Aa69cCTfff9F9C5P5o91hleSuhfDryQBc6rruemO2TSkXw67I/v3piwRyMRIRVmCj732DHqXJwFneCWpuzL8Sippy7fu5oF5m/jN7Jp88A3AjZedzjfeNYl563c6wytJPYjhV1LJeWrpNu6aXcPaun3U7NhPWSJw8WkDWLBxJ5lMpLwswXsuGUMIwRleSephDL+SSsLeQ008tngrv3qhmgUbdwEQAnzidWfwyakTGFzZyz5eSSoBhl9JPdaL63YwY84Gtu06SNX6FAcbM/TvU0Ygu3JDAhjYt4LBlb0A+3glqRQYfiX1KJlMZE51PT99bh1PLt2W3/6280fwV28YDzFy089mv+JGFJKk0mD4ldTtVVXX8/sFm9l1oJEX19WzZddByhIhvz8Z4IIx/fOzund94nLbGySpRBl+JXVbq2v3MP2Ztdw7dyMxt23K2IHcdvU5DK3sxcd/MafVGV7bGySpdBl+JXUrjy7awt0vrqemfj81O/YfsS8ZYNo5w3jnxaMBZ3glSa9k+JVU9DbtPMAjC7dwz5z1rN6+D8iu1PDx147jNROG8Om75znDK0lqE8OvpKL05JJt/GbOejal9rNy214Ahp/a64iVGgZX9uKq84Y7wytJajPDr6SisXnnAR5dvJXfzt3Aiq17gJfvtnbz68ezY18DN/101itmeZ3hlSS1leFXUpd6fMlWZry4nk07D+RneIf2azbDG2D0gD6MG9KXcUP6OssrSeoQw6+kk27bvgz/MXMN91dteLmHl+wM7ydedwap/Y2tzvCCs7ySpI4x/Eo64WKM/H7+Zu6du5GNqf3U1B8AljPi1FfO8I4fWgm4UoMk6cQw/Eo6IWKMLNi4i8eXbOX3L21i866DQHaVhjePLeNr17+ebbsPOcMrSTqpOhx+QwhJYC6wKcZ4bceHJKm7enHdDu6ft5E9B5t4af1Otuw6SDIRGDOgzxGrNPSvCIwZeApjBp7iDK8k6aTqjJnfzwLLgFM74bUkdQNVNal8YD13ZD+eWVnH3S/W8KeVdfljXj1uIF98y9lcee4w1mzfd8QM7zmDkvnjnOGVJJ1MHQq/IYQxwDXAN4G/7ZQRSSpqVTUpbrxjFg1NGUKAZCLQmI70Kkvkj0kGeOPZw3jv5DEATB5bccQM7551C7pq+JKkEtfRmd8fALcC/To+FEnFJj/De8Yg+p9SwVPLtvGrF6o51JQBIEa4eHR/vvjWsylLBD7y8xdb7d+FI2d4Z6476W9FkiQAQoyxfU8M4Vrg7THGT4UQpgJfbK3nN4RwM3AzwPDhwyfPmDGj/aNtp71791JZWXnSz9tdWa/C9cSarahv4l/mHiKXc/NGnBKoPRCJEcoTcOulvZk4MNvGsDqVZnl9mnMGJfPbWtMT63UiWa/CWK/CWK/CWK/CdGW9pk2bVhVjnNJye0fC77eADwNNQG+yPb8PxBg/dLTnTJkyJc6dO7dd5+uImTNnMnXq1JN+3u7KehWuu9fs8AzvBaP6kzrQwB+W1fL4kq35GV6Aq84dxtffOYlRA/oc0fPbnn7d7l6vk816FcZ6FcZ6FcZ6FaYr6xVCaDX8trvtIcb4ZeDLuRefSnbm96jBV1LxiTHy0ILN/O1vF9CUefkfwoP6VnDF+MH8eU0dmUykvCzBJ6dOZNSAPoAXqUmSui/X+ZVKxOHZ2ktOH0BDOvL08lr+uLyW9fX788ccvsva1985iWQidHiGV5KkYtMp4TfGOBOY2RmvJanzPb5kK5/+zTwa0y/P7vYqS/CaCYN56/nD+eULNTSlsxeqveeSMSQTAXCGV5LU8zjzK/UwVTUp/ry6jlP7lLFl50GeXlHLym178/sD8J5LRvONd11An4rsRWlvmzTSGV5JUkkw/Eo9xMbUfn79Qg3Tn13L4fbdZAIuO2MwV4wfzIw5G/KzuzdeNjYffMEZXklS6TD8St1QVU2K51Ztp7J3GZt3HuRPK7ezunbvEcckAnx62pl8/s1nAfCOi0c7uytJKnmGX6mbiDGyunYvd82u4Zcv1ORnd8uSgSvGD+b6S09jWL9e3Hr/wvyNJt5w1tD8853dlSTJ8CsVtZkrarm/aiP7GppYtmUPW3YdPGJ/IsDfTJvIZ686K79t9MBTnOGVJOkoDL9SF2u+nNik0adSVZ3i2dV1PL54K2vr9uWPu2L8ID575ZkMOKWcz90zPz+7+7ozhx7xes7wSpJ0dIZfqQvNra7nxp/OprEpQwhQlgg0pCNlicDwU3sRgAgkA7zuzKFc/+rTAbirX29ndyVJagfDr3QSNJ/dHVrZiz+vqeO51XX8cVktDblbCMcIk0b351NTJ3L5hMGs2LqHm346Kz/De/n4wfnXc3ZXkqT2MfxKJ9gflm3jr39dRWM65mdyAYb168WlZwzkhTU7SGciFWUJvnLNeflQO3nsQO76xOXO8EqS1IkMv1InqqpJ8acVtfSuSFK7+xDPr6k74gYTEbjynGF8+e3nMGFoJSEc+xbCzvBKktS5DL9SB+0+2Mj82iYeuHseDy3cQsxN7VYkA5eNH8yrxw3mt1UbSOduMPGpaROZOKxf/vkGXEmSTh7Dr1Sg51bX8buXNtKUjlTX7WPRpl1kIiTD1nzwTQT49JvO5DNXngnAuy/xBhOSJBUDw6/UiuatCBOHVTK3up7Z6+r547JtrN7+8vJj547ox6enTaTPno1cfPFFfOzOOfkL1F47cUj+OGd3JUkqDoZfqYWZK2r5q1/OpSmdncY9fIFaRTLB0H4VRyw/du1Fo7hl2kRmztzCFROGeIGaJElFzvCrknV4dvfMYZUcaEzz4rp65lTXH3GBGsBrJgzm02+ayCWnD2TJ5t1HXX4MnOGVJKnYGX5VUmKMrNm+j/urNjD9mXWkDzfpApW9ypg8diBTxg3ivrkbSWeyAfcLbznb5cckSeohDL/q0Wav3cFDCzaTTAS27DrI3JoU9fsajjgmAB++fCz/eN15lCUTALz3kjEuPyZJUg9k+FW31nKN3F37G5m3PsXcmnqeXl7L0i178seOOLUXbzpnGJeOG0ifiiS33rcw377wzleNzgdfMOBKktRTGX7VbVVV13PjT2fT0JQhkQiM7N+bjakDACQTgaGVR16c9uErxnHLtIn5548ecIrtC5IklRjDr4re4dndV502gEQie0e0l9an+PPqHRxqygCQzkTKkwm++JazmDx2EBed1p9lW/Z4cZokSTqC4VdFKcbI+vr9PDBvE//29GrSmXjE/vFD+3L5+EE8t7qOdCZSUZbgu++/6Igw68VpkiSpJcOvisKzq7bz0ILNlCUC23Yf4qUNO1u9MO09l4zmq9ecx8C+FcAre35bcnZXkiQ1Z/jVSdE8pF40pj8rtu1h/oadzF+/k1lrd7Ah16sLMHpgH648ZxivOn0gvcsT/P3vFuVbF268bGw++ILhVpIkFcbwqxMqxshji7fymRkvZe+YFqA8EWjI3T1t4CnlDDzlyAvTbnz16UdcmDZ2cF9bFyRJUqcw/KrTVNWk+OPybfTvU86+Q2kWbNzJwo27jmxfiHDBmP585IpxXHzaAE4fdArz1u/0wjRJknRSGH7VZq2tqbt48y4WbtzFMytrmbW2nuaXpZ09vB9XnjOMAX0r+MXz1aTT2XD7928/zwvTJElSlzD8qk2eXbWdv7xzLo3pDCHAsH692Lr7UH5//z7l+eCbCPCZN53J5958Vn7/284f4YVpkiSpyxl+lXd4Zjezo4mK1XUs2rSLxZt3s3jTLtbV7csfFyP0613Oh68Yx4Vj+nPB6P6s2b7viNaF15819IjXNtxKkqRiYPgtcTv2HmLJ5t08vmQrd7+4nvxyunNnAzB6QB/OH3Uql58xiPvnbczeTKIswbffe2GL1oUKWxckSVLRM/yWiBgjTyzdxmOLtlBelqB+XwNLNu9my66DrR7/vslj+PLV5zC4stfL26acZuuCJEnq1gy/PcjhtoVLxw3k1D7lLN28m6Wbd7Nk824WbtzJvoZ0/tjRA/tw2RmDOH9Uf84ffSpNTZGbfz2XxqYMyQA3vPr0I4IvGG4lSVL3Z/jtRlq7m9mu/Y0s3bKbJ5Zu5ZfP15COR94GuFdZgnNGnsqEYZUs2rjrqGvpAvm2hV47awy5kiSpRzL8dhNzquv50E9n09CUIZkIXHzaADbvPMDmVtoWAnDNhSP57JVncsaQvpQlE1TVpI65li68PLM7c+bGk/COJEmSTj7DbxE5PLN73qhT6VWWYPmWPSzfupsVW/ewZPNumnJXozVlIuvq9vHaiUM4d+SpnDuyH03pyKfvnpcPtx977RmcObxf/rVdS1eSJMnwe1K1bFs42Jhm1ba9rNi2h2dW1vLwwi0vr7aQM6hvBeeO7MfbJo3g8SVbSWciFckE0z8y5RUB9njh1p5dSZJU6gy/J0FTOsMji7bwhXsX0JSOhAAjTu3N1t0H82E3mQj5PwfgfVPG8KW3ns3Qyl6EEIDWe36bM9xKkiQdm+G3k1TVpHhhTV2+x3bVtj2s3LaXldv2sHb7PhrSmfyxMUJl7zL+ZsqZnD2iH2eP6MeOvYf4yM9fzLctXH/p6Qzr1/uIcxhuJUmSOsbw20bNZ10vPm0A6+v3s3LbHlbX7mX22h08u6qOFh0LjBnYh7OG92Pq2cOoSAb+85m1pNPZcPut9xx5k4gJQyvtyZUkSTrBDL/H0NCUoXrHPp5YspUfPLWKpkwkAMlkoCn9ctQ9tXdZPvgG4KbLx/Llq8+hb68jy/vGs4fZtiBJktSF2h1+QwinAb8ERgAZYHqM8YedNbCT6bnVdTy+eCsDTimnKRNZXbuXNbV7qanfT7rFFWgRuOS0Abx/ymmcNbwfE4ZVsmLrniOWEXv3q0a/IviC4VaSJKmrdWTmtwn4QoxxXgihH1AVQngyxri0k8bWKapqUjy8poHKcfWMHNCHNbV7Wbt9L2u272PN9r0s27Kb1P7G/PHJBIwfUsnZI/pxzYUjmTiskoamDP/wP4tpzLUs/N3V5x4RYl1GTJIkqXtod/iNMW4BtuT+vCeEsAwYDRRN+K2qSXH99BdoTEfuW/XCEfv69S5jwtBKRg3ow879jUQgEeBzV53F37zpzFe81vihlbYsSJIkdXMhxpaXabXjRUIYBzwDTIox7m6x72bgZoDhw4dPnjFjRofP11YPr2ng/lWN+X7cS4Ylecu4ckb0DfSvCIQQWJ1K8505B2nKQFkCbr20NxMHJk/aGIvR3r17qays7OphdCvWrDDWqzDWqzDWqzDWqzDWqzBdWa9p06ZVxRintNze4fAbQqgE/gR8M8b4wLGOnTJlSpw7d26HzleIw7f0bWjMUFGe4K5PXN7q7Ozx1s8tNTNnzmTq1KldPYxuxZoVxnoVxnoVxnoVxnoVxnoVpivrFUJoNfx2aLWHEEI5cD9w1/GCb1c43It791NzuOGqS48abG1ZkCRJKg0dWe0hAD8DlsUYv9d5Q+pck8cOZM+ECsOtJEmSSHTgua8FPgy8KYQwP/fr7Z00LkmSJKnTdWS1h+fI3tNBkiRJ6hY6MvMrSZIkdSuGX0mSJJUMw68kSZJKhuFXkiRJJcPwK0mSpJJh+JUkSVLJMPxKkiSpZBh+JUmSVDIMv5IkSSoZIcZ48k4Wwnag5qSd8GVDgLouOG93Zb0KZ80KY70KY70KY70KY70KY70K05X1GhtjHNpy40kNv10lhDA3xjilq8fRXVivwlmzwlivwlivwlivwlivwlivwhRjvWx7kCRJUskw/EqSJKlklEr4nd7VA+hmrFfhrFlhrFdhrFdhrFdhrFdhrFdhiq5eJdHzK0mSJEHpzPxKkiRJ3Tv8hhB+HkKoDSEsPsr+EEL4UQhhdQhhYQjhkmb73hZCWJHbd9vJG3XXaUO9bsrVaWEI4fkQwkXN9lWHEBaFEOaHEOaevFF3rTbUbGoIYVeuLvNDCP/YbJ+fsVfu/1KzWi0OIaRDCINy+0rqMxZCOC2E8HQIYVkIYUkI4bOtHON3WE4b6+V3WE4b6+X3VzNtrJnfYTkhhN4hhBdDCAty9fqnVo4pzu+wGGO3/QW8AbgEWHyU/W8HHgUCcDkwO7c9CawBxgMVwALgvK5+P0VQr9cAA3N/vvpwvXKPq4EhXf0eirBmU4GHW9nuZ+z4x14H/LHZ45L6jAEjgUtyf+4HrGz5GfE7rOB6+R1WWL38/iqwZi2OL/XvsABU5v5cDswGLm9xTFF+h3Xrmd8Y4zNA/TEOeSfwy5g1CxgQQhgJvBpYHWNcG2NsAGbkju3RjlevGOPzMcZU7uEsYMxJGVgRa8Nn7Gj8jB3fDcDdJ3A4RS3GuCXGOC/35z3AMmB0i8P8DstpS738DntZGz9fR1Nyny9oV81K/Tssxhj35h6W5361vJCsKL/DunX4bYPRwIZmjzfmth1tu172l2T/tXZYBJ4IIVSFEG7uojEVqytyP/Z5NIRwfm6bn7FjCCGcArwNuL/Z5pL9jIUQxgGvIjtz0pzfYa04Rr2a8zss5zj18vurFcf7jPkdlhVCSIYQ5gO1wJMxxm7xHVZ2sk7URUIr2+IxtgsIIUwj+xfH65ptfm2McXMIYRjwZAhheW6Wr9TNI3v7xL0hhLcD/wOciZ+x47kO+HOMsfkscUl+xkIIlWT/Av1cjHF3y92tPKWkv8OOU6/Dx/gdlnOcevn91Yq2fMbwOwyAGGMauDiEMAD4XQhhUoyx+TUfRfkd1tNnfjcCpzV7PAbYfIztJS+EcCHwU+CdMcYdh7fHGDfnfq8Ffkf2RxYlL8a4+/CPfWKMjwDlIYQh+Bk7nutp8ePCUvyMhRDKyf4le1eM8YFWDvE7rJk21MvvsGaOVy+/v16pLZ+xHL/Dmokx7gRmkp0Nb64ov8N6evh9EPhI7mrDy4FdMcYtwBzgzBDCGSGECrIf4ge7cqDFIIRwOvAA8OEY48pm2/uGEPod/jPwFqDVq/lLTQhhRAgh5P78arL/T+3Az9hRhRD6A28Eft9sW8l9xnKfm58By2KM3zvKYX6H5bSlXn6HvayN9fL7q5k2/j/pd1hOCGFobsaXEEIf4CpgeYvDivI7rFu3PYQQ7iZ7teqQEMJG4GtkG66JMf4n8AjZKw1XA/uBj+X2NYUQPg08TvaKw5/HGJec9DdwkrWhXv8IDAZ+kvs+bIoxTgGGk/1xBmQ/M7+JMT520t9AF2hDzd4HfDKE0AQcAK6PMUbAz1jr9QJ4N/BEjHFfs6eW4mfstcCHgUW5njmAvwdOB7/DWtGWevkd9rK21MvvryO1pWbgd9hhI4FfhBCSZP/h9NsY48MhhL+G4v4O8w5vkiRJKhk9ve1BkiRJyjP8SpIkqWQYfiVJklQyDL+SJEkqGYZfSZIklQzDryRJkkqG4VeSJEklw/ArSZKkkvH/ARaJKWP+zfhtAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "errorTolerance = 1e-3\n",
    "time_start = time()\n",
    "(t, U) = euler_error_control(f, a, b, u_0, errorTolerance, demoMode=True)\n",
    "time_end = time()\n",
    "time_elapsed = time_end - time_start\n",
    "\n",
    "steps = len(U) - 1\n",
    "h_ave = (b-a)/steps\n",
    "U_exact = u(t)\n",
    "U_error = U-U_exact\n",
    "U_max = max(abs(U_error))\n",
    "print()\n",
    "print(f\"With {errorTolerance=}, this took {steps} time steps, of average length {h_ave:0.3}\")\n",
    "print(f\"The maximum absolute error is {U_max:0.3}\")\n",
    "print(f\"The maximum absolute error per time step is {U_max/steps:0.3}\")\n",
    "print(f\"The time taken to solve was {time_elapsed:0.3} seconds\")\n",
    "\n",
    "figure(figsize=[12,6])\n",
    "title(f\"Solution to du/dt={k}u, u({a})={u_0}\")\n",
    "plot(t, U, \".-\")\n",
    "grid(True)\n",
    "\n",
    "figure(figsize=[12,6])\n",
    "title(f\"Error in the above\")\n",
    "plot(t, U_error, \".-\")\n",
    "grid(True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "t_i=1.0: Decreasing step size to 9.000e-03 and trying again.\n",
      "\n",
      "With errorTolerance=0.0001, this took 380 time steps, of average length 0.00526\n",
      "The maximum absolute error is 0.084\n",
      "The maximum absolute error per time step is 0.000221\n",
      "The time taken to solve was 0.0156 seconds\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "errorTolerance = 1e-4\n",
    "time_start = time()\n",
    "(t, U) = euler_error_control(f, a, b, u_0, errorTolerance, demoMode=True)\n",
    "time_end = time()\n",
    "time_elapsed = time_end - time_start\n",
    "\n",
    "steps = len(U) - 1\n",
    "h_ave = (b-a)/steps\n",
    "U_exact = u(t)\n",
    "U_error = U-U_exact\n",
    "U_max = max(abs(U_error))\n",
    "print()\n",
    "print(f\"With {errorTolerance=}, this took {steps} time steps, of average length {h_ave:0.3}\")\n",
    "print(f\"The maximum absolute error is {U_max:0.3}\")\n",
    "print(f\"The maximum absolute error per time step is {U_max/steps:0.3}\")\n",
    "print(f\"The time taken to solve was {time_elapsed:0.3} seconds\")\n",
    "\n",
    "figure(figsize=[12,6])\n",
    "title(f\"Solution to du/dt={k}u, u({a})={u_0}\")\n",
    "plot(t, U, \".-\")\n",
    "grid(True)\n",
    "\n",
    "figure(figsize=[12,6])\n",
    "title(f\"Error in the above\")\n",
    "plot(t, U_error, \".-\")\n",
    "grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a name=\"ETMEC\"></a>\n",
    "## The explicit trapezoid method with error control\n",
    "\n",
    "In practice, one usually needs at least second order accuracy, and one approach to that is using computing a \"candidates\" for teh next time step with a second order accurate Runge-Kutta method and also a third order accurate one, the latter used only to get an error estimate for the former.\n",
    "\n",
    "Perhaps the simplest of these is based on adding error estimation to the Explicit Trapezoid Rule;\n",
    "omitting the step size adjustment for now, the main ingredients are:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$K_1 = h f(t, U)$\n",
    "\n",
    "$K_2 = h f(t + h, U + K_1)$\n",
    "\n",
    "(So far, as for the explicit trapezoid method)\n",
    "\n",
    "$K_3 = h f(t + h/2, U + (K_1 + K_2)/4)$\n",
    "\n",
    "**May 5:** not $... + (K_1 + K_2)/2$\n",
    "\n",
    "(a midpoint approximation, using the above)\n",
    "\n",
    "$\\delta_2 = (K_1 + K_2)/2$\n",
    "\n",
    "(The order 2 increment as for the explicit trapezoid method)\n",
    "\n",
    "$\\delta_3 = (K_1 + 4 K_3 + K_2)/6$\n",
    "\n",
    "(An order 3 increment — note the resemblance to Simpson's Rule for integration.\n",
    "This is only used to get:)\n",
    "\n",
    "$e_h = |\\delta_2 - \\delta_3 |, \\, = |K_1 -2 K_3 + K_2|/3$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Again, if this step is accepted, one uses the explicit trapezoid rule step: $U_{i+1} = U_i + \\delta_2$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step size adjustment\n",
    "\n",
    "The scale factor $s$ for step size adjustment must be modified for a method order $p$ (with $p=2$ now):\n",
    "- Changing step size by a factor $s$ will change the error $e_h$ in a single time step by a factor of about $s^{p+1}$.\n",
    "\n",
    "- Thus, we want a new step with this rescaled error of about $s^{p+1} e_h$ roughly matching the tolerance $T$.\n",
    "Equating would give $s^{p+1} e_h = T$, so $s = (T/e_h))^{1/(p+1)}$,\n",
    "but as noted above, since we are using only an approximation $\\tilde{e}_h$ of $e_h$\n",
    "it is typical to include a \"safety factor\" of about $0.9$, so something like\n",
    "\n",
    "$$s = 0.9 \\left( \\frac{T}{|\\tilde{e}_h|} \\right)^{1/(p+1)}$$\n",
    "\n",
    "Thus for this second order accurate method, we then get\n",
    "\n",
    "$$s = 0.9 \\left( \\frac{3 T}{|K_1 -2 K_3 + K_2|} \\right)^{1/3}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**A variant: relative error control**\n",
    "\n",
    "One final refinement: it is more common in software to impose a *relative error* bound: aiming for $|e_h/u(t)| \\leq T$,\n",
    "or $|e_h| \\leq T|u(t)|$.\n",
    "Approximating $u(t)$ by $U_i$, this changes the step size rescaling guideline to\n",
    "\n",
    "$$s = 0.9 \\left| \\frac{T U_i}{\\tilde{e}_h} \\right|^{1/(p+1)}$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercise 3\n",
    "\n",
    "Implement this\n",
    "[error control version of the explicit trapezoid method](#ETMEC),\n",
    "and test on the two familiar examples\n",
    "\n",
    "$$\n",
    "\\begin{split}\n",
    "du/dt &= Ku\n",
    "\\\\\n",
    "&\\text{and}\n",
    "\\\\\n",
    "du/dt &= K(\\cos(t) - u) - \\sin(t)\n",
    "\\end{split}\n",
    "$$\n",
    "\n",
    "($K=1$ is enough.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Fourth order accurate methods with error control: Runge-Kutta-Felberg and some newer refinements\n",
    "\n",
    "The details involve some messy coefficients; see the references above for those.\n",
    "\n",
    "The basic idea is to devise a fifth order accurate Runge-Kutta method such that we can also get a fourth order accurate method from the same colection of *stages* $K_i$ values.\n",
    "One catch is that any such fifth order method requires six stages (not five as you might have guessed).\n",
    "\n",
    "The first such method, still widely used, is the\n",
    "[Runge-Kutta-Felberg Mathod](https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta%E2%80%93Fehlberg_method)\n",
    "published by Erwin Fehlberg in 1970:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$K_1 = h f(t, U)$\n",
    "\n",
    "$K_2 = f(t + \\frac{1}{4}h, U + K_1/4)$\n",
    "\n",
    "$K_3 = f(t + \\frac{3}{8} h, U + \\frac{3}{32} K_1 + \\frac{9}{32} K_2)$\n",
    "\n",
    "$K_4 = f(t + \\frac{12}{13} h, U + \\frac{1932}{2197} K_1 - \\frac{7200}{2197} K_2 + \\frac{7296}{2197} K_3)$\n",
    "\n",
    "$K_5 = f(t + h, U + \\frac{439}{216} K_1 - 8  K_2 + \\frac{3680}{2565} K_3  - \\frac{845}{4104} K_4)$\n",
    "\n",
    "$K_6 = f(t + \\frac{1}{2}h, U - \\frac{8}{27} K_1 + 2 K_2 - \\frac{3544}{513} K_3 + \\frac{1859}{4104} K_4 - \\frac{11}{40} K_5)$\n",
    "\n",
    "$\\delta_4 = \\frac{25}{216} K_1 + \\frac{1408}{2565} K_3 + \\frac{2197}{4104} K_4 - \\frac{1}{5} K_5$\n",
    "\n",
    "(The order 4 increment that will actually be used)\n",
    "\n",
    "$\\delta_5 = \\frac{16}{135} K_1 + \\frac{6656}{12825} K_3 + \\frac{28561}{56430} K_4 - \\frac{9}{50} K_5  + \\frac{2}{55} K_6$\n",
    "\n",
    "(The order 5 increment, used only to get the following error estimate)\n",
    "\n",
    "$\\tilde{e}_h = \\frac{1}{360} K_1 - \\frac{128}{4275} K_3 + \\frac{2197}{75240} K_4 + \\frac{1}{50} K_5  + \\frac{2}{55} K_6$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This method is typically used with the relative error control mentioned above, and since the order is $p=4$,\n",
    "the recommended step-size rescaling factor is\n",
    "\n",
    "$$\n",
    "s = 0.9 \\left| \\frac{T U_i}{\\tilde{e}_h} \\right|^{1/5},\n",
    "= 0.9 \\left| \\frac{T U_i}{\\frac{1}{360} K_1 - \\frac{128}{4275} K_3 + \\frac{2197}{75240} K_4 + \\frac{1}{50} K_5  + \\frac{2}{55} K_6} \\right|^{1/5},\n",
    "$$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Footnote:** \n",
    "Newer software often uses a variant called the [Dormand–Prince method](https://en.wikipedia.org/wiki/Dormand%E2%80%93Prince_method) published in 1980; for example this is the default method in the module `scipy.integrate` within Python package SciPy.\n",
    "This is similar in form to \"R-K-F\", but has somewhat smaller errors.\n",
    "\n",
    "The basic usage is\n",
    "\n",
    "    ode_solution = scipy.integrate.solve_ivp(f, [a, b], y_0)\n",
    "    \n",
    "because the output is an \"object\" containing many items; the ones we need for now are t and y,\n",
    "extracted with\n",
    "\n",
    "    t = ode_solution.t\n",
    "    y = ode_solution.y\n",
    "\n",
    "This defaut usage is synonymous with\n",
    "\n",
    "    ode_solution = scipy.integrate.solve_ivp(f, [a, b], y_0, method=\"RK45\")\n",
    "    \n",
    "where \"RK45\" refers to the Dormand–Prince method.\n",
    "Other options include `method=\"RK23\"`, which is second order accurate, and very similar to the above\n",
    "[explicit trapezoid method with error control](#ETMEC).\n",
    "\n",
    "Notes:\n",
    "- SciPy's notation is $dy/dt= f(t, y)$, so the result is called `y`, not `u`\n",
    "- The initial data `y_0` must be in a list or numpy array, even if it is a single number.\n",
    "- The output `y` is a 2D array, even if it is a single equation rather than a system.\n",
    "- This might output very few values; for more output times (for better graphs?), try something like\n",
    "\n",
    "`t_plot = np.linspace(a, b)`\n",
    "\n",
    "`[t, y] = solve_ivp(f, [a, b], y_0, t_eval=t_plot)`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get an ODE IVP solve function, from module \"integrate\" within package \"scipy\"\n",
    "from scipy.integrate import solve_ivp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# To read more about this SciPy function scipy.integrate.solve_ivp,\n",
    "# run this cell (in the notebook version of this page).\n",
    "help(solve_ivp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get a \"stop watch\"\n",
    "# This gives the \"wall clock\" time in seconds since a reference moment, called \"the epoch\".\n",
    "# (For macOS and UNIX, the epoch is the beginning of 1970.)\n",
    "from time import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def f(t, u):\n",
    "    return u"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = 0.0\n",
    "b = 2.0\n",
    "y_0 = [1.0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time take to solve: 0.004698753356933594 seconds\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "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": [
    "t_plot = np.linspace(a, b)\n",
    "time_start = time()\n",
    "ode_solution = solve_ivp(f, [a, b], y_0, t_eval=t_plot)\n",
    "time_end = time()\n",
    "time_elapsed = time_end - time_start\n",
    "print(f\"Time take to solve: {time_elapsed} seconds\")\n",
    "\n",
    "# The output is an \"object\" containing many items; the ones we need for now are t and y.\n",
    "# More precisely \"y\" is a 2D array (just as y_0 is always an array)\n",
    "# though with only a single row for this example, so we just want the 1D array y[0]\n",
    "# These are extracted as follows:\n",
    "t = ode_solution.t\n",
    "y = ode_solution.y[0]\n",
    "\n",
    "plt.figure()\n",
    "plt.title(\"Computed Solution\")\n",
    "plt.plot(t, y)\n",
    "y_exact = np.exp(t)\n",
    "errors = y - y_exact\n",
    "plt.figure()\n",
    "plt.title(\"Errors\")\n",
    "plt.plot(t, errors)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time take to solve: 0.05581021308898926 seconds\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "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": [
    "# Increase accuracy requirement.\n",
    "# \"rtol\" is a relative error tolerance, defaulting to 1e-3\n",
    "# \"atol\" is an absolute error tolerance, defaulting to 1e-3\n",
    "# It solve to the less demanding of these two,\n",
    "# so both must be specified to increase accuracy.\n",
    "\n",
    "t_plot = np.linspace(a, b)\n",
    "\n",
    "time_start = time()\n",
    "ode_solution = solve_ivp(f, [a, b], y_0, t_eval=t_plot, rtol=1e-12, atol=1e-12)\n",
    "time_end = time()\n",
    "time_elapsed = time_end - time_start\n",
    "print(f\"Time take to solve: {time_elapsed} seconds\")\n",
    "\n",
    "t = ode_solution.t\n",
    "y = ode_solution.y[0]\n",
    "plt.figure()\n",
    "plt.title(\"Computed Solution\")\n",
    "plt.plot(t, y)\n",
    "y_exact = np.exp(t)\n",
    "errors = y - y_exact\n",
    "plt.figure()\n",
    "plt.title(\"Errors\")\n",
    "plt.plot(t, errors)\n",
    "plt.show()"
   ]
  }
 ],
 "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.8.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
