Last active
September 8, 2021 07:05
-
-
Save ketch/de14e33acabce66fd0bda2b979b5d16f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from nodepy import rk, ivp\n", | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"from ipywidgets import interact, widgets" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"In this short notebook we demonstrate a surprising phenomenon of numerical stability. We will make use of two 2nd-order Runge-Kutta methods. The first is the method with the smallest leading truncation error coefficient, which we will call simply \"RK2\":" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 76, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Minimal Truncation Error 22\n", | |
"\n", | |
" 0 |\n", | |
" 2/3 | 2/3\n", | |
"_____|__________\n", | |
" | 1/4 3/4\n" | |
] | |
} | |
], | |
"source": [ | |
"rk2 = rk.loadRKM('MTE22')\n", | |
"print(rk2)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The second method is based on using the slope at the midpoint of the step, so we will refer to it as the Midpoint method:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Midpoint Runge-Kutta\n", | |
"\n", | |
" 0 |\n", | |
" 1/2 | 1/2\n", | |
"_____|__________\n", | |
" | 0 1\n" | |
] | |
} | |
], | |
"source": [ | |
"mprk2 = rk.loadRKM('Mid22')\n", | |
"print(mprk2)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Note that these two methods are equivalent when applied to a linear ODE system, but will give different results when applied to a nonlinear ODE system." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We'll solve the simple nonlinear oscillator system:\n", | |
"\n", | |
"$$\n", | |
"\\begin{bmatrix} u \\\\ v \\end{bmatrix} = \\frac{1}{u^2 + v^2}\\begin{bmatrix} -v \\\\ u \\end{bmatrix}\n", | |
"$$\n", | |
"\n", | |
"with the initial data $u=1, v=0$. The exact solution is simply $u=\\cos(t)$, $v=\\sin(t)$. Notice that the energy $u^2 + v^2$ is constant." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 77, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def f(t,u):\n", | |
" r2 = u[0]**2 + u[1]**2\n", | |
" return np.array([-u[1]/r2,u[0]/r2])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"If we apply the RK2 method with a small step size, we obtain a good approximation:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 78, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7f9fc8dafb80>]" | |
] | |
}, | |
"execution_count": 78, | |
"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": [ | |
"rk2 = rk2.__num__()\n", | |
"u0 = np.array([0.,1.])\n", | |
"myivp = ivp.IVP(f=f,u0=u0,T=100.)\n", | |
"t,y = rk2(myivp,dt=0.2)\n", | |
"y = np.array(y)\n", | |
"plt.plot(t,y[:,0])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"On the other hand, if the step size is too large then the numerical solution is unstable and grows over time:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 67, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7f9fc8344f40>]" | |
] | |
}, | |
"execution_count": 67, | |
"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": [ | |
"t,y = rk2(myivp,dt=2.1)\n", | |
"myivp = ivp.IVP(f=f,u0=u0,T=100.)\n", | |
"y = np.array(y)\n", | |
"plt.plot(t,y[:,0])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"What about the midpoint method? If we use it with a small step size, the results are virtually indistinguishable from what is obtained with RK2. However, when we take a large step size, we see something surprising:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 68, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7f9fc84d47f0>]" | |
] | |
}, | |
"execution_count": 68, | |
"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": [ | |
"mprk2 = mprk2.__num__()\n", | |
"t,y = mprk2(myivp,dt=2.1)\n", | |
"y = np.array(y)\n", | |
"plt.plot(t,y[:,1])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The solution does not grow over time. There is a beat frequency due to our large step size that is on the same order as the solution period, but in fact the energy is conserved to within rounding error:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 69, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7f9fc85c7df0>]" | |
] | |
}, | |
"execution_count": 69, | |
"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": [ | |
"E = np.array([u[0]**2+u[1]**2 for u in y])\n", | |
"plt.plot(t,E-E[0])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The same behavior is observed no matter how large the step size:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 79, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7f9fc960e610>]" | |
] | |
}, | |
"execution_count": 79, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAD4CAYAAADhNOGaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAABA00lEQVR4nO29eXhjZ333/flJ3i3vlmbs2ceyZ8YmYRKGQIHOTCGlgVJC90Ao0z5wpRuUt/RtG0pfSukG7fsW2qt5oHmAkrIkpHnaJn2aQiGFhKUJmeyxZrE8u5eRvMrybut+/9A5tsYj2bJ0pHOOfH+uS5d1NumWj45+575/3/v3FaUUGo1Go9m6eOxugEaj0WjsRQcCjUaj2eLoQKDRaDRbHB0INBqNZoujA4FGo9FsccrsbkAutLa2qr1799rdDI1Go3EVzzzzzIhSyr92vSsDwd69ezl58qTdzdBoNBpXISIX063XQ0MajUazxdGBQKPRaLY4OhBoNBrNFkcHAo1Go9ni6ECg0Wg0WxxLAoGIfEFEIiLycobtIiJ/KyJhEXlRRG5O2XZCRPqMxwkr2qPRaDSa7LGqR/BF4LZ1tr8F6DQedwGfARCRZuCPgNcAtwB/JCJNFrVJo9FoNFlgSSBQSj0BjK2zy+3AP6okTwKNItIG/ATwTaXUmFJqHPgm6weUvPjX5wb48pNpZbQajUazZSlWjmAHcDll+YqxLtP66xCRu0TkpIicjEajOTXiP14e4gvfP5/TsRqNRlOquCZZrJS6Vyl1RCl1xO+/boZ0VgQDPi6OzrCwlLC4dRqNRuNeihUIBoBdKcs7jXWZ1heEYMDHckJxcXS6UG+h0Wg0rqNYgeAR4D2Geui1wKRSagj4BvBmEWkyksRvNtYVhKC/DoBwJF6ot9BoNBrXYUnRORG5HzgOtIrIFZJKoHIApdRngUeBtwJhYAb4FWPbmIj8CfC08VIfV0qtl3TOi45ALaADgUaj0aRiSSBQSr1zg+0K+M0M274AfMGKdmxETUUZOxqrCUd1INBoNBoT1ySLraIj4NM9Ao3GIkKDMb7bl5uKT+MctlwgCPp99EfjJBLK7qZoNK7nE18/zYcefMHuZhSVsekFJmcW7W6GpWy9QBDwMbeYYGBi1u6maDSuJzQYIzo1z+Rsaf0wrsevffkZPvTg83Y3w1K2ZCAAdJ5Ao8mTyNQcI/F5YOsIMJRS9A5M8sylcZKpz9JgywaC/i3yxdVoCkVoMLbyfKtcT0OTc0wvLDMxs8jg5JzdzbGMLRcImmsraK6t2DJ3MBpNoQgNJQNBmUfo3yI97NTfjd6BSRtbYi1bLhBAMmGsA4FGkx+hwRg7m6rp2ELX0zWBIKVH5Ha2ZCDoCPgIR+MlNcan0RSb0FCM7rZ6gsb1tBXoi8RprCmnw1+rA4HbCQZ8TMwsMjq9YHdTNBpXMrOwxPmRabrb6+kI+Lg8NsPc4rLdzSo4/ZE4Qb+PnvYGQoN6aMjVrCiHtkh3VqOxmtPDUyjFSo8goeD8SOkXcwxH4wQDPnra6xmcnGO8RG4mdSDQaDSbxlQMdbfXE/RvjetpbHqBsekFIxA0AKWTJ9iSgaC9oYqaCm/Jf3E1mkJxaihGfVWydtd+fy0ipR8IzM9n9ggAektkeGhLBgIRocMoNaHRaDZPaCjGobZ6RISqci87m6pL/npKDQRNtRW0N1TpHoHbCericxpNTiwnFKeHpug27opha0iyw5E41eVe2huqAehub9A9ArcTDPgYmpwjPr9kd1M0GldxYXSa2cVluttSAkHAx7mRaZZLuJhjX2SKjkAtHo8A0NNez7mRaWYW3P8bsmUDQYdfl5rQaHIhNVFsEgz4WFhKcGV8xq5mFRxTOmrS016PUnBqaMrGVlmDJYFARG4TkTMiEhaRu9Ns/5SIPG88zorIRMq25ZRtj1jRnmzQyiGNJjdCQzHKvUJnoG5lXalfT9PzSwxOzq18ToCeHUnlUCnMJ8jboUxEvMA9wI8DV4CnReQRpVTI3Ecp9dsp+38AuCnlJWaVUofzbcdm2dNSQ5lHtsyMSI3GKkKDMYKBOirKVu8jU/3A33Rom11NKxhmIjw1ELQ3VNFYU14SCWMregS3AGGl1Dml1ALwAHD7Ovu/E7jfgvfNi3Kvh72ttSV7B6PRFAqztEQqDTXltPoqS/Z6WlUMrfaCRISe9nodCAx2AJdTlq8Y665DRPYA+4D/SlldJSInReRJEXlHpjcRkbuM/U5Go9ZY4wX9Pp0j0Gg2QWRqjujU/DX5AZMOf23JSkjDkThlHmFPS80163vaGzgzPMXicsKmlllDsZPFdwAPKaVSi5LsUUodAd4FfFpEOtIdqJS6Vyl1RCl1xO/3W9KYYMDHxbEZFpbcfRI1mmJhJkbX9ghgVZJdisUcw5E4e1trKfde+5PZ017PwnLC9T0hKwLBALArZXmnsS4dd7BmWEgpNWD8PQd8h2vzBwUlGPCxnFBcGC39GikajRWsKIYyBILY3BJRw7WslAivUQyZrM4wdvfwkBWB4GmgU0T2iUgFyR/769Q/InIQaAL+O2Vdk4hUGs9bgdcDobXHFopSVzpAsiu/lfxkNYXl1FCMHY3VNNSUX7etVK+nhaUEF8dmrkkUm+xr9VFd7nX9xLK8A4FSagl4P/AN4BTwoFKqV0Q+LiJvT9n1DuABdW2/8RBwUkReAL4NfCJVbVRo9vtrgdL74qbyns//kN9/6EW7m6EpEczSEukoVRvYC6PJiXLpAoHXIxxsq3N9jyBv+SiAUupR4NE16z66ZvljaY77AXCDFW3IhZqKZNGsUg0E8fklTg9PcXE0WSu+qtxrd5M0LmZ2YZlz0ThvvaEt7fbt9VX4KstK7npKrTGUjp72eh5+bpBEQq3MOnYbW3ZmsUkp1xw6bXjKzi4u8/SFMZtbo3E7Z65OkVDp8wNgFnOsLbm5OebvgzmCsJae9gam5pe47OJZ1ToQBHycG4mTKMEaKaa5uEfgO2eskdxqti5morgnjXTUpMPvoz9SWuKLcCTOzqZqairSD6CUQsJYB4KAj7nFBAMTs3Y3xXJ6B2I011bw+mAr3zkTsbs5GpcTGpqkrrKMnU3VGffpCPgYjs0xNVc6AoVwJJ5xWAiga1sdXo+4OmGsA0GJKh1gdQbosS4//dFpLo+5t+uqsZ/QYIxD7UkPgkysJIyjpdErWE4o+qPppaMmVeVeOgM+3SNwM6Vqs7e4nODM8BQ97fUcPxAA4PGzenhIkxvLCcXp4amM+QGTUruxGhifZX4psW6PAJKVWHUgcDFNtRW01FaUzBfXpD8aZ2E5QXd7PR3+WnY2Ves8gSZnLo5OM7OwnLa0RCp7mmso90rJXE/haHIm9UaBoKe9gejUPJGpuWI0y3K2fCCA5LhmqSkdegdWE3siwvEDfn7QP8L80vIGR2o012MKDzbqEZR5PextKZ1ijhtJR03cnjDWgYDSrJESGopRVe5hX2vyC3y8K8DMwjInL4zb3DKNGwkNxijzCJ3b1v9BhOT1VCrF58KROK2+ChprKtbdz+wphXQgcC9Bv4/J2UVG4gt2N8UyegcnObi9Hq8xweV1wRYqvB6tHtLkxKmhGMGAj8qyjScldvh9XBqbKYne50aKIZP6qnJ2N9e4VjmkAwGll+BSShEajF0znltTUcYt+5p1nkCTE+k8CDJhFnO8OOpulZpSKutAALjam0AHAlICQYl0ZwcmZonNLV038ef4AT99kXhJzpnQFI6R+DxXY+k9CNJRKjdW0fg8sbmldaWjqfS013NxdIaYC+dQ6EAAtDVUUVvhLZliWb0ZSgUfP5D0cdDDQ5rNcCrLRLFJqRRzDF+93pVsPXrakx7Gp1zYK9CBAKNGSgnVHAoNxvAIHNx+7YXb4fexo1HLSDWbw0yAZqo6upZSKeYYTuNTvB5uVg7pQGAQ9JdOIOgdjLHf76O64trE3oqMNDyiXdk0WRMaitHeUEVT7frKmVRKoZhjOBLHV1nGtvrKrPYP1FfR6qvUgcDNlFKNlFPrJPaOdfmZXljmpK5GqsmStcKDbCiFYo7hSJyOgG/dkhprSSaM3acc0oHAoFRqpIxPLzAwMZuxQuTrgq2Ue4Xv6HITmiyYW1ymPxrPOj9gUgrFHMOROJ1ZDguZ9LTXE47EXSedtSQQiMhtInJGRMIicnea7b8sIlERed54vC9l2wkR6TMeJ6xoTy6UitJhJbGXIRD4Kst49d5mHtd5Ak0WnBk2PAg22SPo8LtbiRebWyQyNZ91fsCkp72BpYTi7LC7PnfegUBEvMA9wFuAbuCdItKdZtevKaUOG4/PGcc2A38EvAa4BfgjEWnKt025UCo1UrIpBXD8gJ8zV6cYdPHdmqY4rH6fGjZ1nNttK1dKS2QpHTVZTRi7a3jIih7BLUBYKXVOKbUAPADcnuWxPwF8Uyk1ppQaB74J3GZBmzZNqdRI6R2Msb2+ihZf5gSXrkaqyZbQYGxDD4J0NNdW0OziYo6r0tHNBYLdzTX4KstclzC2IhDsAC6nLF8x1q3lZ0XkRRF5SER2bfJYROQuETkpIiej0cL8gJVCjZTQYGxdBymAzoCP9oYqPZ9AsyGnDLP6XLx43azEC0fjVJR52NVcs6njPB6hu819CeNiJYv/DdirlLqR5F3/fZt9AaXUvUqpI0qpI36/3/IGQjIQXByddl2ix2RucZlwNL7heK6IcOxAgO+HR7WMVJORREIZgSC7CVVrMav6urGYYzgSZ39r7Uqtrs3Q3V7PqaEpll2kmLIiEAwAu1KWdxrrVlBKjSql5o3FzwGvyvbYYhIM+EgouDDizhopZ68mv3zZKDyOH/ATn1/imYu6GqkmPZfGZpjOwoMgE8GAj4mZRUan3VfM0ZSO5kJPez2zi8ucH3GPAtGKQPA00Cki+0SkArgDeCR1BxFpS1l8O3DKeP4N4M0i0mQkid9srLOFDpe7lfWumItvnNh7/YqMVA8PadKTa6LYxK0J47nFZS6Pz2w6UWxiXn9uGh7KOxAopZaA95P8AT8FPKiU6hWRj4vI243dfktEekXkBeC3gF82jh0D/oRkMHka+LixzhY6/D5EcG2eYDOJPV9lGUf2aBmpJjOhwRjeLD0I0tFh1hxy2fV0LjqNUuT8uTu3+ajwelzlTVBmxYsopR4FHl2z7qMpzz8MfDjDsV8AvmBFO/KlusLr6hopvYOTHGrPPrF3/ICfv/iP0wxNztLWsDlViKb0CQ3FCPp9VJVv7EGQjvaGaqrLva67njZbY2gt5V4PXdvdZWavZxavwa01UrI1F09lRUaqewWaNORSWiIVj0foCLhPkh2+OoVHYF9rbc6v0dPWQO/gpGsS5ToQrKHD784aKaa5+EbS0VS6tvloa6jS1Ug11zEan2c4Nrfp0hJrCfp9rssRhKNxdjfXZOXGlomeHfWMzywyNOkOM3sdCNbg1hopKx4EmwgEZjXS74dHWFzWMlLNKqeGpoDNl5ZYSzDgY3Byjun5JSuaVRQ240qWCbeVpNaBYA1urTkUGopR7hU6szTRMDnW5WdqfolntYw0b4YmZ0tmkl5oKKl4ydaDIBOrxRzdcT0tLSc4PzKds3TU5OD2ekTcoxzSgWANQZdKSHsHY3QG6qgo29wpfX2wlTKPrkaaLzMLS7zn8z/kf3zxaSZm3KebX0toMEZbQxXNm/AgSIfbAsGlsRkWl1XO0lGT2soy9rXW6h6BW2mqraDFhTVSck3s1VWV86o9TTpPkAdKKf7gn1+iLxInoeB74RG7m5Q3p4Y2JzzIxO7m5Oxct1xPZjs7t+U2mzqVV7Q3uEZCqgNBGsyp8W4hEptjJD6/qURxKscPBDg1FONqzB2JLafx5acu8a/PD/LBN3VSX1XGEy7vXWVbqiQbKso87GmpcU8gMK57cw5EPvS01zMwMcu4C2ZW60CQBlNC6hbpV+8mzcXXYpraaxnp5nnh8gR/8m8hjh/w88E3dfKGzlaeODvimu9OOvquxllOqLzzAyZuKj4XjsTZXl9FXVV53q9lzjA2Z2g7GR0I0hD0+5icXWQk7vxIDinm4jnewR3cXsf2+ipdbmKTjE8v8BtfeRZ/XSWf+oXDeDzC0U4/w7E5zl51xw9fOsxEsRVDQ2AWc5xxhTLNCsWQiZu8CXQgSIPblEOhwRi7m2uoz/EuRkQ41uXnu30jLLngYnUCiYTitx98nsjUHPfcefOKsfvRrmTvys3DQ6HBGLUVXnZvsgRzJoIBH0sJxcVRZxdhU0rRb2EgaKqtoL2hyhUJYx0I0rASCFySJwgNbexBsBHHD/iZmlvi2UsT1jSqxLnn22G+cybKR9/WzeFdjSvr2xurCQZ8PNHn4kCQhwdBOtxyYzU0Ocf0wnLe0tFUutsbdCBwK20NVdRWeF0xIzI+v8T5kem8u/Gv7zRkpCWigy8k3+sb4a+/dZbbD7fz7tfuuW770U4/T50fY3bBfb4WSQ+CKUsSxSZmVd/+qLN7BLnaU65HT3s956Jxx38XdCBIg4gklUMuCASnjURUz478Ltz6qnJu1jLSDRmenOODDzxHh9/Hn//0DYhcf9d8tKuVhaUET50ftaGF+XF5fIb4/JJl+QFIaurbGqocfz2tSketDQQJBaeGnd0r0IEgA25ROqyUlsixZnwqxw/4CQ3FiGgZaVoWlxP85lefZXZxmc+++2ZqK9MX733t/hYqyzw8cdZ98wlCOZQqyQY3FHMMR+M01pTTkuckulR6dpjeBDoQuJKOgI/h2BxTc4t2N2VdQoMxmmsr2Faf2aw+W453JauR6lnG6fmLR0/zzMVxPvmzNxJcp5RHVbmXW/Y1uzJPEBpKehB0WTChKpUOf9IP3MnFHMOROEG/L20vL1faG6porCkn5HDlkCWBQERuE5EzIhIWkbvTbP+QiIQM8/rHRGRPyrZlEXneeDyy9li7WJ0a7+xxzd6hSXra6y358h5qq2NbfSWP60BwHY++NMQXvn+eX37dXn7qle0b7n+sy084Endd8cLQYIwOf23OHgSZCAZ8zCwsM+Tg3qaV0lETEaGnvb70ewQi4gXuAd4CdAPvFJHuNbs9BxwxzOsfAv4yZdusUuqw8Xg7DsENSofF5QRnh+OWjeeuyEjPRrWMNIVz0Ti/99CLHN7VyB+89VBWx7hVRnpqKGZpfsDE6dfT2PQCY9MLlgcCSE4sOz085eh5FFb0CG4Bwkqpc0qpBeAB4PbUHZRS31ZKmY7wT5I0qXc0e5prKPc6u0ZKOBJnYTlh6Xjusa4Asbklnr88YdlrupmZhSV+/cvPUu4V7rnz5qyL+nUGfGyvr3JVIBifXmBwcs7y/AA4PxCY7bJSOmrS017PwlLC0YX3rAgEO4DLKctXjHWZeC/wHynLVSJyUkSeFJF3ZDpIRO4y9jsZjRb+4irzetjb4mx3pdCKWb11F+4bOlvxekSrh0hOMPrDf3mZs5Ep/uaOm9jRmL2dp4hwtKuV74XdM0nvlKFAs6q0RCottRU01pQ79sewENJRk5UZxgPOHR4qarJYRN4NHAH+KmX1HqXUEeBdwKdFpCPdsUqpe5VSR5RSR/x+fxFam7yLceoXF5KJvapyD/tarfvyNlSXc/PuRl1uArj/h5f55+cG+OCbOleGejbD0a7kJL0XrkxY37gCECpgIBAROhysxAtH4lSXezcV7LNlX6uP6nKvo/MEVgSCAWBXyvJOY901iMitwEeAtyul5s31SqkB4+854DvATRa0yRKSNVKmmV9y5mSQ3sFJDm6vx2vRDFCT4wcCvDwQIzLl3MReoXnpyiQfe6SXH+1s5QNv7MzpNd4QbMUj8LhLZKShwRjb6itp9eWvQEuHk20rw9E4HYFay2ZTp+L1CAfb6hxdc8iKQPA00Cki+0SkArgDuEb9IyI3AX9PMghEUtY3iUil8bwVeD0QsqBNlhAM+EgouDAys/HORUYpRWgw/9IS6Ti2kuh0xw+Y1UzMLPDrX3mGVl8Ff3PHTTkH2saaCl65q9E1eYJQgRLFJsGAj9HpBUeWZe43pKOFoqe9ntBQzLFVafMOBEqpJeD9wDeAU8CDSqleEfm4iJgqoL8CfMA/rZGJHgJOisgLwLeBTyilHBMIOhzsVnZlfJbY3FJBEns97fX46yq3ZLmJRELxOw++wNVYsphcvg5dRzv9vHhlwvGuZXOLy4Qj1ngQZMKpNbym55cYmJgtiGLIpKe9gam5JS6POVNOnH5q5CZRSj0KPLpm3UdTnt+a4bgfADdY0YZC0OH3IeLMQBDK04NgPUwZ6TdDV1laTlDm3TrzDj/zeD+PnY7wx2/v4abdTXm/3tEuP3/zWB/fC4/wths3nn9gF+FInKWEsmSGeiZSlUOv3ttcsPfZLGYesLCBYLUk9e4Wa6q6WsnWucJzoLoimTxy2h0MJKeseyRpkl0Ijh/wMzm76JpEpxX8oH+E/+8/z/BTr2znPT9yfTG5XHjlzgbqq8ocb/pTqNISqexorKaq3OO4G6sVxVABA0HXtjq8HnFswlgHgg1wao2U0GCM/X4f1RXWzgA1+dGgH4+wZWSkw5Nz/Nb9z7GvtZZP/Ez6YnK5UOb1JF3L+qKOHR+GZA+zpsLLHos8CNLh8Qj7W52nxAtH4pR5hD0t+dtTZqKq3EtnwOfYhLEOBBsQ9Ps4F01a9zmJ0OBkQRLFJg015dy8e2tUI11cTvCB+59lZmGZz777VRmLyeXK0U4/V2PzjnYtCw1a60GQCSdW9Q1H4uxpqaG8wEOg3Q4uNaEDwQYEAz7mlxIMjDsnybMyA7SACg9IDg+9NDDJSHx+451dzF9+/TRPXxjnL37mBjotLrYGzi83oZQqWGmJtQT9PgYmZh1Vnz8cjdO5ThFBq+hpbyAyNU90ynnXkw4EG7CqdJiyuSWrmDNATXPsQnH8QLIaqVN/wKzg6y8P8b++e55feu0ebj+83oT43HG6a9mV8Vmm5gujQFtLMOBDKRwzPLSwlODi6ExB8wMmTvYw1oFgA5xYI6W3CIk9SCqSWn2VJTs8dH5kmt/9pxd55a5G/vBt2RWTy5VjXc51LTO/T4WYUbyW1aq+zrieLoxOs5xQRQkE3SuBwHnDQzoQbEBjTQWtvgpHBYLQUIy2hqq8Ne4b4fEk6+U80Rd1XI4kX2YXlvn1Lz+D1yvc866bqCwrTNLd5GiX37GuZaGhpALtQAGGxdayt7UGj4Mk2cVQDJnUV5Wzu7lmRaHlJHQgyAKn1UjpHZwsynguJIeHJmZKS0aqlOL/efhlzlyd4tO/eJidTYXXdb9mX7NjXcsKrUBLpbLMyx4HFXM027HfXzjFUCpJbwI9NORKTAmpE+R/c4vL9EenC6oYSuVoZ2vJyUi/9vRlHnrmCh/4seBKHqTQmK5ljzuwmF+xEsUmpluZEwhH4uxorKamwlqlWCZ62uu5MDrjOOdDHQiyIBjwEZtbIuoA9cyZ4SmWE6ooiT1IDo0d3tXI4yVSbuLlgUk+ahST++CtXUV972Ndfvqj045yLZuYWWBgYrZo3yeAjkAt50emHVGeuxCuZOthCjxODTlHfAI6EGSFkxLGq6UlCqsYSuX4gQAvDkwy6oBAmA+Ts4v8xleepbmmgk//4mHLq7ZuhBNlpIUsVZKJoN/H4rLi0pi9xRwTCcW5kTidRQ0EzlQO6UCQBStKBycEgsEYdZVl7Gq2vm56Jo4f8KMUjpU/ZoNZTG5wYpZ77ryZlgKVWl4PJ7qWhYqoGDJxyo3VwMQsc4uJovYIAvVVtPoqHacc0oEgC7bXV+GrLLP9iwvJO4lDFpnVZ8sr2hto9VW4Ok/w90+c41unrvIHbz3Eq/bkX0wuF5zoWhYaihGoq8RfV7zA2OGQKqTFVAyl4kQzex0IsiDprlRr+xd3OaE4PTxVtESxiccjHO3088RZd8pI/7t/lL/6xml+8sY2fuX1e21ty7GugKNcy0KDsaLmByApo9xWX2n7jVVfJDlOb0cg6Ls65SjDKx0IssQJNVIujE4zs7Bc1PFck2MH/IzPLPKiQ37AsiUSm+MD9z/H3tZaPvmzNxa1J5UOJ7mWmYbqdnyfggH73crCkTitvgoaawo7H2ctPe0NLCUUfQ6qPaUDQZYEAz6uxuaJ2Sj7WjWrL16i2ORop/uqkS4tJ3j//c8xPb/EZ+58FT6Li8nlQkNNuWNcy/oiUywuF0+BlkrQ76M/Om2rJDscia+YTxUTJyaMLQkEInKbiJwRkbCI3J1me6WIfM3Y/pSI7E3Z9mFj/RkR+Qkr2lMITBs7O+9iegdjlHul6F1ZgKbapO3i4w74AcuWv/rPM/zw/Bh//jOv4MD2ws+azZajnX5euDJhu2XjigeBDT2CjoCP+PwSV2P2KNGUUkWXjprsbq7BV1nmqDxB3oFARLzAPcBbgG7gnSLSvWa39wLjSqkg8Cngk8ax3SQ9jnuA24D/abye43CC0iE0FKNrWx0VZfZ05I53BXjhygRjDvScXct/9g7z94+f487X7Oanb9ppd3Ou4WhXUoX1vbC9w0OhoRjV5d6C1uHPRNBmG9hofJ7Y3JItgcDjEbrbnJUwtuIX5RYgrJQ6p5RaAB4Abl+zz+3Afcbzh4A3SXKw9nbgAaXUvFLqPBA2Xs9x7G6uocLrsS1hnDSrL15piXSYMtLvOlxGenF0mt/5pxe4cWcDH/2ptfck9mO6ltk9PBQajHGwra7o8ykg9cbKnolVZgAqRvnpdHS313NqKOYY8YUVgWAHcDll+YqxLu0+htn9JNCS5bEAiMhdInJSRE5Go8W/gMq8Hva21tg2NBSdmmckvmDLeK7JDTsaaK51tox0ZmGJX/vys3hEuOddNxe8mFwuOMG1TClFqMilJVLx11VSV1Vm241Vv03SUZOe9npmFpa5MDpty/uvxTXJYqXUvUqpI0qpI36/35Y22Glb2VskD4L1SMpIW3nibJSEQ+5kUkkkFB/62gucGY7x6TsOs6uAtov5Yrdr2ZXxWabmiuNBkA4RsfV66ovE8VWWsa2++BMLYfU6dsrwkBWBYADYlbK801iXdh8RKQMagNEsj3UMQb+PS2MzzC0WX/+7OgPU3qTn8QMBRqcXeGnAOYoHk7/+5lm+3jvMH7z1ED9WpGJyuWJ3uQk7SkusJej3EY7Yc0ccjsTpCPhskxN3bvNR4fU4RjlkRSB4GugUkX0iUkEy+fvImn0eAU4Yz38O+C+V7BM/AtxhqIr2AZ3ADy1oU0HoCPhIKGzpzoUGY+xpqaGuqrzo753K0S4/4kAZ6b8+N8DffTvMHa/exXvfsM/u5mxIe2M1nTa6loUGkx4EB7fbGAgCPkbi80zOFF+SHY7EVxLWdlDu9dC13ecYb4K8A4Ex5v9+4BvAKeBBpVSviHxcRN5u7PZ5oEVEwsCHgLuNY3uBB4EQ8HXgN5VSzplutwY7lUPF9CBYj+baCm7c2ch3HFRO+ZmL4/ze/36R1+xr5uO3v8L2SWPZctRG17LQUIx9rbVF8SDIhKnhL3aeIDa3SGRq3rb8gElPWwO9gzFHlLe3JEeglHpUKdWllOpQSv2Zse6jSqlHjOdzSqmfV0oFlVK3KKXOpRz7Z8ZxB5RS/2FFewpFh9+H2OCuFJ9f4sLoTNFLS2TieJef5y/br4MHuDI+w69+6SRtDVV89t2vsk1amwuma9mTNriWJUtL2JdvAvuKOdpVY2gtPTvqGZteYDg2Z2s7wEXJYidQVe5lZ1N10QOBaVZvp2IoFadUI52eX+J9951kfjHB508coanA1p1Ws+paVtz/4+TsYtKDwOYe5q7mGirKii/JXpWO2hwIzBnGA/YPD+lAsEmCNthW2llaIh037mykqaacx23MEyQSig8+8Dxnr07xd3feTNAmPXg+mK5lxQ4ETrmx8HqE/a3Ft63sj8SpKPPYrio7uL0eEWcoh3Qg2CTBgI9zI9NFnQjSOzhJS20FgSKWCl4Pr0c42uXncRtlpH/5jTN869RVPvq2bo512SMntgI7XMvsLC2xFjuKOfZF4uxvrbVlIl0qtZVl7GutdYRySAeCTRIM+FhYSnBlvHjuSqGhZKlgJyVBjx/wMzq9YMvdzEPPXOGzj/dz52t2c+J1e4v+/lZih4w0NBSj1VdcD4JMBP0+Lo8XV5JtSkedQE97g+4RuJFiK4cWlxOcHY7b3o1fy9FOU0ZaXPXQyQtj/ME/v8TrOlr42Nt7HBUcc8EO1zI7PAgyEQz4UArOjxRHkj23uMzl8RlbpaOp9LTXMzAxy8SMvcILHQg2SdCfHIsuViAIR+IsLCcc0Y1PpcVXyY07GvhOEX/ALo/N8KtfeoYdTdX8zztvptzr/q+viHCsy18017KFpQR9kSnHfJ86ilx87lx0GqXsVwyZmAlju+cTuP9KKjINNeW0+ornruS0RHEqxw4EeO7SeFHuZuKGQmhxOcHnThwpuplIITna5S+aa1k4ErfNgyAd+/21RZVkmwol5wQCZ5Sa0IEgB4KB4tlW9g4mSwXvay1+qeCNOH7AT0LBd/sKW055OaH44P3PEY7GuefOm20xEykkK65lRVBhOaG0RCpV5V52NdUU7XoKR+J4BMdcT821FbQ1VNmeMNaBIAfMYlnFmBEYGpq0rVTwRrxyZyONNeUFLzfxya+f5rHTET72U938aKd7FUKZMF3LHi9wQIVkD7Oq3OOYH0Iorm1lfyTO7uYaqsqdU5XWCWb2OhDkQNDvY2puiehUYd2Vkh4E9pUK3givR/jRzsLKSB98+jL3PnGO9/zIHn7pR/YW5D2cwNFOPy8WwbUsNDTJwe31jrqxKKYkuy8y5ZhhIZPu9gb6o3FbSo2Y6ECQA+bkpUKPa14ZnyU2t+TI/IDJ8S4/I/H5lSEHK3nq3Cgf+deXeEOwlY++zXkGM1ZSDNeylRsLh+QHTIL+pCT78lhhJdlLywnOj0w7Rjpq0tNeT0LBqWH7egU6EOTAioS0wOOaZnfRaRduKqYO3moZ6aXRGX7ty8+wq7mGe951M2UloBBaj2K4lg1OzhGbW3JcD9P8Ye4v8PV0aWyGxWXlGOmoyaqZvQ4ErmJbfSW+yrKC9whCQ8lSwQe2Obd8gr+ukht2NFiaJ4jNLfLe+54moeDzJ15NQ429pbeLQTFcy0IOvbEoln+xU4rNrWVHYzUN1eWEbEwY60CQAyJSlKnxocEYHX6fraWCs+H4AT/PXhq3pK780nKCD3z1Oc6PTPOZd9/sqKRmoTnWVVjXstBgDBE4uN1ZNxbFkmSbPXinDQ2JiO0JYx0IcqQYxedCg5OOu3tLx4qMNJx/r+DPHz3N42ej/PHtPbyuo9WC1rmHQpebCA1Nsq+llpqKsoK8fj4UQ5IdjsTZVl9Jvc3mTunoaa/n9PAUi0WYVJgOHQhyJBjwEZmaJzZXGHel8ekFBifnHONBsB6HdzXRUJ1/NdKvPnWJL3z/PL/y+r3c+Zo9FrXOPbQ1JF3LHi9YIIhxyKHfp2JIsvsjcTodWqW2p72BhaVEwfMkmcgrEIhIs4h8U0T6jL9NafY5LCL/LSK9IvKiiPxiyrYvish5EXneeBzOpz3FpNA1h1Yn/jhXMWSSlJG28vjZ3Me3f9A/wkcffpmjXX4+8tZDFrfQPRzt8vPDC9a7lk3OLnJ5zH4PgkwUWpKtlEraUzpsWMjEbm+CfHsEdwOPKaU6gceM5bXMAO9RSvUAtwGfFpHGlO2/q5Q6bDyez7M9RaPggcChib1MHD8QIDKVm4z0/Mg0v/7lZ9nbWsvfveumklcIrUehXMtOO8SDIBOFlmQPTc4xvbDsuPyAyX6/j6pyj215gnyvuNuB+4zn9wHvWLuDUuqsUqrPeD4IRADXTw/d1VRNhddTsBmRvYOTtDVU0ewS161jKzLSzQ1rTM4mFUIi8PkTRxw5fltMCuVaZgboHqf2CAosIV1RDDlMOmri9QgHt9fbVmoi30CwTSk1ZDwfBratt7OI3AJUAP0pq//MGDL6lIhkLJAuIneJyEkRORmN2muRCEm5374CuiuFhmKuyA+Y+OsqecWO+k3lCZaWE7z/q89yaXSGz777Vexp2ToKoUwUyrUsNBij1VfhCA+CdBRaku1U6WgqPe31hIbsMbPfMBCIyLdE5OU0j9tT91PJ1mf8BCLSBnwJ+BWllJka/zBwEHg10Az8fqbjlVL3KqWOKKWO+P3O6FAEA76CKB3mFpfpj047djw3E8e7AjxzaZzJ2ewS6H/676f4bt8If/bTr+C1+1sK3Dr3UAjXstBQjENtzjI3SkVE6PAXTjkUjsZpqC6n1efcHnZPewNTc0tcHiueW53JhoFAKXWrUuoVaR4PA1eNH3jzhz7t9FIRqQf+HfiIUurJlNceUknmgX8AbrHiQxWLjoCPy2PWuyudGZ5iOeGcUsHZcvyAn+WE4vtZlEn40pMX+eIPLvC+N+zjF1+9uwitcw/HLJaRLi4n6LvqPHOjtRRybo6ZKHZqIITUGcbFHx7Kd2joEeCE8fwE8PDaHUSkAvgX4B+VUg+t2WYGESGZX3g5z/YUlWDAR6IA7kor47kOrjGUjsO7GqmvKtuw3MT3+kb42CO9/NgBPx/ewgqhTAQDPtoarHMt648609xoLcGAj6uxwkiyk9JR5w4LARzYnqwybEfCON9A8Angx0WkD7jVWEZEjojI54x9fgE4CvxyGpnoV0TkJeAloBX40zzbU1QKNTW+d3CSuqoydjZVW/q6habM61mpRpppnPNcNM5vfOUZOvy1/O07b3JUFUynICIc7bTOtWzV3MjhgcC4nqwWYIxNLzA6veDo/AAk80NBv899PQKl1KhS6k1KqU5jCGnMWH9SKfU+4/mXlVLlKRLRFZmoUuqNSqkbjKGmdyul7JlNkSOFclcyS087uRubiWMHkmUSTg1NXbdtcmaR9953kjKvh8+feDV1W1whtB6ma9nzlyfyfq1VDwJn/xAWSpJtvp5TpaOp2FVqYusKti2gEO5KywnFqaEpx4/nZuK4KSM9e+3w0OJygt/46jNcGZ/h73/pVexqrrGjea7BdC2zYngoNBTjgMM8CNKxu7kmKcmOWjvU6nTpaCrd7fVEpuYL7nWyFh0I8sRqd6ULo9PMLi67Lj9gEqivorut/pr5BEopPvZIL98Pj/LnP30Dr97bbGML3YFVrmVKKUJDMbrbnFlaIZUyr4e9rTUF6RFUl3vZ0ej8odZVD+PiDg/pQJAnVrsrrXgQODyxtx7HD/h59uL4StLvH//7Il956hK/enQ/P39kl82tcw9WuJYNTc4xMbPomu9Th99n+aSycDTOfn8tHof3iGB15nexh4d0IMgTq92VQoMxKrwexye21uP4gQBLCcUPwiM8cTbKH/9bL7ceCvB7tx20u2muwgrXMreVKgkGfFwcnWZ+yTpJdr+DawytpaG6nF3N1SvnrVjoQJAnHRYnuEJDMTq3+agoc++puXl3I3VVZXzpyYv85lefpWtbHZ++QyuENssrdzbQUF2eV54gNJT0IDiw3T2BIKHgwog1N1bT80sMTMy6Ij9g0tPWoIeG3IaVtpVJT9lJ13TjM5GUkbby/fAolWUePnfiCL5K59XAdzplXg9vCObnWhYajLG3pdY1//8OiyXZ54zEc+c2FwWC9noujM4wVaAS9+nQgSBPGqrL8ddZ464UnZpnJL7geL13NvzkDe1Ul3v5+196FTubtEIoV452tXI1Ns+Zq9fLcbMhmSh2z/epw++zVJLdF0n+39wyNATQsyN5vtJJsAuFDgQWYJVb2apZvTsVQ6n85I1tvPBHb+ZVe7RCKB/ycS2bmlvk0tiMa/IDANUVSXWPVQnjcCROmUdcVdDQDuWQDgQWYEpI860aaJaWOOQCqV82uDnP4RRM17Inzm4+YXx6OHlH6aYeAay6lVlBOBJnT0sN5S7yuAjUVdLqqyiqcsg9/x0HEwz4mJpfIpLnJJDewUn2tNToGbeaa8jVtcxtiiGTDr+PcyNxEhZIssNR9yiGTESE7vYGHQjchlVT40OD7vIg0BSHXF3LQoMxWmorCDjUgyATwYCPucVE3mW4F5YSXBydcV0ggGTCuO/qlKUy2vXQgcACrAgEU3OLXBidcV03XlN4cnUtCw3F6G53X80qq26sLo4mJ3q6NRAsJRR9V4tTfk0HAgsI1FVSl6e7kjme69bSEprCUVXu5TX7WzYVCBaXE5y5OsUhF95YWFXV1zy+M+C+nFuxE8Y6EFiAiORtquHW8VxNcTja2Up/dJor49lNtDoXnWZhyfkeBOloqq2gpbYi70DQZxy/3+8exZDJnuYafJVlRcsT6EBgEfnaVvYOTrpyPFdTHFZdy7JTD4WGkneSbr2x6AjkX3MoHImzo7Gamgp3TKZLxeMRDrXVuSMQiEiziHxTRPqMv00Z9ltOMaV5JGX9PhF5SkTCIvI1w83MlQQDPqJT81n79a7FreO5muKwWdey0GCMijIP+1vddzcMqzdW+Uiywy6qMZSOnvYGTg3FLCtouR759gjuBh5TSnUCjxnL6ZhNMaV5e8r6TwKfUkoFgXHgvXm2xzbyGddcXE5wdtj5nrIa+zBdy77fn51rWWgoxsHtdZS5SD+fSoffx8TMIqM5Vl5NJBTnRtwdCLrb65lZWObCqLX+DOnI91tyO3Cf8fw+kr7DWWH4FL8RMH2MN3W80zC/cLl4E4QjSU9ZnSjWrEe2rmXJmlXuKi2xlnyVQwMTs8wtJlwdCHqKWJI630CwTSk1ZDwfBrZl2K9KRE6KyJMi8g5jXQswoZRaMpavADvybI9t7GquoaLMk1OeoBQ8CDSFJ1vXsuHYHOMzi67uYeYbCFZcyVwcCDoDdZR7pSjKoQ2zKCLyLWB7mk0fSV1QSikRyTSYtUcpNSAi+4H/MgzrN/XpROQu4C6A3bt3b+bQouD1CPtba3P64oYGY1SXe9nn0vFcTXFIdS370JsPZNzv1JD7byzaG6qoqfDmHwhcVH56LRVlHrq21RXFm2DDHoFhSv+KNI+Hgasi0gZg/I1keI0B4+854DvATcAo0CgiZjDaCQys0457lVJHlFJH/H7/Jj5i8chVQto7OMnBtjpdr1+zIce6NnYtM384Dro4EIhIXm5l4UicVl8FTbWu1Z8Aq2b2+dYx24h8h4YeAU4Yz08AD6/dQUSaRKTSeN4KvB4IqeQn+zbwc+sd7yaCfh+Xx2eYW8x+WrjpKatLS2iywXQt++46rmWhoRh7W2pc40GQiXz8wPsiUyveBm6mp72BsekFhmNzBX2ffAPBJ4AfF5E+4FZjGRE5IiKfM/Y5BJwUkRdI/vB/QikVMrb9PvAhEQmTzBl8Ps/22Eow4EOpVTOMbLgyPsvU3BLdbTpRrNmYV+5s3NC1LDQYc3V+wCQY8DE4Ocf0/NLGO6eglHK9dNRkJWE8UNjhobxuGZRSo8Cb0qw/CbzPeP4D4IYMx58DbsmnDU4i1a0s2wuxV88o1mwCr0d4Q7CV7xquZWvnncTnl7gwOsPP3rzTphZaR4cxI7g/GufGnY1ZHxeNzxObWyqJQHCorR6R5O/Erd2ZtDj5406RsUPZ11qLZ5PuSqGhGB6Bg9vdVw9FYw/ruZadHiqdG4tclUOloBgyqa0sY19LbcGVQzoQWEhVuZddzTWbGtcMDU7S4fdRVe4tYMs0pcR6rmWhEgoEe1pqKfPIpgNBfwkFAkiey0LPJdCBwGI2a1upPQg0m2U917LQYIymmnK211fZ0DJrKfd62NNSk1OPwFdZVhL/A0gmjAcmZpmYyW2WdTboQGAxwYCP8yPTWZUBGJ9eYHByriTu3jTFJZNrWanVrMqlmGM4Gqcj4CuZ/4F5o1jI+QQ6EFhMR8DHwnKCy+MbuyuZ3XhdWkKzWY6lcS1bWk5wenjK1RPJ1hIM+Lg0OsNiFjdWJn1X466eSLaWYpSa0IHAYjaT4DITQKV04WqKwy2Ga9njZ1bzBOdGDA+CEuphBgM+lhKKi1kWXovNLRKZmi+Z/ABAi6+S7fVVBU0Y60BgMZsJBKHBGO0NVa6f/agpPiuuZX2rgWC1tETp9DA7NlnVt5QUQ6n0FDhhrAOBxdRXlROoq8wuEAyVxsQfjT0c7WzlXIpr2YoHgQsduTKhA0GSnvZ6+qPx63JCVqEDQQHIJsE1t7hMf3RaDwtpcmata1loKMaBbXWUu9SDIB21lWW0N1RlHQj6I3EqvB52NVUXuGXFpbu9gYSC08OF6RWUzjfGQZg1UtYrFHVmeIrlhKJbJ4o1OZLqWlYKHgSZ6NiEcigcibOvtda1hjyZKHTCuLT+Ww6hw+8jPr/E1dh8xn3ME6rnEGhyJdW1bHByjtHphZIcakzeWE2TyMKyMRyNE9xWWsNCADubqmmoLteBwE1kkzAODU1SV1XGzhLrwmqKi+la9tWnLgLJ2jSlRjDgY3ZxmaENKnDOLS5zaWympKSjJiJCd1s9oQIph3QgKACrgeD6WjAmvUY3vlQmvWjswXQt+9J/JwPBwbbSq1mVrR/4ueg0SpVeotikp72e08NTWU1W3Sw6EBSAQF0ldZVlGcc1lxOK00NTeiKZJm8aaso5vKuR2NwSu5trqK8qt7tJltORpSTbvN5KNhDsqGd+KUH/JsrcZ4sOBAVARNZ1Kzs/Ms3s4nJJjudqio9ZhK4UE8UALbUVNNaUbxwIInE8Qslavh7t9PPAXa9lT0uN5a+tA0GBCAZ8hCPpI/dqaYnSvHA1xcUMBKWYH4DkjVXQv7FbWX8kzq7mmpKt5Nviq+S1+1sK8vnyCgQi0iwi3xSRPuNvU5p9fkxEnk95zInIO4xtXxSR8ynbDufTHicRDPgYic8zObN43bbQYIwKr6dku7Ca4nJ4ZyMffstBfvHVu+xuSsHIZm5OOFJaNYaKSb49gruBx5RSncBjxvI1KKW+rZQ6rJQ6DLwRmAH+M2WX3zW3K6Wez7M9jmElwRW9PmHcOzhJ13ZfSU380diHxyP86rEOtjeURtnldAQDPsamFxibTl+KeWk5wfmR6ZKUjhaDfH+JbgfuM57fB7xjg/1/DvgPpdRMnu/reDJJSEt54o9GUyjMhHF/hl7BpbEZFpYTukeQI/kGgm1KqSHj+TCwkanmHcD9a9b9mYi8KCKfEpHKTAeKyF0iclJETkajmY27ncKu5hoqyjzXBYLI1Hxy4o8OBBpN1mwkIS3VGkPFYsNAICLfEpGX0zxuT91PJespZJz6JyJtJE3sv5Gy+sPAQeDVQDPw+5mOV0rdq5Q6opQ64vf7N2q27Xg9wv7W2uu+uKa5RM8OLR3VaLJlR2M1VeXX31iZmPmDDh0IcqJsox2UUrdm2iYiV0WkTSk1ZPzQR9Z5qV8A/kUptZI9TelNzIvIPwD/d5btdgUdAR8vXpm4Zp1ZU1yb1Ws02ePxCPtbM0uyw5E42+orS3IeRTHId2joEeCE8fwE8PA6+76TNcNCRvBAktNr3wG8nGd7HEXQ7+PK+Cxzi6ulY0NDMfa21FCnv7AazaYIrjM3pz8S18NCeZBvIPgE8OMi0gfcaiwjIkdE5HPmTiKyF9gFPL7m+K+IyEvAS0Ar8Kd5tsdRBAM+lLo2wRUa1B4EGk0uBAM+BiZmmVlYuma9Uor+6LROFOfBhkND66GUGgXelGb9SeB9KcsXgB1p9ntjPu/vdFKVQz3tDUzNLXJhdIafP1K6em+NplCY19O56DSvSMmxDcfmiM8v6R5BHmghewHZ11qLR1iZEXl6ODmnQCuGNJrNE8wgIV1VDOm8W67oQFBAqsq97GquWVE09A4kE8W6tIRGs3n2tNTg9ch1eYK+q1o6mi86EBSYoH81wRUaitHqq8Bfl3G6hEajyUBlmZfdzTXXBYJwNE5DdTmtvgqbWuZ+dCAoMMGAj/Mj0ywtJ+gdjHFIexBoNDnT4b9eORQ2FEP6usodHQgKTEfAx+Ky4tzINH1X49qDQKPJg2DAx4XR6WvMWfp1sbm80YGgwJjjll9/eZiF5YSWjmo0eRA0bqwujiXLlY1PLzA6vaDzA3miA0GBMb+gDz8/AOhEsUaTDyvKIWN4qNRdyYqFDgQFpr6qnEBdJf3RaarLvextKU33JI2mGHT4k9ePGQB0sTlr0IGgCJhf0kNtdXg9OqGl0eRKXVU52+urVgJA39U41eVedjRW29wyd6MDQREwA4HOD2g0+dMRqL1maGi/vxaPvsHKCx0IioAZCLRiSKPJn6DfR390OlljSBebswQdCIrAkT3NVJV7uGVfs91N0WhcTzDgIz6/xLmRaQYmZrV01ALyKjqnyY7u9npO/8lb7G6GRlMSmOYz/9l7FdCJYivQPQKNRuMqVubm9A5fs6zJHR0INBqNq/D7KqmvKuOFyxOUeYQ9WpKdNzoQaDQaVyEiK72APS01VJTpn7F8yes/KCI/LyK9IpIQkSPr7HebiJwRkbCI3J2yfp+IPGWs/5qI6PKBGo1mQzqMBLEeFrKGfEPpy8DPAE9k2kFEvMA9wFuAbuCdItJtbP4k8CmlVBAYB96bZ3s0Gs0WwAwAOhBYQ16BQCl1Sil1ZoPdbgHCSqlzSqkF4AHgdsOw/o3AQ8Z+95E0sNdoNJp10YHAWooxuLYDuJyyfMVY1wJMKKWW1qxPi4jcJSInReRkNBotWGM1Go3zeV1HK+97wz7eeHCb3U0pCTacRyAi3wK2p9n0EaXUw9Y3KT1KqXuBewGOHDmiivW+Go3GeVRXePnDt3VvvKMmKzYMBEqpW/N8jwFgV8ryTmPdKNAoImVGr8Bcr9FoNJoiUoyhoaeBTkMhVAHcATyilFLAt4GfM/Y7ARSth6HRaDSaJPnKR39aRK4APwL8u4h8w1jfLiKPAhh3++8HvgGcAh5USvUaL/H7wIdEJEwyZ/D5fNqj0Wg0ms0jyRtzd3HkyBF18uRJu5uh0Wg0rkJEnlFKXTfnS0/J02g0mi2ODgQajUazxdGBQKPRaLY4OhBoNBrNFseVyWIRiQIXczy8FRixsDluQH/mrYH+zKVPvp93j1LKv3alKwNBPojIyXRZ81JGf+atgf7MpU+hPq8eGtJoNJotjg4EGo1Gs8XZioHgXrsbYAP6M28N9GcufQryebdcjkCj0Wg017IVewQajUajSUEHAo1Go9nibKlAICK3icgZEQmLyN12t8dqRGSXiHxbREIi0isiHzTWN4vIN0Wkz/jbZHdbrUZEvCLynIj8H2N5n4g8ZZzrrxkl0EsGEWkUkYdE5LSInBKRHyn18ywiv218r18WkftFpKrUzrOIfEFEIiLycsq6tOdVkvyt8dlfFJGbc33fLRMIRMQL3AO8BegG3ikipWZxtAT8jlKqG3gt8JvGZ7wbeEwp1Qk8ZiyXGh8kWebc5JPAp5RSQWAceK8trSocfwN8XSl1EHglyc9esudZRHYAvwUcUUq9AvCS9DYptfP8ReC2Nesynde3AJ3G4y7gM7m+6ZYJBMAtQFgpdU4ptQA8ANxuc5ssRSk1pJR61ng+RfLHYQfJz3mfsdt9wDtsaWCBEJGdwE8CnzOWBXgj8JCxS0l9ZhFpAI5i+HcopRaUUhOU+Hkm6ahYLSJlQA0wRImdZ6XUE8DYmtWZzuvtwD+qJE+SdHxsy+V9t1Ig2AFcTlm+YqwrSURkL3AT8BSwTSk1ZGwaBkrN8fvTwO8BCWO5BZgwTJGg9M71PiAK/IMxHPY5EamlhM+zUmoA+H+BSyQDwCTwDKV9nk0ynVfLftO2UiDYMoiID/jfwP+llIqlbjMsQktGMywibwMiSqln7G5LESkDbgY+o5S6CZhmzTBQCZ7nJpJ3wPuAdqCW64dQSp5CndetFAgGgF0pyzuNdSWFiJSTDAJfUUr9s7H6qtllNP5G7GpfAXg98HYRuUByuO+NJMfPG40hBCi9c30FuKKUespYfohkYCjl83wrcF4pFVVKLQL/TPLcl/J5Nsl0Xi37TdtKgeBpoNNQGVSQTDQ9YnObLMUYG/88cEop9dcpmx4BThjPTwAPF7tthUIp9WGl1E6l1F6S5/S/lFJ3At8Gfs7YrdQ+8zBwWUQOGKveBIQo4fNMckjotSJSY3zPzc9csuc5hUzn9RHgPYZ66LXAZMoQ0uZQSm2ZB/BW4CzQD3zE7vYU4PO9gWS38UXgeePxVpJj5o8BfcC3gGa721qgz38c+D/G8/3AD4Ew8E9Apd3ts/izHgZOGuf6X4GmUj/PwB8Dp4GXgS8BlaV2noH7SeZAFkn2/N6b6bwCQlIJ2Q+8RFJRldP76hITGo1Gs8XZSkNDGo1Go0mDDgQajUazxdGBQKPRaLY4OhBoNBrNFkcHAo1Go9ni6ECg0Wg0WxwdCDQajWaL8/8D5ix9XQCdACMAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"mprk2 = mprk2.__num__()\n", | |
"t,y = mprk2(myivp,dt=10.0)\n", | |
"y = np.array(y)\n", | |
"plt.plot(t,y[:,1])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"If you are running this notebook, you can experiment with this yourself using the widget below. Use the slider to adjust the step size, and the text box to change which method is used ('RK2' or 'Midpoint')." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 74, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def solve_oscillator(dt,solver='Midpoint'):\n", | |
" myivp = ivp.IVP(f=f,u0=u0,T=40.)\n", | |
" if solver == 'Midpoint':\n", | |
" t,y = mprk2(myivp,dt=dt)\n", | |
" elif solver == 'RK2':\n", | |
" t,y = rk2(myivp,dt=dt)\n", | |
" plt.plot(t,y)\n", | |
" plt.ylim(-1.1,1.1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 75, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "746cb99da0e249c7acbd06860acafbee", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"interactive(children=(FloatSlider(value=0.1, description='dt', max=20.0, min=0.1, step=1.0), Text(value='Midpo…" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"<function __main__.solve_oscillator(dt, solver='Midpoint')>" | |
] | |
}, | |
"execution_count": 75, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"interact(solve_oscillator,dt=widgets.FloatSlider(min=0.1,max=20.,step=1.0,default=1.))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This particular choice of ODE and solver method are quite special in this regard -- so much so that no similar example is known! For more discussion of this see Section 5 of [this paper](https://epubs.siam.org/doi/abs/10.1137/19M1290346). For a modified equations analysis of what is going on here, see [this notebook](https://nbviewer.jupyter.org/gist/ketch/03a99cdf8ef7d12860111f7a2dd58e23)." | |
] | |
} | |
], | |
"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.9.5" | |
}, | |
"toc": { | |
"base_numbering": 1, | |
"nav_menu": {}, | |
"number_sections": true, | |
"sideBar": true, | |
"skip_h1_title": false, | |
"title_cell": "Table of Contents", | |
"title_sidebar": "Contents", | |
"toc_cell": false, | |
"toc_position": {}, | |
"toc_section_display": true, | |
"toc_window_display": false | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment