{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import division\n", "import numpy as np\n", "import numpy.linalg as la\n", "import matplotlib.pyplot as pt" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "c = 20*2*np.pi\n", "\n", "def f(x):\n", " return np.sin(c*x)\n", "\n", "def df(x):\n", " return c*np.cos(c*x)\n", "\n", "n = 2000\n", "x = np.linspace(0, 1, n, endpoint=False).astype(np.float32)\n", "\n", "plot(x, f(x))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nyEQAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "h_values = []\n", "err_values = []\n", "\n", "for n_exp in xrange(5, 24):\n", " n = 2**n_exp\n", " h = (1/n)\n", "\n", " x = np.linspace(0, 1, n, endpoint=False).astype(np.float32)\n", "\n", " fx = f(x)\n", " dfx = df(x)\n", "\n", " dfx_num = (np.roll(fx, -1) - np.roll(fx, 1)) / (2*h)\n", "\n", " err = np.max(np.abs((dfx - dfx_num))) / np.max(np.abs(fx))\n", "\n", " print h, err\n", "\n", " h_values.append(h)\n", " err_values.append(err)\n", "\n", "pt.rc(\"font\", size=16)\n", "pt.title(r\"Single precision FD error on $\\sin(20\\cdot 2\\pi)$\")\n", "pt.xlabel(r\"$h$\")\n", "pt.ylabel(r\"Rel. Error\")\n", "pt.loglog(h_values, err_values)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.03125 148.291\n", "0.015625 66.5355\n", "0.0078125 19.2357\n", "0.00390625 4.98669\n", "0.001953125 1.25798\n", "0.0009765625 0.318611\n", "0.00048828125 0.0862198\n", "0.000244140625 0.0271683\n", "0.0001220703125 0.0188675\n", "6.103515625e-05 0.0407867\n", "3.0517578125e-05 0.0859985\n", "1.52587890625e-05 0.163803\n", "7.62939453125e-06 0.336319\n", "3.81469726562e-06 0.663834\n", "1.90734863281e-06" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 1.66391\n", "9.53674316406e-07" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 2.33687\n", "4.76837158203e-07" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 5.66476\n", "2.38418579102e-07" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 13.6656\n", "1.19209289551e-07" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " 29.6663\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 3 } ], "metadata": {} } ] }