{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lagrange polynomials\n", "Here's a nice way to find an interpolating polynomial $p$ through that passes through the $n$ distinct points $(x_1,y_1),\\, (x_2, y_2), \\ldots, (x_n, y_n)$.\n", "\n", "Define the Lagrange polynomials $L_1, \\ldots, L_n$ by\n", "$$L_1(x)=\\dfrac{(x-x_2)(x-x_3)\\cdots (x-x_n)}{(x_1-x_2)(x_1-x_3)\\cdots (x_1-x_n)}$$\n", "$$L_2(x)=\\dfrac{(x-x_1)(x-x_3)\\cdots (x-x_n)}{(x_2-x_1)(x_2-x_3)\\cdots (x_2-x_n)}$$\n", "$$L_n(x)=\\dfrac{(x-x_1)(x-x_2)\\cdots (x-x_{n-1})}{(x_n-x_2)(x_n-x_3)\\cdots (x_n-x_{n-1})}$$\n", "\n", "Notice that $L_1, \\ldots, L_n$ define a basis for the space of polynomials of degree less than or equal to $n-1$ that is orthonormal with respect to the inner product\n", "$$\\langle f, g \\rangle :=f(x_1)g(x_1)+f(x_2)g(x_2)+\\cdots +f(x_n)g(x_n).$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then for any polynomial $p$ of degree $n-1$ or less, we have $a_1L1+a_2L_2+\\cdots +a_nL_n$ where $a_i = \\langle p,L_i\\rangle = p(x_i)$." ] }, { "cell_type": "code", "execution_count": 176, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import sympy as sym \n", "import numpy as np\n", "\n", "xpoints = [0, 8]\n", "ypoints = [3, 10]\n", "\n", "plt.plot(xpoints, ypoints, 'o', color = 'r')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 178, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{7 x}{8} + 3$" ], "text/plain": [ "7*x/8 + 3" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = sym.Symbol(\"x\")\n", "L1 = (x-8)/(0-8)\n", "L2 = (x-0)/(8-0)\n", "p = 3*L1+10*L2\n", "display(p)\n" ] }, { "cell_type": "code", "execution_count": 180, "metadata": {}, "outputs": [], "source": [ "xvals = np.arange(-0.2, 8.3, 0.1)\n", "[xval for xval in xvals]\n", "yvals = np.array([p.subs({x:xval}) for xval in xvals])" ] }, { "cell_type": "code", "execution_count": 183, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-0.2, -0.1, 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,\n", " 0.9, 1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9,\n", " 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. ,\n", " 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4. , 4.1,\n", " 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1, 5.2,\n", " 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3,\n", " 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4,\n", " 7.5, 7.6, 7.7, 7.8, 7.9, 8. , 8.1, 8.2])" ] }, "execution_count": 183, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xvals" ] }, { "cell_type": "code", "execution_count": 182, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2.82500000000000, 2.91250000000000, 3, 3.08750000000000,\n", " 3.17500000000000, 3.26250000000000, 3.35000000000000,\n", " 3.43750000000000, 3.52500000000000, 3.61250000000000,\n", " 3.70000000000000, 3.78750000000000, 3.87500000000000,\n", " 3.96250000000000, 4.05000000000000, 4.13750000000000,\n", " 4.22500000000000, 4.31250000000000, 4.40000000000000,\n", " 4.48750000000000, 4.57500000000000, 4.66250000000000,\n", " 4.75000000000000, 4.83750000000000, 4.92500000000000,\n", " 5.01250000000000, 5.10000000000000, 5.18750000000000,\n", " 5.27500000000000, 5.36250000000000, 5.45000000000000,\n", " 5.53750000000000, 5.62500000000000, 5.71250000000000,\n", " 5.80000000000000, 5.88750000000000, 5.97500000000000,\n", " 6.06250000000000, 6.15000000000000, 6.23750000000000,\n", " 6.32500000000000, 6.41250000000000, 6.50000000000000,\n", " 6.58750000000000, 6.67500000000000, 6.76250000000000,\n", " 6.85000000000000, 6.93750000000000, 7.02500000000000,\n", " 7.11250000000000, 7.20000000000000, 7.28750000000000,\n", " 7.37500000000000, 7.46250000000000, 7.55000000000000,\n", " 7.63750000000000, 7.72500000000000, 7.81250000000000,\n", " 7.90000000000000, 7.98750000000000, 8.07500000000000,\n", " 8.16250000000000, 8.25000000000000, 8.33750000000000,\n", " 8.42500000000000, 8.51250000000000, 8.60000000000000,\n", " 8.68750000000000, 8.77500000000000, 8.86250000000000,\n", " 8.95000000000000, 9.03750000000000, 9.12500000000000,\n", " 9.21250000000000, 9.30000000000000, 9.38750000000000,\n", " 9.47500000000000, 9.56250000000000, 9.65000000000000,\n", " 9.73750000000000, 9.82500000000000, 9.91250000000000,\n", " 10.0000000000000, 10.0875000000000, 10.1750000000000], dtype=object)" ] }, "execution_count": 182, "metadata": {}, "output_type": "execute_result" } ], "source": [ "yvals" ] }, { "cell_type": "code", "execution_count": 184, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(xpoints, ypoints, 'o', color='r')\n", "plt.plot(xvals, yvals)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 185, "metadata": {}, "outputs": [ { "data": { "image/png": "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0kknFTxZPq644opYtGhRXHvttfGvf/0rrrjiirjyyivjmmuuKWagbAdw+OGHZy0tLT0/d3Z2Zo2NjVlra2uBU1VGRGTLly8veoyK2rRpUxYR2apVq4oepaJ22WWX7He/+13RY+Rq8+bN2b777putWLEi+5//+Z9szpw5RY+UiwULFmTjxo0reoyKOvfcc7Mjjzyy6DGSmTNnTrbPPvtkXV1dRY+Si6lTp2azZ8/utTZ9+vRsxowZhcwz4M98fPTRR/HUU0/FlClTetYGDRoUU6ZMiUcffbTAyfiy2tvbIyJi1113LXiSyujs7Izbb789tmzZEhMnTix6nFy1tLTE1KlTe/3/caB46aWXorGxMfbee++YMWNGvP7660WPlKt77703xo8fHyeddFIMHTo0DjnkkLjxxhuLHqsiPvroo7jlllti9uzZuf+C06IcccQRsXLlynjxxRcjIuKZZ56Jhx9+OI477rhC5ulzv1gub++88050dnbGsGHDeq0PGzYsnn/++YKm4svq6uqKuXPnxqRJk2Ls2LFFj5OrZ599NiZOnBgffvhhfOMb34jly5fHgQceWPRYubn99ttj7dq1sWbNmqJHyd2ECRPipptuiv333z/Wr18fF110UUyePDmee+65qK2tLXq8XLzyyiuxaNGimDdvXvziF7+INWvWxFlnnRXV1dUxc+bMosfL1d133x3vvfdenH766UWPkpvzzjsvyuVyjB49OqqqqqKzszMuvfTSmDFjRiHzDPj4YGBpaWmJ5557bsB9nh4Rsf/++8e6deuivb097rrrrpg5c2asWrVqQARIW1tbzJkzJ1asWBGDBw8uepzc/fd/PR588MExYcKEGDFiRNx5553x4x//uMDJ8tPV1RXjx4+Pyy67LCIiDjnkkHjuuefi+uuvH3Dx8fvf/z6OO+64aGxsLHqU3Nx5551x6623xtKlS2PMmDGxbt26mDt3bjQ2Nhby9zfg42P33XePqqqq2LhxY6/1jRs3xp577lnQVHwZZ555Ztx3332xevXqaGpqKnqc3FVXV8e3vvWtiIg49NBDY82aNXH11VfHDTfcUPBkX91TTz0VmzZtiu985zs9a52dnbF69eq49tpro6OjI6qqqgqcMF/f/OY3Y7/99ouXX3656FFy09DQsFUIH3DAAfHHP/6xoIkq47XXXou//vWvsWzZsqJHydXPf/7zOO+88+KUU06JiIiDDjooXnvttWhtbS0kPgb8NR/V1dVx6KGHxsqVK3vWurq6YuXKlQPu8/SBKsuyOPPMM2P58uXxt7/9LUaNGlX0SEl0dXVFR0dH0WPk4uijj45nn3021q1b1/MYP358zJgxI9atWzegwiMi4v33349///vf0dDQUPQouZk0adJWX3F/8cUXY8SIEQVNVBlLliyJoUOHxtSpU4seJVcffPBBDBrU+y2/qqoqurq6CplnwJ/5iIiYN29ezJw5M8aPHx+HH354LFy4MLZs2RKzZs0qerRcvP/++73+C+vVV1+NdevWxa677hrDhw8vcLJ8tLS0xNKlS+Oee+6J2tra2LBhQ0RE1NfXx5AhQwqeLh/z58+P4447LoYPHx6bN2+OpUuXxoMPPhgPPPBA0aPlora2dqtrdHbeeefYbbfdBsS1O+ecc05MmzYtRowYEW+99VYsWLAgqqqq4tRTTy16tNycffbZccQRR8Rll10WP/zhD+OJJ56IxYsXx+LFi4seLTddXV2xZMmSmDlzZuy008B6e5w2bVpceumlMXz48BgzZkw8/fTTcdVVV8Xs2bOLGaiQ79gU4JprrsmGDx+eVVdXZ4cffnj22GOPFT1Sbv7+979nEbHVY+bMmUWPlottHVtEZEuWLCl6tNzMnj07GzFiRFZdXZ3tscce2dFHH5395S9/KXqsihpIX7U9+eSTs4aGhqy6ujrba6+9spNPPjl7+eWXix4rd3/605+ysWPHZjU1Ndno0aOzxYsXFz1Srh544IEsIrIXXnih6FFyVy6Xszlz5mTDhw/PBg8enO29997ZL3/5y6yjo6OQeUpZVtDtzQCAHdKAv+YDAOhbxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS/w/CydvD0GxNOQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xpoints = [0, 3, 8]\n", "ypoints = [3, -1, 10]\n", "\n", "plt.plot(xpoints, ypoints, 'o', color = 'r')\n", "plt.show()\n", "\n", "L1 = ((x-3)*(x-8))/((0-(3))*(0-8))\n", "L2 = ((x-0)*(x-8))/((3-0)*(3-8))\n", "L3 = ((x-0)*(x-3))/((8-0)*(8-3))\n", "p = 3*L1-1*L2+10*L3\n", "\n" ] }, { "cell_type": "code", "execution_count": 186, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/LElEQVR4nO3dd3hUVeLG8e9kUkkDAgkJSegt9C5gAcHCAorYRRd1LasoIGvBta0/C3ZRwQIWUGmuYl07Kr2EKiA9lCSQhFBm0jOZub8/AlEwIGUyd8r7eZ55kMkl98UhmTfnnnOuxTAMAxEREREPCTI7gIiIiAQWlQ8RERHxKJUPERER8SiVDxEREfEolQ8RERHxKJUPERER8SiVDxEREfEolQ8RERHxqGCzAxzL5XKxZ88eoqOjsVgsZscRERGRk2AYBgUFBSQlJREUdOKxDa8rH3v27CElJcXsGCIiInIaMjMzSU5OPuExXlc+oqOjgcrwMTExJqcRERGRk2G320lJSal6Hz8RrysfRy61xMTEqHyIiIj4mJOZMqEJpyIiIuJRKh8iIiLiUSofIiIi4lEqHyIiIuJRKh8iIiLiUSofIiIi4lEqHyIiIuJRKh8iIiLiUSofIiIi4lEqHyIiIuJRKh8iIiLiUSofIiIi4lEqHyIiIgGivMLFP6amM2dVFg6ny7QcKh8iIiIB4tsNOczdlMf4bzZhGOblUPkQEREJEB8s2QnAdT1SCQ02rwKofIiIiASAjXvtpO88SHCQhet6ppqaReVDREQkALy/ZBcAF7VtQEJMuKlZVD5ERET8nK3EwWerswG4oVcjk9OofIiIiPi9T1ZmUeJw0jIhip5N6podR+VDRETEn7lcBh8srbzkckOvxlgsFpMTqXyIiIj4tYXb8tmRX0RUWDCXdW5odhxA5UNERMSvHZloenmXhkSFBZucppLKh4iIiJ/KOljMT5tyAe+YaHqEyoeIiIifmr5sNy4D+jSPo3l8tNlxqqh8iIiI+KFSh5PZ6ZkA3HBWY3PDHEPlQ0RExA/979e9HCgqJyk2nAFt4s2OcxSVDxERET/0/pH7uPRMJdjqXW/33pVGREREztjq3QdZm2Uj1BrENT3MvY9LdVQ+RERE/MzUxTsBGNwxkXpRYeaGqYbKh4iIiB/JKyjl63V7Abixd2NzwxyHyoeIiIgfmbFsNw6nQZfU2nRIrm12nGqpfIiIiPiJ8goX05ftBmCEl456gMqHiIiI3/hm/V72FZRRPzqMge0SzY5zXCofIiIifuLIRNPrezYiNNh73+K94w4zIiIicnqcTliwgF+357J6dxQhVgvX9kwxO9UJnXItmj9/PkOGDCEpKQmLxcJnn3121McNw+DRRx8lMTGRiIgIBgwYwNatW92VV0RERI6YMwcaN4Z+/Zg6ZxkAg7YtJf6Hr83N9RdOuXwUFRXRsWNHJk2aVO3Hn3vuOV599VXefPNNli1bRmRkJBdddBGlpaVnHFZEREQOmzMHrrgCsrLIrxXLV23OBeDGBbMrn58zx+SAx3fKl10GDhzIwIEDq/2YYRhMmDCBhx9+mEsvvRSA999/n4SEBD777DOuueaaM0srIiIilZdaRo8GwwBgZseLKQ8OoeOezXTauwUsFhgzBi69FKxWc7NWw62zUXbs2EFOTg4DBgyoei42NpaePXuyZMmSav9MWVkZdrv9qIeIiIicwIIFkJUFgCPIyoed/wbAjSu/rPy4YUBmZuVxXsit5SMnJweAhISEo55PSEio+tixxo8fT2xsbNUjJcW7J8mIiIiYbu/eqv/8ulUfcqPjqFd4kL9tXnjc47yJ6etwHnzwQWw2W9UjMzPT7EgiIiLeLfH3PTze63YJADes/h9hzorjHudN3LrUtkGDBgDk5uaS+Ie/cG5uLp06dar2z4SFhREW5n03vREREfFa55wDycmsckWxJqk1oRUOrlvz7e8ft1ggObnyOC/k1pGPJk2a0KBBA+bOnVv1nN1uZ9myZfTq1cudpxIREQlcViu88grvdRsCwCUbf6F+8aHKj1kslb9OmOCVk03hNEY+CgsL2bZtW9Xvd+zYwZo1a6hbty6pqamMGTOGJ598khYtWtCkSRMeeeQRkpKSGDp0qDtzi4iIBLS9/Qfy9fJQAG5a8cXvH0hOriwew4aZE+wknHL5WLFiBf369av6/dixYwEYMWIEU6dO5f7776eoqIjbbruNQ4cOcfbZZ/Ptt98SHh7uvtQiIiIB7oMlu3BioWeTOrSd/W7l5NLExMpLLV464nGExTAOLxL2Ena7ndjYWGw2GzExMWbHERER8Tol5U56PzOXg8UO3ry+Kxe3a2B2pFN6/zZ9tYuIiIicms/WZHOw2EFynQguSEv46z/gZVQ+REREfIhhGLy3aAcAN/ZujDXIYnKiU6fyISIi4kMWbdvPltxCIkOtXNXdNzfmVPkQERHxIUdGPa7slkJMeIjJaU6PyoeIiIiP2JFfxNxNeVgsMKJ3Y7PjnDaVDxERER9xZNSjX6t4mtSLNDnN6VP5EBER8QGHisv574rKO9necnYTk9OcGZUPERERHzBj+W5KHE7aJMbQq1mc2XHOiMqHiIiIlyuvcDFt8U6gctTDYvG95bV/pPIhIiLi5b5et5dcexnx0WEM6ZhkdpwzpvIhIiLixQzD4O2FGUDlCpfQYN9/6/b9v4GIiIgfW7bjAOuz7YSHBHFdj1Sz47iFyoeIiIgXe3tB5fLay7skUycy1OQ07qHyISIi4qUy9hUyd1MuADf7+PLaP1L5EBER8VLvLdqJYUD/1vE0qx9ldhy3UfkQERHxQoeKy/l4ZeWmYv84x39GPUDlQ0RExCsdtalYU9/eVOxYKh8iIiJepqzCydRFOwH/2FTsWCofIiIiXuaLNXvIKygjIcY/NhU7lsqHiIiIFzEMgykLKjcVu6lPE7/YVOxY/vc3EhER8WHztuxjS24hkaFWrvWTTcWOpfIhIiLiRSbPrxz1uLZHKrERISanqRkqHyIiIl5ifbaNxdv3Yw2ycJMfbSp2LJUPERERL3FkrsfgDok0rB1hcpqao/IhIiLiBbIPlfDVr3sBuPWcpianqVkqHyIiIl7gvYU7cLoMejeLo13DWLPj1CiVDxEREZPZShzMXL4bgNvO9e9RD1D5EBERMd3M5bspKnfSKiGa81rWNztOjVP5EBERMVF5hYv3Fu0A4JZz/G8r9eqofIiIiJjoszXZ5NrLiI8O45JO/reVenVUPkREREzichlVm4r94+wmhAVbTU7kGSofIiIiJpm7KY9teYVEhwVzbU//3Eq9OiofIiIiJnlz3nYAhp/ViJhw/9xKvToqHyIiIiZYsfMAK3cdJNQaxM19Gpsdx6NUPkRERExwZNRjWJeGxMeEm5zGs1Q+REREPGxLbgE/bszDYgmMTcWOpfIhIiLiYUdWuFyU1oCm9aNMTuN5Kh8iIiIetNdWwudrsgG4/bzAG/UAlQ8RERGPemfBDhxOg55N6tI5tY7ZcUyh8iEiIuIhtuLfbyD3z77NTE5jHpUPERERD/lg6U6Kyp20bhBN3wC4gdzxqHyIiIh4QEm5k3cX7QTgn+c1C4gbyB2PyoeIiIgHzErfzYGiclLr1mJwh0Sz45hK5UNERKSGlVe4mHJ4ee1t5zYl2BrYb7+B/bcXERHxgM/WZLPHVkr96DCu6JpsdhzTub18OJ1OHnnkEZo0aUJERATNmjXjiSeewDAMd59KRETE6zldRtVW6rec3YTwEKvJicwX7O5P+Oyzz/LGG28wbdo02rZty4oVK7jpppuIjY1l1KhR7j6diIiIV/t+Qw4Z+4qICQ9m+FmNzI7jFdxePhYvXsyll17KoEGDAGjcuDEzZ85k+fLl7j6ViIiIVzMMg0m/bAPgxt6NiQpz+9uuT3L7ZZfevXszd+5ctmzZAsDatWtZuHAhAwcOrPb4srIy7Hb7UQ8RERF/sGBrPuuz7USEWLmxTxOz43gNt1ewcePGYbfbad26NVarFafTyVNPPcXw4cOrPX78+PE8/vjj7o4hIiJiukk/V456XNsjlbqRoSan8R5uH/n46KOPmD59OjNmzGDVqlVMmzaNF154gWnTplV7/IMPPojNZqt6ZGZmujuSiIiIx63cdYBlOw4QYrVw67ka9fgjt4983HfffYwbN45rrrkGgPbt27Nr1y7Gjx/PiBEj/nR8WFgYYWFh7o4hIiJiqtd/rlzhMqxzMomxESan8S5uH/koLi4mKOjoT2u1WnG5XO4+lYiIiFfasMfG3E15BFng9vOamh3H67h95GPIkCE89dRTpKam0rZtW1avXs1LL73EzTff7O5TiYiIeKUjox6DOyTRtH6UyWm8j9vLx2uvvcYjjzzCnXfeSV5eHklJSdx+++08+uij7j6ViIiI19mWV8DX6/cCMLJfc5PTeCe3l4/o6GgmTJjAhAkT3P2pRUREvN7rP2/HMOCitgm0ahBtdhyvpHu7iIiIuMmu/UV8vnYPAHf1a2FyGu+l8iEiIuImb/yyHafLoG+r+rRPjjU7jtdS+RAREXGD7EMlfLIqC4C7z9dcjxNR+RAREXGDyfO243Aa9GoaR9dGdc2O49VUPkRERM5QXkEpM9Mrd+jWqMdfU/kQERE5Q28v2EF5hYsuqbXp1SzO7DheT+VDRETkDBwoKufDpbsAuPv8FlgsFpMTeT+VDxERkTPw9oIMisudtE2KoW+r+mbH8QkqHyIiIqfpYFE50xbvBGBUf416nCyVDxERkdP0zsIdFJU7aZMYw4VpCWbH8RkqHyIiIqfhUHE5Uw+Peozu31yjHqdA5UNEROQ0vLtwB4VlFbRuEM2FaQ3MjuNTVD5EREROka3EwXuLdgKVcz2CgjTqcSpUPkRERE7Re4t2UFBWQauEaC5uq1GPU6XyISIicgrspQ7eXbgDgLv7N9eox2lQ+RARETkFUxftxF5aQYv4KP7WLtHsOD5J5UNEROQkFZQ6eKdq1ENzPU6XyoeIiMhJmrZ4J7YSB83qRzKovUY9TpfKh4iIyEmwlzqYPD8DqFzhYtWox2lT+RARETkJ7y7cgb20gubxUQzukGR2HJ+m8iEiIvIXbMW/z/UYM0CjHmdK5UNEROQvvLMwg4LSyn09tMLlzKl8iIiInMDBonLePbyb6T0XaIWLO6h8iIiInMCUBRkUllWQlhije7i4icqHiIjIcewvLKu6c+09F7TUqIebqHyIiIgcx+T5GRSXO2nfMJYBbeLNjuM3VD5ERESqsa+gjGlLdgIw9oKWWCwa9XAXlQ8REZFqvDlvO6UOF51SatO3VX2z4/gVlQ8REZFj5NhK+WDpLqByrodGPdxL5UNEROQYr/20lfIKF90b1+HcFvXMjuN3VD5ERET+YPf+YmanZwJw74WtNOpRA1Q+RERE/mDC3C1UuAzOaVGPnk3jzI7jl1Q+REREDtuWV8Bnq7OBylEPqRkqHyIiIoe99MMWXAZcmJZAx5TaZsfxWyofIiIiwPpsG1+vy8FigX9p1KNGqXyIiIgAL36/GYBLOibRqkG0yWn8m8qHiIgEvJW7DvDz5n1YgyzcM6Cl2XH8nsqHiIgENMMweP67ylGPq7ol07hepMmJ/J/Kh4iIBLSF2/JZmnGAUGsQd5/fwuw4AUHlQ0REApbLZfDct5WjHsPPSiWpdoTJiQKDyoeIiASsr9fvZV22jchQK3f1a252nICh8iEiIgHJ4XTx4vdbALj13KbERYWZnChwqHyIiEhA+u+KLHbkFxEXGcot5zQ1O05AUfkQEZGAU1LuZMKPlaMed53fnKiwYJMTBRaVDxERCThTF+8kr6CM5DoRXNcz1ew4AUflQ0REAoqt2MEbv2wDYOwFLQkLtpqcKPDUSPnIzs7m+uuvJy4ujoiICNq3b8+KFStq4lQiIiKn5I1527GXVtAqIZpLOzU0O05AcvtFroMHD9KnTx/69evHN998Q/369dm6dSt16tRx96lEREROSY6tlPcW7QDgvotaYQ2ymJwoMLm9fDz77LOkpKTw3nvvVT3XpEkTd59GRETklL0ydytlFS66NapD/zbxZscJWG6/7PLFF1/QrVs3rrzySuLj4+ncuTNTpkw57vFlZWXY7fajHiIiIu62La+A2em7AXhgYGssFo16mMXt5SMjI4M33niDFi1a8N1333HHHXcwatQopk2bVu3x48ePJzY2tuqRkpLi7kgiIiI8881mXAZckJZA98Z1zY4T0CyGYRju/IShoaF069aNxYsXVz03atQo0tPTWbJkyZ+OLysro6ysrOr3drudlJQUbDYbMTEx7owmIiIBavmOA1z11hKsQRa+G3MuzeOjzI7kd+x2O7GxsSf1/u32kY/ExETS0tKOeq5Nmzbs3r272uPDwsKIiYk56iEiIuIuhmHw9NcbAbi6e4qKhxdwe/no06cPmzdvPuq5LVu20KhRI3efSkRE5C99sz6HNZmHqBVqZcyAFmbHEWqgfNxzzz0sXbqUp59+mm3btjFjxgwmT57MyJEj3X0qERGREyqvcPHct5sAuPWcpsRHh5ucSKAGykf37t359NNPmTlzJu3ateOJJ55gwoQJDB8+3N2nEhEROaGZy3ezc38x9aJCufVc3TzOW9TInXQGDx7M4MGDa+JTi4iInJSCUgevzt0KwOgBLXXzOC+ie7uIiIhfmjw/g/1F5TStF8k13bWNgzdR+RAREb+TYytlyoIMAO6/uDUhVr3deRO9GiIi4nee/24zpY7KbdQvaptgdhw5hsqHiIj4lfXZNuaszgLg4cFp2kbdC6l8iIiI3zAMg6f+txHDgEs7JdEppbbZkaQaKh8iIuI3ftyYx5KM/YQGB3HfRa3MjiPHofIhIiJ+weF0Mf7wNuq3nN2E5Dq1TE4kx6PyISIifmH60l1k5BdRLyqUO/o2MzuOnIDKh4iI+DxbiYNXDm8ods8FLYkODzE5kZyIyoeIiPi8ST9v42CxgxbxUVzdTRuKeTuVDxER8Wm79xczddFOAB4a1IZgbSjm9fQKiYiIT3v6642UO12c06IefVvFmx1HToLKh4iI+KzF2/P5dkMO1iALjwxOMzuOnCSVDxER8UlOl8H/ffkbAMN7ptIyIdrkRHKyVD5ERMQnzUrfzaacAmIjQrhnQEuz48gpUPkQERGfYytx8OL3WwC4Z0AL6kSGmpxIToXKh4iI+JxX527lQFE5zeOjGH5WI7PjyClS+RAREZ+yfV8h0xbvBOCRwWmEaGmtz9ErJiIiPuXJr36jwmVwfut4zmtZ3+w4chpUPkRExGf8sjmPnzfvIzjIwsOD2pgdR06TyoeIiPiE8goX//dV5dLaG3s3pmn9KJMTyelS+RAREZ8wdfEOMvZV3rX27v4tzI4jZ0DlQ0REvF6uvZRXfqy8a+39F7cmNkJ3rfVlKh8iIuL1nvlmE0XlTjql1OaKLslmx5EzpPIhIiJeLX3nAT5dnY3FAo9f0pagIIvZkeQMqXyIiIjXcroMHvt8AwBXd0uhY0ptcwOJW6h8iIiI15qxfDe/7bUTEx7MfRe1MjuOuInKh4iIeKUDReW88N1mAMZe0JK4qDCTE4m7qHyIiIhXeuH7zdhKHLRuEM31un+LX1H5EBERr7Muy8bM5bsB+M8lbQnW/Vv8il5NERHxKk6XwcOfrcMw4JKOSZzVNM7sSOJmKh8iIuJVZi7fzdosG9Fhwbp/i59S+RAREa+RX1jG80cmmV7YkviYcJMTSU1Q+RAREa/xzDebsJU4SEuM4QZNMvVbKh8iIuIV0nce4OOVWQA8MbSdJpn6Mb2yIiJiugqni0c+Ww/ANd1T6NqojsmJpCapfIiIiOmmLt7JppwC6tQK4YGLW5sdR2qYyoeIiJgqx1bKyz9sAeCBi1tTJzLU5ERS01Q+RETEVP/31QaKyp10Tq3NVd1SzI4jHqDyISIippm7MZev1+VgDbLw1ND2BAVZzI4kHqDyISIipigur+DRzzcAcMvZTUhLijE5kXiKyoeIiJhiwo9byT5UQsPaEYwe0MLsOOJBKh8iIuJxG/bYeGfhDgCeHNqOWqHBJicST1L5EBERj3K6DP796XqcLoNB7RPp1zre7EjiYSofIiLiUdOX7WJt5iGiw4J5dEia2XHEBDVePp555hksFgtjxoyp6VOJiIiXy7WX8ty3lTeOu//iViToxnEBqUbLR3p6Om+99RYdOnSoydOIiIiP+M8XGygsq6BTSm2u66kbxwWqGisfhYWFDB8+nClTplCnjvboFxEJdN+uz+Gb9ZV7ejx9WXus2tMjYNVY+Rg5ciSDBg1iwIABJzyurKwMu91+1ENERPyLrcTBo59X3jju9nObak+PAFcja5tmzZrFqlWrSE9P/8tjx48fz+OPP14TMURExEuM/3ojeQVlNK0Xyaj+2tMj0Ll95CMzM5PRo0czffp0wsP/eiLRgw8+iM1mq3pkZma6O5KIiJho8fZ8ZqVXfm8fP6w94SFWkxOJ2dw+8rFy5Ury8vLo0qVL1XNOp5P58+czceJEysrKsFp//4cXFhZGWFiYu2OIiIgXKCl38uCcdQAM75lKz6ZxJicSb+D28tG/f3/WrVt31HM33XQTrVu35oEHHjiqeIiIiH+b8OMWdu0vpkFMOOMGtjY7jngJt5eP6Oho2rVrd9RzkZGRxMXF/el5ERHxX+uybExZkAFUbqEeHR5iciLxFtrhVERE3M7hdPHAJ7/iMmBwh0QGpCWYHUm8iEfu5PPLL7944jQiIuIl3pq3nd/22qldK4T/XNLW7DjiZTTyISIibrU5p4BX5m4F4LEhadSL0qICOZrKh4iIuE2F08W9/12Lw2kwoE0CQzs1NDuSeCGVDxERcZu35mewLttGTHgwT1/WDotFW6jLn6l8iIiIW2zJLeCVHysvt/znkrbE6461chwBVT4OFpWTeaDY7BgiIn6nwunivv+updzpon/reC7rrMstcnwBUz5W7jrABS/P566Zq6lwusyOIyLiV6Ys2MHarMOXW4a11+UWOaGAKR9JtSMoq3CyNvMQb87bbnYcERG/sTW3gJd/2ALAo0PakqDLLfIXAqZ8JMZG8PjhteavzN3Khj02kxOJiPg+h9PFvw5fbjm/dTyXd9HlFvlrAVM+AC7r3JAL0xJwOA3+9dFayiqcZkcSEfFpr/+8nV+PXG65TJdb5OQEVPmwWCw8Paw9dSND2ZTz+6xsERE5deuybLz2U+X30SeGtqNBrC63yMkJqPIBUC8qjKcvq7zB3ZvztrNy10GTE4mI+J5Sh5N7PlpDhctgUPtELumYZHYk8SEBVz4ALm6XyGWdG+Iy4N7/rqWkXJdfREROxQvfbWZbXiH1osJ4Yqg2E5NTE5DlA+A/Q9qSEBPGjvwinv12k9lxRER8xtKM/byzaAcAz15eeSlb5FQEbPmIrRXCs5d3AGDq4p0s2pZvciIREe9XWFbBvf9di2HA1d1S6N8mwexI4oMCtnwA9G0Vz3U9UwH410drOVRcbnIiERHv9uRXv5F1sISGtSN4eHAbs+OIjwro8gHw8KA2NKkXSY69lIc+XY9hGGZHEhHxSt9tyGFWeiYWC7xwZUeiw0PMjiQ+KuDLR63QYCZc3QlrkIX/rdvLp6uzzY4kIuJ18uyljPvkVwBuPacpvZrFmZxIfFnAlw+Ajim1GdO/BQCPfr6BzPwC+OUXmDmz8lenVsOISOByuQzu/fhXDhY7SEuM4V8XtjQ7kvg4lY/D7ujbjK6N6lBYVsHY+9/BeX5/uO466NcPGjeGOXPMjigiYoppS3Yyf8s+woKDeOWaToQFW82OJD5O5eOwYGsQL8fmEFVWTHp8C97sefnvH8zOhiuuUAERkYCzKcfO+G8qtyN4aFAbWiREm5xI/IHKxxFOJ6kPjOY/P74JwMtnD2ddQrPKjx2ZhDpmjC7BiEjAKHU4GTNrDeUVLvq1qs8NZzUyO5L4CZWPIxYsgKwsLl//E3/btJAKazCjLrmfopDD9yowDMjMrDxORCQAPP/dZjblFBAXGcpzV3TULqbiNiofR+zdC4AFePq7iSTa97GjbkMeu+D2ao8TEfFn87fs452FlbuYPndFB+pHh5mcSPyJyscRiYlV/1m7tJCXv3qRIJeTj9tfwOdtzqv2OBERf5RXUMrYj9YAcP1ZqdrFVNxO5eOIc86B5GQ4PKx4VuZ67loyG4CHLhrJ7toNICWl8jgRET/lchn866O15BeW07pBNA8PSjM7kvghlY8jrFZ45ZXK/z5cQEYtmkX3zA0UhtXi7iH34XhpQuVxIiJ+avKCDBZszSc8JIjXru1MeIi+54n7qXz80bBh8PHH0LAhAMGGiwlfvkBMeTFrk1rxYqR+AhAR/7V690Fe+G4zAI8NaatltVJjVD6ONWwY7NwJP/8MM2bQ8IuPeHZEbwDenLedBVv3mZtPRKQG2EsdjJq1mgqXwaAOiVzTPcXsSOLHVD6qY7VC375w7bXQty8DOzasuvvtPbPXkldQam4+ERE3MgyDf89ZR+aBEpLrRDB+WHstq5UapfJxkh4dnEbLhCjyC8u4Z/YanC7d/VZE/MNHKzL56te9WIMsvHptZ2J0t1qpYSofJyk8xMrrw7tQK9TKom37ee2nrWZHEhE5Yxv32nn08w0A/OvClnRJrWNyIgkEKh+noHl8NE9d1g6AV+ZuZdG2fJMTiYicvsKyCkZOX0VZhYvzWtbnn+c2MzuSBAiVj1N0Wedkru6WgmHA6FlrNP9DRHySYRg8OGcdGflFJMaG8/LVnQgK0jwP8QyVj9Pw+KVtad0gmvzCMkbP1PwPEfE9Hy7bzZdr9xAcZGHidZ2pGxlqdiQJICofpyE8xMqk4V2IDLWyJGM/r8zV/A8R8R3rsmw88eVvAIwb2JqujeqanEgCjcrHaWpWP4qnh7UH4LWftjJ/i/b/EBHvZyt2cOeMlZQ7XVyQlsA/zm5idiQJQCofZ+DSTpX7f1TO/1hN1sFisyOJiByXYRjc9/FaMg+UkFI3gheu6Kj9PMQUKh9n6NHBaXRIjuVgsYM7p6+i1OE0O5KISLXenJfB97/lEmoNYtJ1XYitpf08xBwqH2foyP4ftWuF8GuWjce/3GB2JBGRP1m0LZ/nv9sEwGOXpNEhuba5gSSgqXy4QXKdWrx6TWcsFpi5PJOP0jPNjiQiUiXrYDF3zViFy4AruyZzXY9UsyNJgFP5cJNzW9bnXxe0BODhz9ezPttmciIRESh1OLnjw1UcLHbQrmEMTwxtp3keYjqVDze6s29zBrSJp7zCxT8/XMmh4nKzI4lIgHvs8w2sy7ZRu1YIbwzvSniI1exIIiof7hQUZOHFqzrRKK4WWQdLGDVLG5CJiHlmLt/N7BWZWCzw6jWdSalby+xIIoDKh9vFRhz56SKI+Vv28dzhCV4iIp60JvMQjx2+Ydy9F7bi3Jb1TU4k8juVjxqQlhTD81d0BOCteRl8vibb5EQiEkjy7KXc/sGKqo3E7jhPN4wT76LyUUOGdEzijr6VX/APfPKrJqCKiEeUOpzc9sFKcu1ltIiP4qWrOuqGceJ13F4+xo8fT/fu3YmOjiY+Pp6hQ4eyefNmd5/GJ9x7YSv6tqpPqcPF7R+sJL+wzOxIIuLHDMPg4c/WsybzELERIUz5ezeiw7WRmHgft5ePefPmMXLkSJYuXcoPP/yAw+HgwgsvpKioyN2n8nrWIAuvXNOZpvUiyT5Uwp3TV+FwusyOJSJ+6t1FO/l4ZRZBFph4XWca14s0O5JItSyGYdTocox9+/YRHx/PvHnzOPfcc//yeLvdTmxsLDabjZiYmJqM5jHb8goYOmkxhWUV3HBWI54Y2s7sSCLiZxZuzefv7y7DZcAjg9N0wzjxuFN5/67xOR82W+Vch7p1q79lc1lZGXa7/aiHv2keH82EqzthscAHS3fxwdJdZkcSET+yM7+IkYd3ML28SzI392lsdiSRE6rR8uFyuRgzZgx9+vShXbvqf9ofP348sbGxVY+UlJSajGSaAWkJ3HthKwD+88UGFmzdZ3IiEfEHthIHt7y/AluJg04ptXnqMu1gKt6vRsvHyJEjWb9+PbNmzTruMQ8++CA2m63qkZnpv/dFubNvM4Z1aYjTZXDn9FVsyys0O5KI+DCH08VdMyq/lzSICeetG7SDqfiGGisfd911F1999RU///wzycnJxz0uLCyMmJiYox7+ymKxMH5Ye7o1qkNBaQX/mJbOwSJtwS4ip84wjMOjqPlEhFh5e0Q3EmLCzY4lclLcXj4Mw+Cuu+7i008/5aeffqJJE016+qOwYCtv3dCVlLoR7NpfzO0frqS8QitgROTUvLtoJ9OX7a7cOv3azrRrGGt2JJGT5vbyMXLkSD788ENmzJhBdHQ0OTk55OTkUFJS4u5T+ay4qDDeGdGd6LBglu84wMOfraOGFx2JiB+ZuzGXJ//3GwD/HtiGC9ISTE4kcmrcXj7eeOMNbDYbffv2JTExseoxe/Zsd5/Kp7VMiOa16zoTZIGPVmTx5rwMsyOJiA/4bY+du2euxjDgmu4p3HKORpfF9wS7+xPqJ/iT17dVPI8NactjX2zg2W830bBOBJd0TDI7loh4qVx7KbdMS6e43EnvZnE8MVQrW8Q36d4uJhvRu3HVZkD3frSWZRn7TU4kIt6ooNTBje+ls8dWStP6kbwxvCshVn0LF9+kf7le4KG/tWFguwaUO13c+v4KtuUVmB1JRLyIw+nizumr2LjXTr2oUKbe2IPYWrpni/gulQ8vEBRk4eWrO9EltTb20gpGvJtOXkGp2bFExAsYhsGDc9ZVLal998bupMbVMjuWyBlR+fAS4SFW3h7RncZxtcg+VMLNU9MpKqswO5aImOzlH7fy8cosrEEWXh/ehQ7Jtc2OJHLGVD68SN3IUKbe1IO6kaGsz7Zz1wzdBVckkM1avptX524F4Mmh7ejXOt7kRCLuofLhZRrXi+TtEd0ICw7i5837eOCTX3G5tIJIJND8vCmPhz5bD8Dd5zfn2h6pJicScR+VDy/UJbUOk67rgjXIwpxV2Tzz7SazI4mIB63YeYA7pq/E6TIY1qUhYy9oaXYkEbdS+fBSA9ISePbyDgBMnp/BW/O2m5xIRDxhU46dm6emU+pw0a9VfZ69vIP28hC/o/Lhxa7omsyDA1sDMP6bTXy8MsvkRCJSkzIPFPP3d5ZjL62gW6M6vK69PMRP6V+1l7v9vGbcdm5TAB745Ffmbsw1OZGI1IR9BWVc/84y8grKaN0gmndGdCci1Gp2LJEaofLhA8Zd3JrLuyTjdBmMnLFKu6CK+Bl7qYO/v7ucXfuLSakbwbSbtYmY+DeVDx8QFGThmcvb0791PKUOF/+YtoI1mYfMjiUiblBS7uSWqSsO714axgc39yQhJtzsWCI1SuXDR4RYg5g0vAu9m8VRWFbBiHeXs3Gv3exYInIGSh1ObvtgBct3HiA6LJhpN3encb1Is2OJ1DiVDx8SHmJlyt+70SW1NrYSBze8s4zt+wrNjiUip6G8wsXI6atYsDWfWqFWpt7cnbZJsWbHEvEIlQ8fExkWzHs39SAtMYb8wnKGT1lG5oFis2OJyCmocLq4Z/Ya5m7KIyw4iLdHdKNro7pmxxLxGJUPHxQbEcIH/+hB8/gocuylDH97GTk23YhOxBe4XAb3f/wr/1u3lxCrhbdu6ErvZvXMjiXiUSofPiouKozpt/QktW4tdh8o5ropS8m1q4CIeDPDMHj48/XMWZ2NNcjCxOu60LeV7tcigUflw4clxIQz/ZaeNKwdQUZ+EddOXkqeCoiIVzIMg0c/38CMZbuxWODlqztxUdsGZscSMYXKh49LqVuLWbedVVVArpmiAiLibVwug0c+X88HS3dhscBzl3fgko5JZscSMY3Khx84qoDsK+LaKUvJK1ABEfEGR4rHh0srRzyev6IjV3ZLMTuWiKlUPvxESt1azLz1LJJiw9m+7/AlGBUQEVO5XAYPfbae6ct+Lx5XdE02O5aI6VQ+/EhqXC1m3nYWiX8oIJqEKmKOyuKxjpnLK4vHi1eqeIgcofLhZxrFRTLrDwXkyjeXaB8QEQ9zugzGzfmVmcszCbLAS1d1ZFgXFQ+RI1Q+/FCjuEg+ur1X1TLcq99aQoZ2QhXxiPIKF6NmreajFVkEWeDFqzpyWWcVD5E/UvnwUyl1a/HR7b1oVj+SPbZSrnprKZtzCsyOJeLXSh1O/vnhSv73a+UGYpOu66LiIVINlQ8/1iA2nNm396JNYgz5hWVcPXkJ67JsZscS8UtFZRXc9F46Px3eMn3K37sxsH2i2bFEvJLKh5+rFxXGrFvPomNKbQ4VO7huylKW7zhgdiwRv2IrdnD9O8tYkrGfqLBg3r+5h3YuFTkBlY8AEFsrhA//0YMeTepSUFbB9e8s4/sNOWbHEvELefZSrp68hNW7DxEbEcL0W3rSs2mc2bFEvJrKR4CIDg/h/Zt7MKBNAuUVLv754Upmp+82O5aIT8vYV8iwNxazKaeAelFhzL69cpRRRE5M5SOAhIdYefP6LlzVLRmXAQ98so5JP2/DMAyzo4n4nDWZh7jizSVkHSyhcVwt5tzRm9YNYsyOJeITVD4CTLA1iGcv78AdfZsB8Px3m/m/r37D5VIBETlZv2zO49rJSzlQVE77hrF8fEdvUuNqmR1LxGeofAQgi8XCAxe35pHBaQC8t2gno2evodThNDmZiPebsyqLW6atoMTh5JwW9Zh121nUiwozO5aIT1H5CGD/OLsJE67uRHCQhS/X7uGGd5ZxoKjc7FgiXskwDCb9vI2xH62lwmUwtFMS74zoTmRYsNnRRHyOykeAG9q5IdNu7kF0eDDpOw8y7PVF7MgvMjuWiFcpr3Bx739/5fnvNgNw6zlNeOmqToQG61uoyOnQV47Qp3k95tzRm4a1I9i5v5hhry9ixU7tBSICcKi4nL+/u4xPVlVul/7E0HY8NCiNoCCL2dFEfJbKhwDQIiGaT0f2pmNyLAeLHVz39jK+WLvH7Fgiptq1v4hhry9macYBosKCeffG7txwViOzY4n4PJUPqRIfHc6s23pxYVrlXiCjZq7mpe83ayWMBKT0nQcYOmkRGflFJMWG8/EdvbRrqYibqHzIUSJCrbxxfVduPacJAK/+tI1/friSwrIKk5OJeM70Zbu4bspSDhY76JAcy2cj+2gPDxE3UvmQP7EGWXhoUBovXtmRUGsQ3/+Wy+WvL2b3/mKzo4nUqPIKFw99uo6HPl2Pw2kwqH0is2/rRXxMuNnRRPyKyocc1+Vdk5l9+1nER4exObeASyYtZPG2fLNjidSIfQVlDH97KdOX7cZigfsuasXE6zoTEWo1O5qI31H5kBPqnFqHL+8+m47JsRwqdnDDu8t5e0GGtmQXv/Jr1iEumbiQ9J0HiQ4L5p0R3RjZrzkWi1a0iNQElQ/5Swkx4cy+vRfDOjfE6TJ48n8bGTljFQWlDrOjiZwRwzCYuXw3V7y5hL22UprWj+Szu/pwfusEs6OJ+DWVDzkp4SFWXryqI/93aVtCrBa+XpfDpRMXsTmnwOxoIqeluLyCf320lgfnrKO8wkX/1vF8NrIPzepHmR1NxO+pfMhJs1gs/L1XYz66vRdJseFk5BcxdNIiPl2dZXY0kVOyLa+QoZMWMWd1NkEWuP/iVkz5ezdiwkPMjiYSEFQ+5JR1Tq3DV6PO4ZwW9ShxOLlnduVPjyXlujGdeL8v1u7hkokL2ZJbSP3oMGbcehZ39m2uHUtFPKjGysekSZNo3Lgx4eHh9OzZk+XLl9fUqcQEdSNDmXpTD0b1b4HFAjOX7+aSiQvZlGM3O5pItYrLK3hwzq+Mmrma4nInvZrG8b9RZ3NW0zizo4kEnBopH7Nnz2bs2LE89thjrFq1io4dO3LRRReRl5dXE6cTk1iDLIy9oCUf3NyT+tFhbM0r5JKJi3h/yU6thhGvsj7bxuDXFjJzeSYWC4zs14wP/tGD+Gjt3yFiBotRA+8SPXv2pHv37kycOBEAl8tFSkoKd999N+PGjTvhn7Xb7cTGxmKz2YiJ0Y6CvmJ/YRn3/nctP2/eB8CANgk8d0UH6kaGmpxMApnLZTBlQQYvfL8Zh9MgISaMl6/qRO/m9cyOJuJ3TuX92+0jH+Xl5axcuZIBAwb8fpKgIAYMGMCSJUv+dHxZWRl2u/2oh/ieuKgw3r2xO48OTiPUGsSPG3MZ+Mp8ftms0S4xR669lBveXcb4bzbhcBpc1DaBb0efq+Ih4gXcXj7y8/NxOp0kJBy9Tj4hIYGcnJw/HT9+/HhiY2OrHikpKe6OJB5isVi4+ewmfDqyN03rR5JrL+PG99J5cM6vujeMeIxhGHy6OosLX57Pom37iQixMn5Ye968vit1NBIn4hVMX+3y4IMPYrPZqh6ZmZlmR5Iz1DYplv/dfQ439WkMwMzlmVw8YT5Ltu83N5j4vbyCUm77YCX3zF6LrcRB+4axfDXqbK7tkardSkW8SLC7P2G9evWwWq3k5uYe9Xxubi4NGjT40/FhYWGEhYW5O4aYLCLUymND2nJhWgPu+3gtWQdLuHbKUm7s3Zj7L25FrVC3/9OTAGYYBl+s3cNjX2zgULGDEKuF0f1bcPt5zQixmv4zlogcw+1flaGhoXTt2pW5c+dWPedyuZg7dy69evVy9+nEy/VqFse3Y87l2h6pAExdvJMLX57PvC37TE4m/iLXXso/P1zJ6FlrOFTsoG1SDF/cdTZ3nd9CxUPES9XIj59jx45lxIgRdOvWjR49ejBhwgSKioq46aabauJ04uWiwoIZP6w9F7VN4N9z1pF1sIQR7y7n0k5JPDI4jXpRGvmSU+d0GXywZCcvfL+FwrIKgoMsjOrfgjv6arRDxNvVyFJbgIkTJ/L888+Tk5NDp06dePXVV+nZs+df/jkttfVvRWUVvPj9FqYu3oHLgNiIEB4a1IYruybrmryctPXZNv796Tp+zbIB0CmlNuOHtadNor5niJjlVN6/a6x8nC6Vj8Dwa9Yhxn2yjt/2Vi6t7tGkLv8Z0pa0JL3mcnyFZRW8/MMW3ltUWV6jw4O5/+LWXNcjFau2RxcxlcqH+IQKp4t3F+3g5R+2UuJwEmSB4T0bMfaClloSKUdxuQw+WZXFc99tZl9BGQCDOyTy6OA04mO0S6mIN1D5EJ+SfaiEp7/eyP9+3QtA7Voh/OvCVvppVgBYuesAj3/5W9UllkZxtfjPJW3p1yre5GQi8kcqH+KTlmzfz+NfbmBTTgEArRtE8+Df2nBui3qaDxKA9tpKeOabTXy+Zg9QOXH57vObc2OfxoQFW01OJyLHUvkQn1XhdDFj+W5e/H4LthIHAL2bxTFuYGs6JNc2N5x4xMGict6ct52pi3dSVuHCYoGruqZw70WtqB+tlVEi3krlQ3zewaJyJv28jfeX7KLc6QJgUIdE7ruwFY3rRZqcTmpCUVkF7y3awVvzMig4vB1/j8Z1eXRIGu0axpqcTkT+isqH+I2sg8W89MMWPl2djWFAcJCFK7slc2ff5qTUrWV2PHGDUoeT2emZvPbTNvILKyeTtkmM4f6LWtG3VX1dchPxESof4nc27rXz3Leb+Hlz5c6o1iALwzo3ZGS/5hoJ8VHF5RXMWLabyfMzyDu8gqVRXC3GXtCSIR2SCNJkYxGfovIhfmvFzgO8MncrC7bmAxBkgaGdGnJnv+Y0j48yOZ2cDHupgw+W7OKdhTs4UFQOQGJsOHf2a8413VO0O6mIj1L5EL+3avdBXpu7tWokBGBAm3j+cXZTzmpaV0P1XmivrYT3l+ziw6W7KCitnNPRKK4Wd/ZtxmWdkwkNVukQ8WUqHxIwfs06xGs/bePHjbkc+ZfcNimGW85pwqD2SXpD8wKrdx/k3UU7+XrdXpyuyhepRXwUI/s1Z3CHRII10iHiF1Q+JOBk7Cvk3UU7+HhlFqWOytUxCTFhXN09lau7p9CwdoTJCQNLqcPJdxtymLp4J6t3H6p6/qymdbm5TxMGtEnQnA4RP6PyIQHrYFE5M5bvZurinVXbcAdZoG+reK7tkUq/VvX1k3YN2pRjZ3Z6Jp+uzuZQceU+LaHWIC7plMRNfRrTNklLZkX8lcqHBLyyCiffbchl5rLdLMnYX/V8QkwYw7okM7RTQ1o1iDYxof+wlTj4et1eZqdnsibzUNXzSbHhXNU9heE9G2lzMJEAoPIh8gcZ+wqZnZ7Jf1dmVa2ugMrt2y/t1JAhHRNJrqM9Q05FUVkFP27M5cu1e5m3JQ+Hs/LbSHCQhQvSEri6ewrntKive/OIBBCVD5FqlFU4+fG3PD5fk80vm/dV7ZwK0LVRHS5IS+CCtASa1deS3erYSx3M37KPb9bnMHdjbtXcGoBWCdFc3rUhl3VO1iiHSIBS+RD5C7ZiB9+s38vna/awdMd+/vhV0LReJBekJTAgLYHOKbUDeo7Ijvwi5m7MZe7GPNJ3HqDC9fv/qMZxtRjSMYkhHZNomaBLWCKBTuVD5BTk2Er54bccvv8tl6UZ+6suIUDlnVR7NKlL72Zx9G5Wj9YNoj2zSsPphAULYO9eSEyEc84Ba83fyTXXXsrSjP0szdjPku372bm/+KiPN4+Pon/reAZ3SKJdwxjtpyIiVVQ+RE5TQamD+Vvy+eG3HH7Zsq9qxcYRdSND6daoDp1Sa9MpuTbtk2OJDg9xb4g5c2D0aMjK+v255GR45RUYNsxtp6lwutiaV8i6LBurMw+yLOMAGflFRx0TYrXQs0kc57eOp3+beBrFaSt7EameyoeIG7hcBr/ttbN4ez6Ltu1n+Y4DlDicRx1jsVRumNW+YW1aNYiiRUI0LeKjaFg74vRGBebMgSuugGO/LI98ro8/Pq0CYitxsC2vkO37Ctm4186vWTY27LEdNW8DKpclt02K5aymdTmraRw9mtR1f7kSEb+k8iFSA8orXKzNOsTq3QdZm2ljTeYhsg+VVHtsZKiV5gnRpNSJoGGdCJJrV/7asHYt4qPDiIkI+fNKEKcTGjc+esTjjyyWyhGQHTv+dAmmpNzJXlsJObZS9thKybGVkH2olB35hWzLK6q6W+yxosKCadcwho7JteneuC7dm9QlNkJlQ0ROncqHiIfkFZSyNtPGb3vsbMkrYGtuATvyi46aN1IdiwViI0KoUyuU2rVCiI0IIfTgAULn/UxYRTmhTgehzgpcFgsVQcE4rNbKX4OslJ7bD1utGGwlDmwlDuyljj+NYFQnMTacZvWjaJEQRYfkWNo3rE3TepHaaVRE3ELlQ8REDqeLnflFbMsrJPtQCVkHS8g+VEL24V9tJY6//iSnITLUSmLtCBJjw0mMDadBbASN42rRPD6KpvWjiAoLrpHziojAqb1/67uRiJuFWIMq534cZ/lpeYWLQyXlHCp2cLConIPFlaMX5b9tovzViZRbQygPDqHcGkyQ4SLE6STYVUGIy4nV5SRi9N3EdmpHbEQIMRGVoyaxtUKIDgvW6hMR8Qka+RDxFkfmfGRn/3nCKZxwzoeIiNlO5f07cHdPEvE2Vmvlclr4fXXLEUd+P2GCioeI+DyVDxFvMmxY5XLahg2Pfj45+bSX2YqIeBvN+RDxNsOGwaWXmrLDqYiIJ6h8iHgjqxX69jU7hYhIjdBlFxEREfEolQ8RERHxKJUPERER8SiVDxEREfEolQ8RERHxKJUPERER8SiVDxEREfEolQ8RERHxKJUPERER8Siv2+H0yE127Xa7yUlERETkZB153zaquyv3MbyufBQUFACQkpJichIRERE5VQUFBcTGxp7wGItxMhXFg1wuF3v27CE6OhrLsbcV9yC73U5KSgqZmZnExMSYlkP+ml4r36HXyrfo9fId3vBaGYZBQUEBSUlJBAWdeFaH1418BAUFkZycbHaMKjExMfqi8xF6rXyHXivfotfLd5j9Wv3ViMcRmnAqIiIiHqXyISIiIh6l8nEcYWFhPPbYY4SFhZkdRf6CXivfodfKt+j18h2+9lp53YRTERER8W8a+RARERGPUvkQERERj1L5EBEREY9S+RARERGPUvmoxqRJk2jcuDHh4eH07NmT5cuXmx1JqjF+/Hi6d+9OdHQ08fHxDB06lM2bN5sdS07CM888g8ViYcyYMWZHkWpkZ2dz/fXXExcXR0REBO3bt2fFihVmx5JqOJ1OHnnkEZo0aUJERATNmjXjiSeeOKn7q5hJ5eMYs2fPZuzYsTz22GOsWrWKjh07ctFFF5GXl2d2NDnGvHnzGDlyJEuXLuWHH37A4XBw4YUXUlRUZHY0OYH09HTeeustOnToYHYUqcbBgwfp06cPISEhfPPNN/z222+8+OKL1KlTx+xoUo1nn32WN954g4kTJ7Jx40aeffZZnnvuOV577TWzo52Qltoeo2fPnnTv3p2JEycClfeaSUlJ4e6772bcuHEmp5MT2bdvH/Hx8cybN49zzz3X7DhSjcLCQrp06cLrr7/Ok08+SadOnZgwYYLZseQPxo0bx6JFi1iwYIHZUeQkDB48mISEBN55552q5y6//HIiIiL48MMPTUx2Yhr5+IPy8nJWrlzJgAEDqp4LCgpiwIABLFmyxMRkcjJsNhsAdevWNTmJHM/IkSMZNGjQUV9j4l2++OILunXrxpVXXkl8fDydO3dmypQpZseS4+jduzdz585ly5YtAKxdu5aFCxcycOBAk5OdmNfdWM5M+fn5OJ1OEhISjno+ISGBTZs2mZRKTobL5WLMmDH06dOHdu3amR1HqjFr1ixWrVpFenq62VHkBDIyMnjjjTcYO3Ys//73v0lPT2fUqFGEhoYyYsQIs+PJMcaNG4fdbqd169ZYrVacTidPPfUUw4cPNzvaCal8iF8YOXIk69evZ+HChWZHkWpkZmYyevRofvjhB8LDw82OIyfgcrno1q0bTz/9NACdO3dm/fr1vPnmmyofXuijjz5i+vTpzJgxg7Zt27JmzRrGjBlDUlKSV79eKh9/UK9ePaxWK7m5uUc9n5ubS4MGDUxKJX/lrrvu4quvvmL+/PkkJyebHUeqsXLlSvLy8ujSpUvVc06nk/nz5zNx4kTKysqwWq0mJpQjEhMTSUtLO+q5Nm3a8Mknn5iUSE7kvvvuY9y4cVxzzTUAtG/fnl27djF+/HivLh+a8/EHoaGhdO3alblz51Y953K5mDt3Lr169TIxmVTHMAzuuusuPv30U3766SeaNGlidiQ5jv79+7Nu3TrWrFlT9ejWrRvDhw9nzZo1Kh5epE+fPn9asr5lyxYaNWpkUiI5keLiYoKCjn4rt1qtuFwukxKdHI18HGPs2LGMGDGCbt260aNHDyZMmEBRURE33XST2dHkGCNHjmTGjBl8/vnnREdHk5OTA0BsbCwREREmp5M/io6O/tNcnMjISOLi4jRHx8vcc8899O7dm6effpqrrrqK5cuXM3nyZCZPnmx2NKnGkCFDeOqpp0hNTaVt27asXr2al156iZtvvtnsaCdmyJ+89tprRmpqqhEaGmr06NHDWLp0qdmRpBpAtY/33nvP7GhyEs477zxj9OjRZseQanz55ZdGu3btjLCwMKN169bG5MmTzY4kx2G3243Ro0cbqampRnh4uNG0aVPjoYceMsrKysyOdkLa50NEREQ8SnM+RERExKNUPkRERMSjVD5ERETEo1Q+RERExKNUPkRERMSjVD5ERETEo1Q+RERExKNUPkRERMSjVD5ERETEo1Q+RERExKNUPkRERMSjVD5ERETEo/4faLlHw8I04TAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "yvals = np.array([p.subs({x:xval}) for xval in xvals])\n", "plt.plot(xpoints, ypoints, 'o', color='r')\n", "plt.plot(xvals, yvals)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 187, "metadata": {}, "outputs": [], "source": [ "def lagrange(points):\n", " n = len(points)\n", " w = 1\n", " for xi in points: \n", " w *= (x-xi)\n", " Lpolys = []\n", " for xi in points:\n", " Lpolys.append(w/(x-xi)) \n", " for i in range(n):\n", " p = Lpolys[i]\n", " Lpolys[i] /= p.subs({x:points[i]})\n", " return Lpolys\n", " " ] }, { "cell_type": "code", "execution_count": 189, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(x - 8)*(x - 3)/24, -x*(x - 8)/15, x*(x - 3)/40]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "myLs = lagrange([0,3,8])\n", "display(myLs)" ] }, { "cell_type": "code", "execution_count": 190, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{x \\left(x - 8\\right)}{15} + \\frac{x \\left(x - 3\\right)}{4} + \\frac{\\left(x - 8\\right) \\left(x - 3\\right)}{8}$" ], "text/plain": [ "x*(x - 8)/15 + x*(x - 3)/4 + (x - 8)*(x - 3)/8" ] }, "execution_count": 190, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p" ] }, { "cell_type": "code", "execution_count": 191, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{x \\left(x - 8\\right)}{15} + \\frac{x \\left(x - 3\\right)}{4} + \\frac{\\left(x - 8\\right) \\left(x - 3\\right)}{8}$" ], "text/plain": [ "x*(x - 8)/15 + x*(x - 3)/4 + (x - 8)*(x - 3)/8" ] }, "execution_count": 191, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3*myLs[0]-1*myLs[1]+10*myLs[2]" ] }, { "cell_type": "code", "execution_count": 192, "metadata": {}, "outputs": [], "source": [ "myxvals = [0,3,5,8]\n", "myyvals = [3, -1, 6, 10]" ] }, { "cell_type": "code", "execution_count": 193, "metadata": {}, "outputs": [], "source": [ "myLs = lagrange(myxvals)\n", "myp=0\n", "for i in range(4):\n", " myp += myyvals[i]*myLs[i]" ] }, { "cell_type": "code", "execution_count": 194, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - \\frac{x \\left(x - 8\\right) \\left(x - 5\\right)}{30} - \\frac{x \\left(x - 8\\right) \\left(x - 3\\right)}{5} + \\frac{x \\left(x - 5\\right) \\left(x - 3\\right)}{12} - \\frac{\\left(x - 8\\right) \\left(x - 5\\right) \\left(x - 3\\right)}{40}$" ], "text/plain": [ "-x*(x - 8)*(x - 5)/30 - x*(x - 8)*(x - 3)/5 + x*(x - 5)*(x - 3)/12 - (x - 8)*(x - 5)*(x - 3)/40" ] }, "execution_count": 194, "metadata": {}, "output_type": "execute_result" } ], "source": [ "myp" ] }, { "cell_type": "code", "execution_count": 195, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGdCAYAAAAvwBgXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABEn0lEQVR4nO3dd3hUZcLG4d/MpFdKSAIkEHrvTUUUFCsiiGLD1UXXz1VQ0NUVbNgQdRVdG5Z1BddeKGJBkSYISA3VBOkhkECAZNLLzPn+GIyitACTdybz3Nc1FzAl59EhmYdz3mKzLMtCRERExAC76QAiIiISuFRERERExBgVERERETFGRURERESMURERERERY1RERERExBgVERERETFGRURERESMCTId4Fjcbje7d+8mOjoam81mOo6IiIicAMuyyM/Pp0GDBtjtxz7n4dNFZPfu3SQnJ5uOISIiIichIyODpKSkYz7Hp4tIdHQ04PkPiYmJMZxGREREToTT6SQ5Obnyc/xYfLqI/Ho5JiYmRkVERETEz5zIsAoNVhURERFjVERERETEGBURERERMUZFRERERIxRERERERFjVERERETEGBURERERMUZFRERERIxRERERERFjVERERETEGBURERERMUZFRERERIzx6U3vREREqlNhaQVb9hVwsKicvOJDt6IynCUVOOw2YsKCiQkPOvRrMHFRITSPjyI0yGE6ut9SERERkYDkLCkndWcuG3Y72bA7j427nWzbX4hlVe3rBDtstEyIpkPDWNo1jKVDw1jaN4ghyKGLDidCRURERALGnrxiZm/MZvbGbJZs2U+F+8+tIy4qlHrRocSGBxEbHkxseDAxYcG4LAtncQXOknKcxeU4SyrYnVtMXnH5oTLjhOUZANSJDOHi9olc1qE+PZvUUSk5BptlVbX7VR+n00lsbCx5eXnExMSYjiMiIn5ob34Jn67Yxbcbsli7K++wxxrXjaB9w1jaNYihXYNY2taPoV506Al/bcuy2HWwmPWZeazfncf6TCepGbnkFZdXPicuylNKruiSRLfGtU/bf5cvq8rnt4qIiIjUOJZlsTojlymLt/P1uj2UuzwfdTYbdGtUmwvaJnBB2wSa1os67ccud7lZunU/X63dw6wNWeQW/VZKejapw8h+zenTIg6bzXbaj+0rVERERCQglVW4mblmN1OWbD/s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n+PH4tNFJD8/H4Dk5GTDSURERKSq8vPziY2NPeZzbNaJ1BVD3G43u3fvJjo6GpvNZiSD0+kkOTmZjIwMYmJijGSQE6f3y3/ovfIfeq/8iy+8X5ZlkZ+fT4MGDbDbjz0KxKfPiNjtdpKSkkzHACAmJkbfgH5E75f/0HvlP/Re+RfT79fxzoT8SoNVRURExBgVERERETFGReQ4QkNDGTduHKGhoaajyAnQ++U/9F75D71X/sXf3i+fHqwqIiIiNZvOiIiIiIgxKiIiIiJijIqIiIiIGKMiIiIiIsaoiBzHq6++SkpKCmFhYfTq1Ytly5aZjiR/MGHCBHr06EF0dDTx8fEMHjyY9PR007HkBDz99NPYbDZGjx5tOoocRWZmJjfccAN169YlPDycDh06sGLFCtOx5A9cLhcPP/wwTZo0ITw8nGbNmvHEE0+c0F4vpqmIHMPHH3/MPffcw7hx41i1ahWdOnXioosuYu/evaajye8sWLCAESNGsHTpUmbPnk15eTkXXnghhYWFpqPJMSxfvpw33niDjh07mo4iR3Hw4EF69+5NcHAw33zzDRs3buT555+ndu3apqPJHzzzzDNMmjSJV155hZ9//plnnnmGZ599lpdfftl0tOPS9N1j6NWrFz169OCVV14BPHvfJCcnc+eddzJmzBjD6eRo9u3bR3x8PAsWLOCcc84xHUeOoKCggK5du/Laa6/x5JNP0rlzZ1588UXTseQPxowZw48//sjChQtNR5HjuOyyy0hISODtt9+uvO/KK68kPDyc9957z2Cy49MZkaMoKytj5cqV9O/fv/I+u91O//79WbJkicFkcjx5eXkA1KlTx3ASOZoRI0YwYMCAw76/xPd88cUXdO/enaFDhxIfH0+XLl146623TMeSIzjrrLOYM2cOmzZtAmDNmjUsWrSISy65xHCy4/PpTe9MysnJweVykZCQcNj9CQkJpKWlGUolx+N2uxk9ejS9e/emffv2puPIEXz00UesWrWK5cuXm44ix7F161YmTZrEPffcwwMPPMDy5cu56667CAkJ4aabbjIdT35nzJgxOJ1OWrdujcPhwOVyMX78eIYNG2Y62nGpiEiNMmLECNavX8+iRYtMR5EjyMjIYNSoUcyePZuwsDDTceQ43G433bt356mnngKgS5curF+/ntdff11FxMd88sknvP/++3zwwQe0a9eO1NRURo8eTYMGDXz+vVIROYq4uDgcDgfZ2dmH3Z+dnU1iYqKhVHIsI0eO5Msvv+SHH34gKSnJdBw5gpUrV7J37166du1aeZ/L5eKHH37glVdeobS0FIfDYTCh/F79+vVp27btYfe1adOGzz//3FAiOZr77ruPMWPGcO211wLQoUMHduzYwYQJE3y+iGiMyFGEhITQrVs35syZU3mf2+1mzpw5nHnmmQaTyR9ZlsXIkSOZNm0ac+fOpUmTJqYjyVGcf/75rFu3jtTU1Mpb9+7dGTZsGKmpqSohPqZ3795/mgq/adMmGjdubCiRHE1RURF2++Ef6Q6HA7fbbSjRidMZkWO45557uOmmm+jevTs9e/bkxRdfpLCwkOHDh5uOJr8zYsQIPvjgA2bMmEF0dDRZWVkAxMbGEh4ebjid/F50dPSfxu5ERkZSt25djenxQXfffTdnnXUWTz31FFdffTXLli3jzTff5M033zQdTf5g4MCBjB8/nkaNGtGuXTtWr17NxIkTufnmm01HOz5Ljunll1+2GjVqZIWEhFg9e/a0li5dajqS/AFwxNs777xjOpqcgHPPPdcaNWqU6RhyFDNnzrTat29vhYaGWq1bt7befPNN05HkCJxOpzVq1CirUaNGVlhYmNW0aVPrwQcftEpLS01HOy6tIyIiIiLGaIyIiIiIGKMiIiIiIsaoiIiIiIgxKiIiIiJijIqIiIiIGKMiIiIiIsaoiIiIiIgxKiIiIiJijIqIiIiIGKMiIiIiIsaoiIiIiIgxKiIiIiJizP8DA5x1SDSRQ2QAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xvals = np.arange(-0.2, 8.3, 0.1)\n", "yvals = np.array([myp.subs({x:xval}) for xval in xvals])\n", "plt.plot(myxvals, myyvals, 'o', color='r')\n", "plt.plot(xvals, yvals)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 196, "metadata": {}, "outputs": [], "source": [ "def interpolate(xpoints, ypoints):\n", " n = len(xpoints)\n", " myLs = lagrange(xpoints)\n", " p = 0\n", " for i in range(n):\n", " p += ypoints[i]*myLs[i]\n", " return p" ] }, { "cell_type": "code", "execution_count": 197, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - \\frac{x \\left(x - 8\\right) \\left(x - 5\\right)}{30} - \\frac{x \\left(x - 8\\right) \\left(x - 3\\right)}{5} + \\frac{x \\left(x - 5\\right) \\left(x - 3\\right)}{12} - \\frac{\\left(x - 8\\right) \\left(x - 5\\right) \\left(x - 3\\right)}{40}$" ], "text/plain": [ "-x*(x - 8)*(x - 5)/30 - x*(x - 8)*(x - 3)/5 + x*(x - 5)*(x - 3)/12 - (x - 8)*(x - 5)*(x - 3)/40" ] }, "execution_count": 197, "metadata": {}, "output_type": "execute_result" } ], "source": [ "interpolate([0,3,5,8],[3,-1,6,10])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## An example\n", "Consider approximating the function $f(x)=\\dfrac{1}{1+10t^2}$ over the interval " ] }, { "cell_type": "code", "execution_count": 198, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{1}{10 x^{2} + 1}$" ], "text/plain": [ "1/(10*x**2 + 1)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f = 1/(1+10*x**2)\n", "display(f)" ] }, { "cell_type": "code", "execution_count": 200, "metadata": {}, "outputs": [], "source": [ "points = np.arange(-1., 1.1, 0.2)\n", "basis = lagrange(points)\n", "values = [f.subs({x:xi}) for xi in points]\n", "p = interpolate(points,values)\n" ] }, { "cell_type": "code", "execution_count": 201, "metadata": {}, "outputs": [ { "data": { "image/png": "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xB//+Ed69erF119/zcCBA233VzgRT09PFi1adEE3k9CfPDfOS54b5yXPjfNypedGUS813kYIIYQQwo5kbRohhBBC6EqSESGEEELoSpIRIYQQQuhKkhEhhBBC6EqSERv461//ytixY/H29m7y5GyqqvLcc88RERFBhw4dmDJlCkePHrVvoO1Qbm4ut956K/7+/gQGBnL33XdTXFx80dtMmjQJRVHq/dx///0Oith1LV68mJiYGLy8vIiNjWXnzp0XPf6LL76gb9++eHl5MWjQIFavXu2gSNuf5jw3H3744QXvDy8vLwdG2z5s2rSJGTNmEBkZiaIoF13PzWLDhg0MHz4cT09PevbsyYcffmj3OG1FkhEbqKys5MYbb+SBBx5o8m1effVV/vGPf/Dee++xY8cOfHx8mDZtGuXl5XaMtP259dZb2b9/P+vWreP7779n06ZN3HfffZe83b333ktGRob159VXX3VAtK5r+fLlLFiwgEWLFpGYmMiQIUOYNm0aZ8+ebfD4rVu3MnfuXO6++252797NrFmzmDVrFvv27XNw5K6vuc8NaDN+1n1/nDp1yoERtw8lJSUMGTKExYsXN+n4kydPMn36dCZPnkxSUhKPPfYY99xzD2vXrrVzpDaiCpv54IMP1ICAgEseZzab1fDwcPXvf/+7dV9+fr7q6empfv7553aMsH05cOCACqi//vqrdd8PP/ygKoqipqenN3q7iRMnqo8++qgDImw/Ro8erT700EPW300mkxoZGam+9NJLDR7/m9/8Rp0+fXq9fbGxsepvf/tbu8bZHjX3uWnq55ywHUD96quvLnrMH/7wB3XAgAH19t10003qtGnT7BiZ7UjLiA5OnjxJZmYmU6ZMse4LCAggNjaWbdu26RiZa9m2bRuBgYGMHDnSum/KlCkYDAZ27Nhx0dt++umnBAcHM3DgQBYuXEhpaam9w3VZlZWVJCQk1Hu9GwwGpkyZ0ujrfdu2bfWOB5g2bZq8P2ysJc8NQHFxMV27diU6OpqZM2eyf/9+R4QrLqKtv2ecctVeV5eZmQlgnbXWIiwszHqdaL3MzExCQ0Pr7XNzcyMoKOii/+dbbrmFrl27EhkZyd69e3nqqac4fPgwK1eutHfILiknJweTydTg6/3QoUMN3iYzM1PeHw7QkuemT58+LF26lMGDB1NQUMBrr73G2LFj2b9/P1FRUY4IWzSgsfdMYWEhZWVldOjQQafImkZaRhrx9NNPX1Ckdf5PY29WYV/2fm7uu+8+pk2bxqBBg7j11lv5+OOP+eqrrzh+/LgN/woh2qa4uDjmzZvH0KFDmThxIitXriQkJIR//etfeocm2jBpGWnEE088wZ133nnRY7p3796i+w4PDwcgKyuLiIgI6/6srCyGDh3aovtsT5r63ISHh19QhFddXU1ubq71OWiK2NhYAI4dO0aPHj2aHW97FxwcjNFoJCsrq97+rKysRp+H8PDwZh0vWqYlz8353N3dGTZsGMeOHbNHiKKJGnvP+Pv7O32rCEgy0qiQkBBCQkLsct/dunUjPDyc+Ph4a/JRWFjIjh07mjUip71q6nMTFxdHfn4+CQkJjBgxAoCff/4Zs9lsTTCaIikpCaBe4iiazsPDgxEjRhAfH8+sWbMAMJvNxMfH8/DDDzd4m7i4OOLj43nssces+9atW0dcXJwDIm4/WvLcnM9kMpGcnMw111xjx0jFpcTFxV0w/L1NvWf0rqB1BadOnVJ3796tvvDCC6qvr6+6e/dudffu3WpRUZH1mD59+qgrV660/v7yyy+rgYGB6jfffKPu3btXnTlzptqtWze1rKxMjz/BZV111VXqsGHD1B07dqhbtmxRe/Xqpc6dO9d6fVpamtqnTx91x44dqqqq6rFjx9QXX3xR3bVrl3ry5En1m2++Ubt3765OmDBBrz/BJSxbtkz19PRUP/zwQ/XAgQPqfffdpwYGBqqZmZmqqqrq7bffrj799NPW43/55RfVzc1Nfe2119SDBw+qixYtUt3d3dXk5GS9/gSX1dzn5oUXXlDXrl2rHj9+XE1ISFBvvvlm1cvLS92/f79ef4JLKioqsp5LAPWNN95Qd+/erZ46dUpVVVV9+umn1dtvv916/IkTJ1Rvb2/1ySefVA8ePKguXrxYNRqN6po1a/T6E5pFkhEbuOOOO1Tggp/169dbjwHUDz74wPq72WxWn332WTUsLEz19PRUr7jiCvXw4cOOD97FnTt3Tp07d67q6+ur+vv7q/Pnz6+XJJ48ebLec5WamqpOmDBBDQoKUj09PdWePXuqTz75pFpQUKDTX+A6/vnPf6pdunRRPTw81NGjR6vbt2+3Xjdx4kT1jjvuqHf8//73P7V3796qh4eHOmDAAHXVqlUOjrj9aM5z89hjj1mPDQsLU6+55ho1MTFRh6hd2/r16xs8r1ieizvuuEOdOHHiBbcZOnSo6uHhoXbv3r3eOcfZKaqqqro0yQghhBBCIKNphBBCCKEzSUaEEEIIoStJRoQQQgihK0lGhBBCCKErSUaEEEIIoStJRoQQQgihK0lGhBBCCKErSUaEEEIIoStJRoQQQgihK0lGhBBCCKErSUaEEEIIoStJRoQQQgihq/8HPwlKXtp/X8EAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xvals = np.arange(-1.1, 1.1, 0.01)\n", "yvals1 = np.array([f.subs({x:xval}) for xval in xvals])\n", "yvals2 = np.array([p.subs({x:xval}) for xval in xvals])\n", "plt.plot(points, values, 'o', color='r')\n", "plt.plot(xvals, yvals1)\n", "plt.ylim(0,1.1)\n", "plt.plot(xvals,yvals2,)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Error Formula\n", "\n", "Let $f$ be a function that is differentiable $n$ times and let $x_1, x_2, \\ldots, x_n$ be $n$ number. Let $p$ be the unique polynomial of degree at most $n-1$ interpolating the points $(x_1, f(x_1)), (x_2, f(x_2)), \\ldots, (x_n, f(x_n))$. Then for any $x$, the error term $$f(x)-p(x) = w(x)\\frac{f^{(n)}(c)}{n!}$$ where $$w(x)=(x-x_1)(x-x_2)\\cdots(x-x_n)$$ and $c$ is some number between $\\min\\{x_1, \\ldots, x_n, x\\}$ and $\\max\\{x_1, \\ldots, x_n, x\\}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Proof\n", "\n", "Fix a number $x$ and let $E(x) = f(x)-p(x)$. We'll show the error term $E$ has the form given above.\n", "\n", "If $x$ is one of the $x_i$, then the error formula is correct since $f(x_i)=p(x_i)$ and $w(x_i)=0$ also. If $x$ is not one of the $x_i$, then $w(x)\\neq 0$ and we can divide $E(x)$ by $w(x)$. So, write $$f(x)-p(x) = w(x)F(x) \\text{ where }F(x) = \\frac{E(x)}{w(x)}.$$\n", "\n", "Now, consider the function $G(z)$ defined by $G(z) = f(z)-p(z)-w(z)F(x)$. Here, I'm treating $x$ as a fixed constant, but allowing the argument in the $f$, $p$, and $w$ to vary, so I'm using another letter for the variable that varies. Notice that $G(z)=0$ when $z=x_1, \\ldots, x_n, x$. So, by Rolle's theorem, there are points $c_1, \\ldots, c_n$ in each of the $n$ subintervals whose endpoints are $x_1, \\ldots, x_n, x$ where $G'(c_i)=0.$ Since $G'(z)$ vanishes at $n$ distinct points, Rolle's theorem says that there are $n-1$ points, one in each subinterval of $c_1, \\ldots, c_n$, where $G''$ vanishes. And so one. We get $n-2$ points where $G''(z)$ vanishes, $n-3$ pointes where $G^{(4)}(z)$ vanishes, all the way until we can find $1=n-(n-1)$ point, call it $c$, where $G^{(n)}(z)$ vanishes.\n", "\n", "Now, look at the $n$-th derivative of $G(z) = f(z)-p(z)-w(z)F(x)$:\n", "\n", "$$G^{(n)}(z) = f^{(n)}(z)-0-n!F(x)$$\n", "\n", "since $p(z)$ is a degreen $n-1$ polynomial, it's $n$-th derivative is zero and since $w(z)=(z-x_1)(z-x_2)\\cdots(z-x_n)=z^n+$ terms of lower degree, so the $n$-th derivative of $w$ is $n!$.\n", "\n", "Setting $0=G^{(n)}(c)$ and solving for $F(x)$ gives $$F(x) = \\frac{f^{(n)}}{n!} \\Rightarrow E(x)=w(x)F(x)=w(x)\\frac{f^{(n)}}{n!}.$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Chebyshev points\n", "\n", "Now that we see the error formula for an interpolating polynomial, we can consider the problem of how to find a better interpolating polynomial to approximate a given function $f$ on some interval. Take a look at the error term $$E(x)=w(x)\\frac{f^{(n)}}{n!}$$ and think about how we might be able to reduce it.\n", "\n", "Assuming that all the derivatives of $f$ are bounded by reasonable constants on the interval of interest (or at least acknowledge that we can't change $f$ or it's derivatives) we can see a couple of ways to reduce $E$. One way to make $E$ smaller is to increase $n$ (the number of interpolating points). In the previous example interpolating $f(x)=\\frac{1}{1+10x^2}$, we see that the error is quite large at many points near the ends of the interval $[-1,1]$. Adding more interpolation points, especially near the ends of the interval, might be a good idea. Although it's unclear without more experience whether that will create greater errors in other situations. Another idea is to try to make $w(x)$ smaller. If we think of $$w(x)=(x-x_1)(x-x_2)\\cdots (x-x_n)$$ as a function of $x$ that depends on the choice of interpolation points $x_1, \\ldots, x_n$, we can try to choose the points to make $w$ as small as possible on the interval of interest. It turns out that there is an elegant, universal solution (by _universal_ I mean we're solving a problem that does not depend on the function $f$). I won't prove this result, but the choice of points $x_1, \\ldots, x_n$ that minimize the polynomial $w(x)$ over $[-1,1]$ are called Chebyshev points. They have a simple formula as the cosine of evenly spaces angles between $0$ and $\\frac{\\pi}{2}$. That produces numbers between $[-1,1]$ that are more concentrated near the endpoints and less concentrated in the middle.\n", "\n", "The formula for $n+1$ Chebyshev points on the interval $[-1,1]$ are\n", "\n", "$$\\cos\\left(\\frac{\\pi}{2n+2}\\right), \\cos\\left(\\frac{3\\pi}{2n+2}\\right), \\cos\\left(\\frac{5\\pi}{2n+2}\\right),\\ldots, \\cos\\left(\\frac{(2n+1)\\pi}{2n+2}\\right)$$\n", "\n", "Let's take a look at what happens when you find a degree ten approximation for $f(x) = \\frac{1}{1+10x^2}$ by interpolating at $11$ Chebyshev points.\n" ] }, { "cell_type": "code", "execution_count": 202, "metadata": {}, "outputs": [ { "data": { "image/png": "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XceePXto3LjxZT9vaVTUOUxLS2PgwIG0atWKv/71r0W2lec5lMvz+uuvM2XKFBYtWlSkk+cdd9zhftymTRvatm1L48aNWbRoEdddd50VoZZY165diyx82q1bN1q2bMmHH37IK6+8YmFkZW/SpEm0adOGzp07FymvyuevsqiSyciTTz7Jvffee9E6jRo1uqznDg8PByA5OZmIiAh3eXJyMu3atXPXOXbsWJH98vPzOXnypHv/K1HS47vSOKZNm0ZWVhYjR468ZN0uXbrwyiuvkJOTc8XrF1TU8RXq0qULALt376Zx48aEh4ef1xM8OTkZoEzOH1TMMaanpzNgwAACAwOZMWMGnp6eF61fluewOKGhoTgcDvfvslBycvIFjyU8PPyi9UvyfqxIl3OMhd58801ef/115s+fT9u2bS9at1GjRoSGhrJ79+4KvZhdyfEV8vT0pH379uzevRuoXOfwSo4vMzOTKVOm8PLLL1/ydaw6f5fjQu/BoKAgfH19cTgcV/w3USJl1vukkittB9Y333zTXZaamlpsB9bVq1e768ybN8+yDqyXG0evXr3OG4FxIa+++qpRq1aty471cpTV73nJkiUGYGzYsMEwjLMdWM/tCf7hhx8aQUFBRnZ2dtkdQAlc7jGmpqYaV199tdGrVy8jMzOzRK9VEeewc+fOxh//+Ef3z06n04iKirpoB9abbrqpSFnXrl3P68B6sfdjRSvtMRqGYbzxxhtGUFCQkZCQUKLXOHjwoGGz2YyZM2decbyldTnHd678/HyjefPmxhNPPGEYRuU7h5d7fB9//LHh7e1tpKSkXPI1rDx/56KEHVjj4uKKlI0YMeK8DqxX8jdRoljL7JkqqQMHDhjr1q1zD19dt26dsW7duiLDWJs3b25Mnz7d/fPrr79uhISEGDNnzjQ2btxoDBkypNihve3btzdWrFhhLFmyxGjatKllQ3svFsehQ4eM5s2bGytWrCiy365duwybzWb88MMP5z3nrFmzjIkTJxqbNm0ydu3aZbz33nuGn5+f8eKLL5b78fxWaY9v9+7dxssvv2ysXr3a2LdvnzFz5kyjUaNGxjXXXOPep3Bob79+/Yz169cbc+fONerWrWvp0N7SHGNqaqrRpUsXo02bNsbu3buLDCfMz883DMO6czhlyhTD29vb+OSTT4ytW7cav//9742QkBD3yKV77rnHeOaZZ9z1ly5danh4eBhvvvmmsW3bNmPcuHHFDu291PuxIpX2GF9//XXDy8vLmDZtWpFzVfgZlJ6ebvz5z382EhISjH379hnz5883OnToYDRt2rTCk+PLOb6XXnrJmDdvnrFnzx5jzZo1xh133GH4+PgYW7ZscdepTOewtMdXqEePHsbw4cPPK69s5y89Pd19nQOMt956y1i3bp1x4MABwzAM45lnnjHuueced/3Cob1PPfWUsW3bNmPChAnFDu292O+sLFT7ZGTUqFEGcN7XwoUL3XUomI+hkMvlMl544QUjLCzM8Pb2Nq677jpjx44dRZ73xIkTxogRI4yAgAAjKCjIGD16dJEEp6JcKo59+/add7yGYRhjx441YmJiDKfTed5z/vDDD0a7du2MgIAAw9/f34iPjzc++OCDYuuWt9IeX2JionHNNdcYtWvXNry9vY0mTZoYTz31VJF5RgzDMPbv32/ccMMNhq+vrxEaGmo8+eSTRYbFVqTSHuPChQuL/ZsGjH379hmGYe05/Pe//23Ur1/f8PLyMjp37mwsX77cva1Xr17GqFGjitT/6quvjGbNmhleXl5G69atjdmzZxfZXpL3Y0UrzTE2aNCg2HM1btw4wzAMIysry+jXr59Rt25dw9PT02jQoIHxwAMPlOkHfWmV5vgef/xxd92wsDDjxhtvNNauXVvk+SrbOSzt3+j27dsNwPjxxx/Pe67Kdv4u9PlQeEyjRo0yevXqdd4+7dq1M7y8vIxGjRoVuR4WutjvrCzYDKOCx2uKiIiInEPzjIiIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKWUjIiIiIillIyIiIiIpZSMiIiIiKX+H/35aae5STREAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "points2 = [sym.cos((2 * j + 1) * sym.pi / (22)) for j in range(11)]\n", "[point.evalf() for point in points2]\n", "basis2 = lagrange(points2)\n", "values2 = [f.subs({x:xi}) for xi in points2]\n", "p2 = interpolate(points2,values2)\n", "xvals = np.arange(-1., 1.01, 0.01)\n", "plt.plot(points2, values2, 'o', color='r')\n", "yvals1 = np.array([f.subs({x:xval}) for xval in xvals])\n", "plt.plot(xvals, yvals1)\n", "plt.ylim(0,1.1)\n", "yvals2 = np.array([p2.subs({x:xval}) for xval in xvals])\n", "plt.plot(xvals,yvals2,)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Also, look how small the polynomial $w$ is on the interval $[-1,1]$" ] }, { "cell_type": "code", "execution_count": 206, "metadata": {}, "outputs": [ { "data": { "image/png": "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RtpvYGAgvL29pToREREwGo04c+aM7H5XrFiB8PBwtGrVyqL8/Pnz8PHxQZs2bTB69GikpKRU2qfCwkIYjUaLhYiIiBonq4UkvV4PLy8vizI7Ozu4u7tDr9dXuI1SqYSrq6tFube3t7SNXq+3CEhl68vW/V16ejq2bt2KZ5991qJcp9Nh9erV2LZtG5YuXYrk5GTce++9yMnJqbBPc+fOhUajkRZfX98K6xIREVHDVu2QNHPmTNlB0X9dEhISrNHWO7JmzRq4urpi0KBBFuUPP/wwhg4diq5duyIiIgJbtmxBdnY2NmzYUOG+Zs2aBYPBIC2pqalWbj0RERHVFbvqbjB9+nSMHz++0jpt2rSBVqvF1atXLcpNJhOysrKg1Wplt9NqtSgqKkJ2drbF2aTMzExpG61Wi8OHD1tsV3b329/3K4TAypUrMWbMGCiVykrb7Orqig4dOiApKanCOiqVCiqVqtL9EBERUeNQ7ZDk6ekJT0/P29YLCwtDdnY24uLiEBISAgDYtWsXzGYzdDqd7DYhISGwt7fHzp07MWTIEABAYmIiUlJSEBYWJu33P//5D65evSpdztuxYwfUajU6depksb+9e/ciKSkJkZGRt21vbm4uLly4gDFjxty2LhERETV+VhuT1LFjRwwYMAATJ07E4cOHceDAAUydOhUjRoyAj48PACAtLQ0BAQHSmSGNRoPIyEhERUVh9+7diIuLw4QJExAWFoZevXoBAPr3749OnTphzJgxOHHiBLZv34433ngDU6ZMKXeWZ8WKFdDpdOjSpUu59r366qvYu3cvLl26hIMHD+LJJ5+Era0tRo4caa23hIiIiBqQap9Jqo5vvvkGU6dORb9+/WBjY4MhQ4bg448/ltYXFxcjMTERt27dksoWL14s1S0sLERERAQ+++wzab2trS02b96M559/HmFhYXB2dsa4cePwzjvvWLy2wWDA999/j48++ki2bVeuXMHIkSNx48YNeHp6ok+fPjh06FCVzpIRERFR46cQQoi6bkRDZTQaodFoYDAYoFar67o5REREVAVV/f7ms9uIiIiIZDAkEREREclgSCIiIiKSwZBEREREJIMhiYiIiEgGQxIRERGRDIYkIiIiIhkMSUREREQyGJKIiIiIZDAkEREREclgSCIiIiKSwZBEREREJIMhiYiIiEgGQxIRERGRDIYkIiIi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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "w=1\n", "for xi in points2: \n", " w *= (x-xi)\n", "yvals3 = np.array([w.subs({x:xval}) for xval in xvals])\n", "plt.plot(xvals,yvals3)\n", "plt.axhline(y=0, color='k')\n", "plt.ylim(-.01,.01)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise\n", "Analyze the error formula in the case that $f(x)=\\frac{1}{1+10x^2}$ in the case that the eleven interpolation points are evenly spread on $[-1,1]$ and for the eleven Chebyshev points in $[-1,1]$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.18" } }, "nbformat": 4, "nbformat_minor": 2 }