{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import math\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "\n", "scale = 1;\n", "fsize = (12*scale, 9*scale)\n", "mpl.rcParams['axes.titlesize'] = 26*scale\n", "mpl.rcParams['legend.fontsize'] = 22*scale\n", "mpl.rcParams['axes.labelsize'] = 20*scale\n", "mpl.rcParams['lines.linewidth'] = 2*scale\n", "mpl.rcParams['lines.markersize'] = 16*scale\n", "mpl.rcParams['xtick.labelsize'] = 18*scale\n", "mpl.rcParams['ytick.labelsize'] = 18*scale" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plotting and forward difference (derivative) error example\n", "\n", "Suppose we wish to compute $f'(x_0)$ using the forward difference\n", "\n", "$$ D(f,h) := \\frac{f(x_0 + h) - f(x_0)}{h}.$$\n", "\n", "The error has two parts: \n", "* A *truncation error* from the Taylor series:\n", "$$ f(x_0+h) = f(x_0) + hf'(x_0) + \\frac{h^2}{2}f''(\\eta(h)) + \\cdots$$\n", "It follows that\n", "$$ \\text{trunc. err.} \\approx \\frac{Ch}{2}$$\n", "where constant $C$ depends on $h$ (precisely, $\\eta$ is a point between $x_0$ and $x_0 + h$.\n", "\n", "* A *representation (rounding) error* from computing $f$. Assuming that $f$ is actually computed as $\\tilde f$ where\n", "\\[\n", " \\tilde f = f + \\tex{err}, \\quad |\\text{err}| < \\delta\n", "\\]\n", "we have that the rounding error is bounded as follows:\n", "$$ \\text{rounding err.} \\leq \\frac{\\delta + \\delta}{h} = \\frac{2\\delta}{h}.$$ \n", "The standard functions (like $e^{2x}$) here are computed up to `machine epsilon', $\\delta \\approx 1.2 \\times 10^{-16}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### A numerical test...\n", "\n", "Here we test the approximation for $f(x) = e^{2x}$ at $x_0 = 0$. \n", "\n", "A log-log plot of the error $E(h)$ vs. $h$ shows the rate of convergence; an error $Ch^p$ has a slope of $p$ on the plot. \n", "\n", "Obviously we want $p > 0$ so the error $\\to 0$ as $h\\to 0$, but rounding error spoils it when $h$ is small." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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T7F3uVztJh3RsVzqQ79J0oAOxtwt7ulV1tp7rLUjrbUjvV5vb79cj9XU1CQ17vTzAwCA7LXjjjsmHC8sLExTJbkv2wL9V2pcVhMv1A9T43Kc2jTXlLE6+0ZJ9hupt58fAABkp7Vr16p//45XQbvdbpWWlqaxotyWbYH+TTXWfEjLi9s2tB4oaYkTRWWqsrIyud3uuGOp+EYqKyvTgAHxPzAZMGAA36gAAPRB69ev14knnqivv/5a+fn57bKC2+1WcXGxfD6fQxXmnmwL9I9JspImtrk+XtJ2kh5Oe0UZzOfzqbi4uF2od7lcKflG8vl8Hf71vd122/GNCgBAHxONRnXyySerurpaI0aM0LvvvqurrrqqVXtrv9+v6upqeTwep8vNGRmxKdYY8xtJu23752WS+ku6Zdu/P7PWPtTi3jskXSrpCUnPSdpXjSfFvibpWGttQ7rqlqSRI0faJUsy94OBaDSqYDCoqqqq5g2s1lr96U9/0q9//euknvull17Sscceq/z8fA0aNEhr1qzR4MGDtXZt457k9957T/vvv3/S7wEAAGS+TZs26eSTT9bLL7+sXXbZRa+88op23313p8vKGdmwKXacpOu3fX1X0vYt/j2uzb0TJV0paX9Jd6nxdNg7JI1Od5jPBh6PR+Xl5QqHw2poaNCcOY1ncl199dXasiVe98+uqaur08SJjR+UBAIBRSIR1dfXa/Xq1ZowYYKstbryyitT8h4AAEBm27x5s37+85/r5Zdf1k477aSXXnqJMJ9GGTFDn80yfYa+ra1bt+rAAw/UsmXLdNNNN8nv9/foee6++26VlpZqt9120wcffKDvfOc7zWOrVq3SHnvsofXr1+v555/Xz372s1SVDwAAMsyWLVt06qmnavHixSoqKtLLL7+sffbZx+myck42zNAjTfLz85tn6a+//np9/fXX3X6OtWvXavr06ZKkm2++uVWYlxr7z19zzTWSpCuvvFJ1dXVJVg0AADJBNBpVIBBotSb+Bz/4gRYvXiyv16sXX3yRMO8AAn0fdNxxx+mUU05RNBrVtGnTuv346667TpFIREceeaR++ctfxr3nsssu0+67767//ve/mjdvXrIlAwAAh0WjUZWUlKiiokKRSETWWkUiEX300UdyuVx6+umn2TvnEAJ9H3XLLbcoPz9f999/v958880uP+7DDz/UHXfcIWOM5syZI2NM3PvcbrduuukmSdK1116rdevWpaRuAADgjGAwqFAopFgs1m4sLy9Pzz//vANVQSLQ91l77LGHJk2aJEm6/PLLEx7N3NLkyZNVV1encePG6Uc/+lHCe08//XT95Cc/0apVq3TjjTcmXTMAAHBOZWVl3DAvSbW1taqqqkpzRWjCptgkZdum2JbWr1+vvfbaS99++63++Mc/6uyzz054/+LFi3XiiSdq0KBB+r//+z8VFRV1+hpvvPGGDj30UPXv31/Lly9nxzsAAFnK5XIlnAB0uVyqr69PY0V9C5tiEdegQYOaZ879fr+i0WiH927durV5Rn/69OldCvOSdMghh+jss89WbW2tpkyZknzRAADAEYWFhUmNo/cQ6Pu48847TyNHjtRXX33VvOY9nqqqKi1fvlx77LGHLr/88m69xg033CC3260///nPev3115MtGQAApFlDQ4N23XXXDsfdbrdKS0vTWBFaItD3cS6XS7fffrukxs0un3zySbt7IpGIAoGApMbNtP379+/WawwfPrz5kKlJkyapoYHzvwAAyBYNDQ0qLS3Vf/7zHxlj2uUAt9ut4uJi+Xw+hyoEgR467LDDdPbZZ2vLli1xvxkDgYDWrl2r4447TmPGjOnRa1x11VUaOnSo3njjDT322GPJlgwAANLAWqtLL71U99xzj9xut55++mlNmTKlVR96v9+v6upqeTwep8vts9gUm6Rs3hTb0pdffqm9995bmzZt0t///ncdc8wxkqT3339fBxxwgIwxevfdd5PqLzt//nxdeOGFGj58uJYvX97uQCoAAJA5rLW67LLLdNddd2nAgAF65plndNxxxzldVp/Fplh0apdddtHUqVMlSRMnTlRdXZ2stc1LZCZMmJD0YRG//e1vdcABB+jzzz/X7NmzU1E2AADoBdZaTZw4sTnMP/XUU4T5DMYMfZJyZYZekjZv3qy9995bX3zxhTwejzZu3Chrrdxut5YvX67ddtst6dd48cUX9dOf/lT5+fkaOHCg1qxZo8LCQpWVlcnn8/FxHQAADrPWavLkyZozZ4769++vJ598UieeeKLTZfV5zNCjS1r2jo1Go829Zuvq6nTyyScnbGvZVYceeqgGDhyorVu3avXq1c3HRldUVKikpCQlrwEAAHrGWiufz6c5c+YoPz9fjz/+OGE+CxDo0SwYDGrV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9Gjdf//9+vbbb2WMSficq1at0qJFi7Ru3TpJtMYEgFxw77336qKLLpIkFRUVtft0t2nZpc/nc6I89GHZFujfVGPNh7S8aIxxSzpQEovZ+7Cetq5csWKFXnzxRbndbn3++eeqr69XOBxWeXl53HXw/fv379LHqWPGjNGOO+6oQw45RMcff7w++ugjlugAQJZqGeZvueUWrVixQn6/v9Wnri0ngoB0yrZA/5gkK2lim+vj1bh2/uG0V4SM0dMlN03LY84880ztuOOOXXpMonX3/fv316hRo/STn/xELpdLb775pv71r3+ptjb+h0d0RKMZyuQAACAASURBVACAzNY2zE+ePFkej0fl5eUKh8OdTgQBvS0jutwYY34jabdt/7xMjd1mbtn278+stQ+1uPcOSZdKekLSc5L2VeNJsa9JOtZa25CuuiW63GSS+vp6FRQUaMuWLVq3bp0GDRrU6WM2bdqkYcOGae3atVqyZIkOOuigLr1W0xKazrrcbNy4Ua+99ppOOOGEhM9HRwQAyEzxwjzghGzocjNO0vXbvr4rafsW/x7X5t6Jkq6UtL+ku9R4OuwdkkanO8wjs7TsdPPBBx906TGPPvqo1q5dq0MPPbTLYV5qXHdfXV3d6cetBQUFOv744zVkyJCEz0dHBADIPIR5ZIuMCPTW2qMTnOZ6dJt76621t1hr97bWDrDWDrPWTrbWsqsQ3VpHb63VXXfdJUm65JJLuv1a3fm4NdESHToiAICz4nUhGzNmDGEeWSPP6QKAVOrOOvp///vf+s9//qMhQ4bojDPO6NW6fD6fHn/88bhHhe+00050RAAAh8RbQhmJRLRo0SJJ0g033ECYR8ZLaobeGFNgjNnLGHO4MeZHxphhqSoM6InutK5smp0fN25ch7PnqRJvic522zWegZafn6+8PP62BgAnBIPBuJMtkpSXlxf3OpBpur0p1hhTLOkCScdJ+pHa/1FQI+klSY9LWmitjX/6To5gU2xm+fDDD7XPPvto+PDh+uyzzzq8LxwOa9ddd9XWrVv18ccfa8SIEekrcptYLKYDDzxQH374oa655hpdf/31aa8BAPo6r9erSCSScDwcDqexIiC+lGyKNcaMNMYslvShpKmSDpD0nqS/SnpU0pOSXpVUL+mMbde+NMZM7eAgKCDliouL1b9/f33++efasGFDh/fdd999qq2t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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def fd_approx(f,h,x0):\n", " return (f(x0+h)-f(x0))/h\n", "\n", "def fd_data(f,x0,p,q,num=20):\n", " '''generates h vs. D(f,h), with log10-spaced h's from 10^(p) to 10^(q) '''\n", " hvals = [10**(p + (k/(num-1))*(q-p)) for k in range(0,num)]\n", " dvals = [fd_approx(f,h,x0) for h in hvals]\n", " return hvals,dvals\n", "def func(x):\n", " return np.exp(2*x)\n", "\n", "def max_error(approx,lim): #max error; list 'approx' vs. limit 'lim'\n", " return [abs(v - lim) for v in approx]\n", "\n", "x0 = 0\n", "exact = 2.0 # exact value of f'(0)\n", "\n", "hvals,dvals = fd_data(func,x0,-16,0,num=50)\n", "derr = max_error(dvals,exact)\n", "\n", "plt.figure(1,figsize=fsize)\n", "plt.loglog(hvals,derr,'.-k') \n", "plt.gca().set_aspect('equal') #make axes have equal scales \n", "plt.xlabel('h')\n", "plt.ylabel('E(h)');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Inferring the rate from numerical data\n", "For smaller values, rounding error dominates - and the total error increases as $h$ shrinks!\n", "\n", "Now suppose we want to infer the slopes from the data. A linear fit to the two regions\n", "should find that the slopes are about -1 and 1. This is shown below. \n", "\n", "The numerical data confirms the theory, which predicted that\n", "\n", "$$E(h) \\leq \\frac{Ch}{2} + \\frac{2\\delta}{h}.$$\n", "\n", "The truncation error (scaling like $O(h)$) dominates until $h \\approx 10^{-8}$. \n", "For smaller values, rounding error dominates - and the total error increases as $h$ shrinks!\n", "\n", "The error is minimized at a certain value of $h$; by finding the minimum of the bound, you can predict the value." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Slope (h < 1.0e-08): -0.93\n", "Slope (h > 1.0e-08): 1.02\n", "\n" ] }, { "data": { "image/png": "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UhLvfvouufG5LF68mOTk5Artu5OTk0lPTycuLs7BikOHKf9/vtS+QYMG2YyMDKfLqNKRlplVddE566yz+M8333Dzpk18deAAH/frx69atz7he7z55ptcf/31tGjRgqioKHJzc7HW0qFDB9asWUOzZs1q69MRERGRBipYFGTllStpe2Nb3ve9z5133klUVBSffPIJF1xwgdPlhQxjzBJr7aCjr2uFP4zFxcWRnp5e4afqiIgIAG677TY2WstXBw5QZC2/W7GCxQcPntD7B4NBJk6cCEBqaip79uzB5/Ph8XjYsWMH6enptf45iYiISMNirWXD/RvI/TCX1Teu5o273wBg5syZCvv1RIE/zMXFxTFhwgRycnIIBAK89dZbADz11FOcExvLq717Y4BDwSCXZmay5gROvJs7dy4rV66kU6dO/OEPfwCgSZMmPPDAAwA89thjtf75iIiISMOy/W/b2TFjBwBZEVl8E/yGBx98kD//+c8OVxY+FPilgt/97nf069ePbdu2MWvWLK5t25ZpPXoA4C0q4qLly9l2jL765QWDQR555BEARo0aRUxMTNnYsGHDaNmyJZ9//jlfffVV3XwiIiIi4rjc+blsGL4BgP2R+xkVGMWvLvsVjz/+uMOVhRcFfqnA5XIxbtw4ACZPnkxhYSFDOnZkQteuAGw9fJiLli8nt6io2vf54IMPWL58OR06dKj0E3zz5s259957Aa3yi4iIhKpDKw+x6rpVEIQiVxEji0fSrm87Xn/99bItxFI/FPilkquuuoo+ffqwdetWXn75ZQDGdenCPR07ArA6P5/fLF+Or7i4ytdba8tW90eOHFm5ExBw//3307RpU/71r3+xZMmSuvlERERExBGFewrJvCyTQF4AgEeDj7LPs48PPvhADTscoMAvlZRf5Z80aRKFhYUYY3ime3duaNsWgIy8PL45xkO8H3/8Md999x2nnXYad9xxR5Vz4uPjy3rwa5VfREQkNPh8Ph4e+zCzOszCv7lkC/ALvMCiqEXMnTuXrqU7BqR+KfBLla6++mp69+5NdnY2s2fPBsBlDC+feSa/b9OG9/r25aIq2nSWX91PTk4mNjb2mPcYMWIEMTExZQ/3ioiISON1pN330088TW5xLgALWMBrvEbbtm0ZMGCAwxWGLwV+qVJERAQPPfQQULLKX1S6Zz/a5WJO375c1qZN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jmzrycjIYMOGDQr8IiISFvLX55P1lywA9rCHsYwldWoql156UueNSghpNFt6rLWDS1tjVvVn8FFzA9baJ6y1vay1MdbajtbaEdZan0PlSx06+jTdjIMHiftZyc+G2scvIiLhokmPJrRKbUWeyWMMY7jp3pu45557nC5LGoDGtMIvclyf7N3L71eu5PAll8DHHyvwi4hI2Ni7dy/XPnct2+w2Bl86mCeffNLpkqSBaDQr/CI1cTAQID8QoCgiAiZPZonX63RJIiIidcLn8zFh7AS6xXfD5XLRrl071q1bxxl9zuCNN94gMlLrulJCgV9CypUeDzN79iz5oEULPrn4YrL9/upfJCIi0sj4fD4Sf5xI8PEgE/dOpJPtRFFREQBFRUWVtrtKeFPgl5BzR4cOjGnbFoCili25aNky9hTqrDUREQkdaWlpnLvuXH4e/Dkd6chd3FU2tmXLFtLS0hysThoaBX4JSRPPPJOo994DYF1BAZdmZpJXXOxwVSIiIrXj+6e+59biWwHYznamMKVszO/3M2PGDKdKkwZIgV9Cksvlos+XX8KCBQBk5OXx+xUrOBxUV1YREWncDi4+yLC8YQD48DGWsRzkYIU5ubm5TpQmDZQCv4SsHgkJkJrK2aUn8O4sLGS/VvlFRKQR82/1s+K3K4ghhgABHuERssmuNC8+Pt6B6qShUuCXkNWjRw8IBLh08WLu6diRLwYO5LToaKfLEhEROSnFvmJW/HYFhbtKnkv7G39jMYsrzXO73QwZMqS+y5MGTP2aJGR1794dgOx163i1Rw+HqxERETk164eux7e05AzRucxlfsx83MaNv1w3OrfbTUJCAklJSU6VKQ2QVvglZB0J/FUdvvXstm08u21bfZckIiJy0jqN7EReszwWs5i3PG+xZMkSkpOT8Xg8uFwuPB4PycnJpKenExcX53S50oBohV9C1pHAv379+grX07ZsIXnjRgDio6K48bTT6r02ERGREzVz/kwm5k0kKiaKjz74iD59+jBhwgQmTJjgdGnSwGmFX0JWu3btaNKkCXv37mXv3r1l13/VqhXNIiIA+MOaNcxXJwMREWmgAgUBAObOnUtycjIHOcjMV2fy4x//2OHKpDFR4JeQZYwpW+XPysoquz6wWTPe79uXGGMotparV65k0YEDTpUpIiJSpYKsAv7X/X98M+EbbrrpJqy1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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def loglog_fit(x,y):\n", " ''' quick (not efficient) routine to compute a fit for data Y ?= C*X^p \n", " by fitting a line to log(Y) = p*log(X) + C\n", " ''' \n", " lx = np.log(x) # use numpy's linear fitting code here\n", " ly = np.log(y)\n", " coeffs = np.polyfit(lx,ly,1)\n", " return coeffs\n", "\n", "def loglog_val(coeffs,x):\n", " '''evaluates the fit defined by coeffs at x-values (Y = C*X^p)'''\n", " return [np.exp(coeffs[1] + coeffs[0]*np.log(v)) for v in x]\n", "\n", "i1 = 0; #find the middle point (manually, not by seeking the min.)\n", "cutoff = 1e-8;\n", "while hvals[i1] < cutoff:\n", " i1 += 1\n", " \n", "c1 = loglog_fit(hvals[:i1], derr[:i1]) #fit to each half\n", "c2 = loglog_fit(hvals[i1:], derr[i1:])\n", "\n", "fit1 = loglog_val(c1,hvals) #evaluate fits\n", "fit2 = loglog_val(c2,hvals)\n", "\n", "print(' \\nSlope (h < {:.1e}): {:.2f}'.format(cutoff,c1[0]))\n", "print('Slope (h > {:.1e}): {:.2f}\\n'.format(cutoff,c2[0]))\n", "\n", "#plotting...\n", "plt.figure(1,figsize=fsize)\n", "plt.loglog(hvals,derr,'.-k')\n", "plt.loglog(hvals,fit1,'--c',hvals,fit2,'--m',linewidth=2.5)\n", "plt.xlabel('h')\n", "plt.ylabel('D(f,h)')\n", "plt.legend(['error','fit (s=-0.93)','fit (s=1.02)'])\n", "plt.ylim([1e-10, 1e1]);" ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }