{ "cells": [ { "cell_type": "markdown", "id": "657ee43e-abd8-4efe-b5e0-6a632114529a", "metadata": { "tags": [] }, "source": [ "# NYU Paris - Numerical Analysis" ] }, { "cell_type": "markdown", "id": "a30eaeba", "metadata": {}, "source": [ "## Interpolation and Approximation\n", "\n", "Graphs can be plotted using the [`Plots.jl`](https://github.com/JuliaPlots/Plots.jl) library.\n", "\n", "- [GitHub repository](https://github.com/JuliaPlots/Plots.jl)\n", "\n", "- [documentation](https://docs.juliaplots.org/stable/)\n", "\n", "- [tutorial](https://docs.juliaplots.org/stable/tutorial/)\n", "\n", "- It is possible to define default plot options (which can be redefined as needed) by\n", "\n", " ```julia\n", " Plots.default(fontfamily=\"Computer Modern\",\n", " titlefontsize=20,\n", " xlabelfontsize=20,\n", " ylabelfontsize=20,\n", " legendfontsize=16,\n", " xtickfontsize=16,\n", " ytickfontsize=16,\n", " linewidth=2,\n", " markersize=7,\n", " framestyle=:box,\n", " label=nothing,\n", " grid=true)\n", " ```" ] }, { "cell_type": "code", "execution_count": 39, "id": "16be1d44", "metadata": {}, "outputs": [], "source": [ "# Some useful libraries. You can modify the settings as you like and add libraries if\n", "# needed (unless it is explicitly mentioned in an exercise not to use external libraries).\n", "\n", "using Polynomials, LinearAlgebra, Plots, LaTeXStrings\n", "\n", "Plots.default(fontfamily=\"Computer Modern\",\n", " titlefontsize=20,\n", " xlabelfontsize=20,\n", " ylabelfontsize=20,\n", " legendfontsize=12,\n", " xtickfontsize=12,\n", " ytickfontsize=12,\n", " framestyle=:box,\n", " label=nothing,\n", " grid=true)\n", "\n", "# For information on any of these, type\n", "# plotattr(\"framestyle\")" ] }, { "cell_type": "markdown", "id": "7d4cb731", "metadata": {}, "source": [ "### Exercise on Lagrange Interpolation in Inexact Arithmetic\n", "\n", "The aim of this exercise is to study the performance of Lagrange interpolation in inexact arithmetic.\n", "\n", "1. Create a function `get_lagrange_interpolant` in `Julia` that accepts as arguments a vector `x` of equidistant nodes and a vector `u` of values of a function $u$, which we want to interpolate at these nodes, and returns the Lagrange interpolant $\\hat{u}$ as the `interpolant` function in `Julia`. Ensure that inside your function, arithmetic is done in the same precision as the argument it receives. **Hint**: Check the documentation for the `one` and `zero` functions.\n", "\n", "2. Test your `get_lagrange_interpolant` function on the function $f:[-1, 1] \\to \\mathbb{R}$, $f(x) = 1 $ for all $x \\in [-1, 1]$ for several values of $n$ and with nodes and values of types `Float64`, `Float32`, and `Float16`.\n", "\n", " Comment on what happens when using more nodes and lower precision types. What can explain this behavior? What is the interpolant with $n$ equidistant nodes of $f$ in exact arithmetic?\n", "\n", "3. *Optional:* examine the case of 128-bit precision (type `Float128` available with the [`Quadmath.jl`](https://github.com/JuliaMath/Quadmath.jl) library)." ] }, { "cell_type": "code", "execution_count": 40, "id": "9cd79533", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "get_lagrange_interpolant (generic function with 1 method)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "function get_lagrange_interpolant(x, u)\n", " \"\"\"\n", " Define a function which returns a function 'interpolant', which is the Lagrange\n", " polynomial interpolation through nodes `x` and values `u`\n", " \"\"\"\n", "\n", " function interpolant(y)\n", " \"\"\"\n", " Returns u_hat(y), where u_hat is the interpolating polynomial\n", " \"\"\"\n", "\n", " return out\n", " end\n", " \n", " return interpolant\n", "end" ] }, { "cell_type": "code", "execution_count": 41, "id": "0fe9f855", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "lagrange_tester (generic function with 1 method)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Use the following function to test your implementation\n", "\n", "using Plots\n", "function lagrange_tester(n, num_type, fun)\n", " \"\"\"\n", " Test `get_lagrange_interpolant` on the function `fun`\n", " \n", " Arguments\n", " ---------\n", " n : Number of interpolation nodes\n", " \n", " num_type : Floating point format, e.g. Float64\n", " \n", " fun: Function to interpolate\n", " \n", " Returns\n", " -------\n", " \n", " p1 : plot of the interpolating polynomial at n+1 points and true function\n", " \"\"\"\n", " # Create equidistant nodes\n", " x = LinRange{num_type}(-1, 1, n)\n", "\n", " # Calculate interpolation\n", " û = get_lagrange_interpolant(x, fun.(x))\n", "\n", " # Vector of x for plotting\n", " x_plot = LinRange{num_type}(-1, 1, 400) \n", "\n", " # Plot interpolant and true function\n", " p1 = plot(x_plot, û.(x_plot), label = \"Interpolating polynomial\")\n", " plot!(x_plot, fun.(x_plot), label = \"True function\")\n", " \n", " # Calculate error\n", " error = maximum(x -> abs(û(x)-fun(x)), x_plot)\n", " print(\"Interpolation error: $error\") \n", " \n", " return p1\n", "end" ] }, { "cell_type": "code", "execution_count": 42, "id": "fb152788-e536-4f93-a37e-f47113168513", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "fun (generic function with 1 method)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "m = 200\n", "fun(x) = sin(x)" ] }, { "cell_type": "code", "execution_count": 43, "id": "6699a5d5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 1.1192036186713494e-10" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd1wT5+MH8CcJI2yBsMEtCio4ENwLJ0tbd7WO1tK6rdRad61aV90i7irujagoirgVUBSrIgrI3kFGIAEy7vfH9ZcvRdCoCQfk8359X9+Xdz65fDgsHy539xyLoigCAACgrthMBwAAAGASihAAANQaihAAANQaihAAANQaihAAANQaihAAANQaihAAANQaihAAANQaihAAANQaihAAANSaBtMBPs1PP/309u3bRo0aKTKYoigWi6XqSFCFTCZjs/ELVm3DbmcEdjsjFP/ZLhAIeDze4cOHPzysnhVhbm6uvb19nz59FBlcXl6upaWFLqxlIpFIR0eH6RRqB7udEdjttY+iqIqKCm1tbUUGP3r06OnTpx8dVs+K0MDAwNXVddSoUYoMFgqFXC4Xv6/VMoFAYGBgwHQKtYPdzgjs9tpHUZRQKNTT01NksKamZnx8/EeHoSQAAECtoQgBAECtoQgBAECtoQgBAECtoQgBAECtoQgBAECtoQgBAECtoQgBAKB+KBdLrl8Ku33ttnI3W89uqAcAADWUyy+MuHSp8csQyqip8QCF5lRRnFoUYffu3XNycphOoS4wxSsjPrrb+/Tpc+DAgVrLA6AssXFJiVfOt8h4QBr30vlxzaAWjYVCoXLfQi2KMCoq6tWrVxwOh+kgAMx49erVkiVLmE4B8Gnu33tccuucRXEKaedlPvmAo7EhIYSiKKW/kVoUISGkefPmKEJQW8XFxUxHAFBUhVhyO/QWN+IsoShW168dhvTvoKnaqlKXIgQAgDpOUCK6fTHE6mkQZWDNHvJ99x6da+c8C4oQAAAYlssvfBh0vkXcFWLZQWvS8kFtW9bmu6MIAQCAMclp2f9cONMi6TarWW+92Vu9GlvVfgYUIQAAMOB1Qsqb4FPNMh9RrYeY/ranrZkxU0lQhAAAUKtexCakXDxhx39JnIbZTp3ezlChp+yqDooQAABqydOYV9khxy0LE0mnES1mzXfS1WY6ESEoQgAAqAXR0S/4V46ZCtIp11EOXks7amsyneh/UIQAAKBC0dEv8kOOGpdmUm5j2nsN0lbxTYGfoc4FAgCAhiE6+mV+yBHjkiyq+zhnD3etuleBtDoaCwAA6q+nMa9yLx02Kcmguo9zHjqgzlYgrU6Ha5CeP3/+4sULDY1/97xYLHZ1dW3ZslbvHv0MFy5ciI2NLSkpWb169WdvRCwWi8ViXV1dJQZTigcPHjx48IDP58+dO9fS0pLpOP8hk8lKS0sNDAw+OjIoKCg2Nra0tPRLvkcAX+j5i/j04MPmRcmU2xhn78F1vAJpeB5hbbOwsDA1NT19+vTo0aNDQ0MtLCxMTEwUeWFFRYVUKlV1vJpYW1vHx8dv27ZN8ZeUlZVVWTNq1Cg7O7s6OO+lubl5eXn5unXrCgsLmc5S1eLFi3k8Xmxs7EdH2tjYxMfHb9++vRZSAbwvLj7l8rqVksDfqVad2/6xf8jXnvWiBQmKsPaZm5sPGjRo6NChhBAfHx93d3cFi/DgwYPx8fEqTlejLl26fPXVV5/0ksWLF1dZ06ZNm3bt2mlr14kLpitr2bLld999x3SK6rVo0cLBwcHIyOijIz/jewSgFEmpmRc3bajYvYCybWP/+wGPUcO4demi0I+qH3UNhJBXr1717t2bwQCfNPttdnZ2QUFBlZVr165VaiJlqrPPUJw6derUqVMVHFxnvwpoqDJz3j0+fbR58l2q3bBmvjOd9HWYTvQ5cERYP2RnZx85coTpFJ9gw4YNTEcAABUqKCq5sPfAuw0/EU2u5eJ9PpPHG9TPFiQ4IqwjgoODDx06xOfzDx48+OjRo+zs7LS0tJYtW/7444+EkH379q1atYrP5y9fvrxRo0Y8Hk9+NUR0dPSOHTscHBz4fL6VldXcuXNZLNaSJUuePXtmbGz8559/Hjt27NGjR3/88Udubq6/vz+fz1+wYEFKSkpBQUF8fHybNm1mzpzJ5XLlSZ4/f/73339bW1vT12j4+fkZGhpWm1kkEu3evZuiKLFYnJaWtnz5ch6PRwhJTEz87bffzpw507p1azq/r69v586dAwMDz58/z+fzQ0NDdXV1w8LCdu3alZ+fv3Xr1qSkpJSUlKysLHNz8zlz5rDZ//5+VlBQsHHjRkNDw4KCgj59+rx+/fr58+f29va//vprlTDJycmLFy/m8/k+Pj5WVlYJCQnp6elcLnf+/PlmZmbyYdnZ2Zs3bzYxMdHQ0MjJyZk+fXrTpk3f/9KOHz8eGRnJ5XKLi4unTp3aqVOnhw8fnjhxQltbu2nTpm5ubhs2bMjNzV20aBEh5OXLlwUFBWw2+7ffftPS0qK3UFFRsWXLlvLycgMDg4yMDC8vrz59+hBCnjx5sn79+tzc3IULF7LZ7BcvXvD5fIqili9fnpaWFhwcTFHUmzdvlixZYmNjQwih9xKfz/f392/bti298SNHjuTm5rLZ7NjY2JkzZzo5OX3SPzaALyQUVYSfu9D46VmWXddG8/x9rM0+/po6jqpXJk6ceOjQIQUHl5aWSqVSiqI4HI5EIpGvTxHIxt+UjAqrjf99e1PyqkD2frYDBw4QQi5cuEAvisXiBw8eEEIWL14cGxtLUZRIJDIxMbl48SI9IC4ujhDy6tWryhu5f/++nZ1dZmYmvejt7b1z5076C1++fHn79u3XrFlTVlamo6OzevVqqVT69u1bbW3t/v37p6amUhQlkUjGjh3bt2/f8vJy+QY7d+5cVFREL967d69Dhw7yxYsXL+rr68vffcaMGStXrqT/HBgY2LJly9LSUvnfDh8+fMqUKZXTVlRUHDp0iBAiEAjod3/58iWLxfrll18eP35M74TGjRsHBgbS44VCYfv27Y8fP05RVHFxsamp6c2bN5OSku7du1fttzs3N7d9+/YODg4RERH0mnXr1jVt2jQjI4NezMjIaNu27evXr+WLDg4O8l2alZUl38MSiSQyMpLD4ezYsUMmk9Hhx40bt379+rKyMplMlpycbGRkNH369OvXr1MUJZPJXF1d165dS29KIpF4eHgcPnxY/oUPGDCA/kJkMllKSkqjRo2mT58eGhpKD+jataufn9+mTZvo91q6dGmvXr3km3r48CEhJDIykl5z5syZwYMHV1RUUBQVHx9vZGT07Nkz+U4IDg42MDB4f+c8ffq0Q4cO1e43+BLFxcVMR6hVEon06oUrj+dPuLRmxev4FEYyyGSykpISBQefP39++PDhHx2mjh+NFlSQaD5Va//Lq3rtZDU0NDQ6dOhACNHR0XFwcCCEcLnc1q1bx8TEfOBVvr6+Hh4eVlb/PrVkwoQJ9Ek4XV1dR0fHV69eDR06VFtbOzk5ecGCBWw2u1mzZvr6+uPGjbOzsyOEcDicrVu3RkZGbty4kRAikUgmTpw4YcIE+SFgjx49DA0Nly5dWu275+bmnj17lv7zqFGj3r59e+vWrQ+k1dTUdHR0lC9yOBxHR0dtbW2Kojp37kzvhHbt2j19+pQecPPmzefPnw8ePJgQYmBg4OrqumvXrqZNm/bo0aPa7ZuZmVlbW/fu3dvNzY1e88svv+jo6MyaNYtenD17docOHezt7elFa2vroUOHfv/99+9visPhuLq6enp63r9/nz7rpqmp2bJly/nz52tra7NYrCZNmvB4vHfv3g0YMIAQwmKxnJ2d5cl379797Nmz8ePHy7/wuXPn/vDDD3w+n8ViNW7c2MzMjM/nDxo0iB7g7Ox86NChGTNm0O/l7Ows/75zOJwqB3y5ubm3bt3Kz88nhLRs2bJdu3aHDx/+wG4HUJa7dyIjlv7EeRrGGrfI87dl9i0bM51IadTxo1FnE9arkXX0C5d//EUI0dLSKikpqWlkQkLCy5cvPTw8oqOj6TUymSw1NbW4uJhuMhaL1b59e0KIubl55RdyOBz5n83NzV1dXY8fP75w4cKoqKjExMQ2bdpUHuzo6Hjs2LGtW7e+H+DEiRMSiaSsrCw2NjYtLU1TU/Pz7ouo6UumPyCV3zHCYrHkN19+QOUxbDZ76NCh27dvLy0tJYQEBwcvX7688mBHR8dNmzYlJydX+wHptGnThg0blpOTY2FhkZqa2rx5cwWTHz9+vHXr1pWvW3F0dCwpKbl48eKUKVOqfW3r1q3lH6tqaWkJhcKavsBp06ZNnjxZW1s7Li4uKSlJKBTWwdtRoIF59vx17rl9uuVFskHfDejblek4yqeOR4R1WeXTdYQQiURS00g+n08I0dfXl69p1arVkydP5GuMjY3lJ9s+wMLCIjMzkxCSkZFBCNHT+8/zUAwNDfl8/vt3BBJCMjMzp06dOm/evKKioi5dumhoaFAU9dG3e1+VL1nefP369evcuXNISAghJCcn5+nTp3Pnzv3UjVtaWorF4tzc3Nzc3Pfv5afvUk9PT6/2tYMHD27SpMn+/fsJISdOnBg1atSHk8u/Wenp6VV24/tvVOW1Ojr/ucqA/ki/2lRlZWV//vnnqFGj4uLi7O3tLSwsqh0GoBSpaTmX/lorO/yH1Ll/15W7ejXEFiTqeURY34WHh9vY2DRu3JgQoq+vT3+u+NkyMzPpT0qtra0JIVXuKC8oKODxeFV+ahNCSkpKevbsOXTo0J07d1ZeX1xczOFwqtTArl27fvrpp08Npq2t7e3tnZmZuXHjxoKCgtDQUPoA95NkZGRoaWlZWFjIZDJNTc0qXx29aGtrW+1rWSzW1KlT/f39582bR1FUlS/qA2xsbKrcOkK/EX39yxf69ttvExISHjx4QHcnfQRMUVROTk5dmxMH6rWCopK7J080f3NN1s6n1fS5HXWr/hBoSHBEWD/QN6FXVFQQQvLz8zU0NKytrQcNGnTjxo3Kw3bv3l3t0Vtl9EZoGRkZjx49mjRpEiHEzc2tVatWkZGRlQdHRUV9++2372/k5s2bKSkp9EWhhJCioiL607yIiIiXL18SQrS0tORv9HnTtYhEoszMzN9++83Pz2/VqlUKtmB5ebn8zxKJ5PLly6NGjdLV1dXX1x8+fHiVry4yMrJ3797Vfi5KmzJlSk5OztSpU318fBRPPmHChGfPnlX+RkRGRhoZGQ0bNkzxjVSrtLT07NmzEydOlB9B0kfzUqk0MDDwCzcOQJNIpCFngtNW/UCEAtNfd/tMnqDfoFuQoAgZUVRU9Pr1a0JIbGysQCAghEgkEnrWmOTkZPoHKJ/Ppz/QowvGzs6ucePGT548IYQkJCQ0adKEELJ///74+PigoCB6s9HR0eXl5VwuVyQSJSUlCQSChISE92dlO3/+fHZ2NiGkvLx82rRpnp6e9OUkGhoaJ06cOH36NH2FKiFk165dBgYGq1atIoSUlZXR2VJSUmQyWZs2bbS1tenOI4QcPXq0W7du6enpaWlp9HFPz549Y2JipFJpcnIyfaxZUVHx9u1bQkh8fLxMJqOvvayoqEhJSRGJRISQd+/eZWdn5+Xl0SfbdHR0/vnnH09Pz9GjR48ePXr27NknTpygR37Ao0eP5CdNly1bpqurK58Wzt/fPzMz8/Lly/TivXv37t27d/DgQUKIWCxOSEgghCQmJlb+RcHMzGzkyJFZWVn0FUw0iqKys7MLCwvT0tLos4/FxcXp6en5+fn06TpfX18vL6/ly5fTH29mZWVt2LDh8OHDpqamhJBqX5ubm0tf/1JWVkbvpZSUFIqi5P8wkpKSxGKxjo5OixYtXrx4QSe5ceNGs2bN0tPTk5KS7Ozs5N+j1NRUmUz24R0FUK27t6Oilv2o8eoh57vVPnN/tjI3ZjpRbWB93nkdpkyaNMnd3X3ixImKDBYKhVwul81ma2holJeXV75IhEE3btwICQnR1Px3/qHy8vJx48ZlZ2fLL1C0tLT08vLauXMnffWESCT666+/NDU1X758uX37dltb2169etE3pRFCCgsLt27dWlZWZmBg0Lp16xEjRhBC1qxZU1RURA8wNzefN2+e/N15PB59lX9paWlSUpKLi8v48eMrn0rMyMgICAjQ1NQUiUS2tra+vr50jE2bNuXm5hJCZDLZ4MGD3d3dHz16tG/fvubNm2tra3t6ekql0rVr13p5eY0cOZIQIpFINm/eTH/uOmvWLE1Nzb179yYmJtJbGDZsmEgkunbtGv3WRkZGkyZN2rBhA33gW1ZW9vvvv+fm5v7555/09gkhubm5t2/fFovFDx8+rGna7iFDhrRs2bJ///4ZGRkpKSmWlpbTp0+vPLikpGTnzp0CgYDFYnE4nFmzZtHz2506dYr+JYMQ0rp1a/klLYSQ4ODg8vLyyicIo6Ojjx8/Tn8myWKxli5dumjRIvrT44qKitmzZzdt2pSiqOPHj//zzz86OjoCgeD777+nq/TJkyfHjh2TX9Hz+++/L1iwgD68q6iomDVr1tmzZ+mzvxRF9enTRyKRyP9hdOnSZcSIEVlZWX/99Zeenh6Px2vXrp2rq+uiRYusrKzmz5+/devWvLw8eg8PGTKkf//+8swxMTFTpkyRX9cKyiIQCBSZD71eiItPSTm526A0Tzrkh159XJmOUyOKooRCoYKnKoKCgg4dOnT+/PmPb7QeUcp9hOrM1NT0wIEDTKdQiIODQ1xcXOU1Mpmsb9++Z86cqeklgwcPnjFjhnJjrFy5kr5pr17DfYQq0jDuI8x7V3Rh+7Znv4y9fOJ8eYWY6TgfgfsI4UtR9ecDgMLCwir3S7BYLC0tLfltBu+j/01/+VufOHHCy8uLEJKfn29oaCg/fAdoYCrEksungjJX+1Isjs2iPR5jhteX50UoF4pQXSQmJm7evLmwsPD8+fMf/6CgDjh37tz06dOvXLlSVlZGUVR8fPzMmTNdXV3piqri3bt3e/bsef78OX3ar/J5vs9QVFTEZrMFAsGGDRuqveMeoAG4f+/x4+XTNN5Eaf24btiM6abGDeQz3s+gjuWvnrS1tbt06RIVFSWTyb6wJ2pH165dQ0JCbt++feDAAZlMxuPxVqxYQV9v8j4NDQ17e/uLFy8SQoqKir7wIQy+vr4WFhZnzpxZvHix4ndNANQXSamZr47tMS1MKR/iO7hvN6bjMA9FqC5sbW1rumGuzuJwOP3796980UdNDA0N+/btq6z3ZbFYw4cPV9bWAOqOEmFZ+LETzeNCpM5fO/+8uH49NVB1UITqLjc3NzIyslmzZu3atWM6CwCoUPi1O0Y39rHM2pr8srOdJY/pOHUIirC25ebmenh4cLlcBwcHDoeTn5+flJSkr6/fpk0biqJycnLS09MnTJjwGdOJfYYLFy7s3bt36dKlPXv2DAoKUuJB1UeJRKJ58+aNHj26X79+tfamAOopLj4l9fhOnYpi2aj53i6fPENTg4cirG2ZmZlcLvfy5ctGRkaEkISEhFatWs2aNUt+3/fu3bsjIiJqIUl5efmkSZPu3r1rZ2fXo0ePRo0aqe69IiIiLC0tK8/hEhsbu2vXLpFIhCIEUB1BiejmkcPNEm5I3L7p/rU3h4MLJKuBIqxteXl5fn5+dAuS/38WROX7BHx9feU3d6vU69evS0pKHB0dORyOfL4VFXn48GGVwuvUqVNYWBj98CkAUIWwKzdNbu5nWXW0+G13e54Kf9Ot71CEtS03N7dbtw9dpsViseg5yVRNKBRyOJzamXAnJCSkShGyWCx3d/daeGsANfQmITX5mD+3QkCNWejdue3HX6DeUIS1zcHB4aNPIXBxcbl3715+fn6/fv2Ki4sfPXrUs2dPMzOzp0+f0g93pZ8Hm5iYmJ6e/u7dO09PT/lt5iUlJRcuXMjJyWnWrJm3t3dNz/DLzs6mH21Pz2xpY2MTFxeXl5cnlUrpZ+EmJSWlpaXl5+cPGTJER0eHz+e/fv06Pz+/W7duhoaG4eHhMpnMzc2Nx/vPKXd6Ms+SkpIOHTr07duXxWIJBIK//vorLCwsIyPD0NCQw+E0adKEoqgnT57k5eXxeDwXF5fKLw8JCSkrK2vTpo27uzt9F8S7d+/i4uLy8/O7dOliYmJy8+bNiooKNze3Ks9ZBABCSKmwPOzo0eavQyVdxvUY6YPPQhWhlkVIUeLMJEpWdTZqVWCx2JrWzUilyTw7der00VeZmJjs2bPn4MGDR44cEQgEN27cWLduXURExLVr1/bu3WtkZETPKx0VFXXgwIGwsDA+n0/fYPf8+fNJkyZt3rx5/PjxR44c6devX3h4eLUTo9y9e/fWrVtisfjYsWOampqTJk26cePGnj172Gx2bGwsIeTx48cHDhy4evVqWlqara1tSkpKYGDgnj17jh49mpSUNHr06Ozs7A4dOoSGhsqfMXvixIl169bt2rXLyckpPDx88uTJhw4dCgkJoW9bvHbt2osXL/T19WfMmCGVSoOCgvbt2+fh4UE/8I8QcujQodDQ0E2bNllYWAQHB3t5eR05csTY2Dg9Pf3o0aMBAQF///13amrq6NGjCwoKXFxcgoKCFNmZAOrjzq2HulcC2GZteb/uaq8e82UrhTpOul0WF83ftViVMf/D5NsFup1rvB4kKSmpefPmP//886ZNmyqvl0qlmpqaM2bM2L59e0hISHp6uq+vLyFk/vz54eHh8gcs3Llzp0+fPnQRlpWVOTo6+vn5zZgxg/7b3r17jxs3btq0adW+dURERLdu3UpLS+XTUi9btuzMmTN0ERJCHj165OrqShchvUZHR+err746evQofazm7u7u6uq6Zs0aQkhMTIybm1tMTAw9u/SSJUtWr16dn59vYmKSkpLStGlTerrLygHGjx/P5XLpIrx3756Pj096ero8zNKlS588eSI/eWlqatq7d+8zZ87Q30dvb+/mzZtv3bpVge8AYNJtVak7k26npec8PxLQqDid4zPTrWtDPvVOqWDSbRUeEfL5fJFIZGNjo8hz0imKysjI0NDQqIWHi3LtO5jNWEeo2nlODUurmeNnvIz+cU8f8Xh4eMjXV3lGbuUzfBcuXEhKSurRo4d8Tc+ePUNDQ2sqwvd9YOM0DQ2NTp06yedtMTY2lj+BdtOmTba2tvLHFU2bNq1Tp070sx1qUnn7a9eudXV1rfykiMGDB69atSo6Opp+8rCGhkbHjh3lL6n81gDqTCKRXj11vumTU5L2wzv7LdFWy8lCv5BKdll2dvasWbPc3d3Nzc2XLVs2ZcqU3r17f2D8tWvXdu3aNXjwYDab/ebNm9WrV39gYmUlYHO0WzmrcPvK8/7ZxA9MHkY/pu727dtRUVHywV/4/Pr3WVhYVA4jf0DgkydPKs9cY2Nj8/XXXyu+2aioqEGDBlVeQ58CjIqKkn8JVd6aflIjgDp78vRV6ZmtmjomujO3+DStjYvsGiTlFyFFUSNHjpw3bx79c3DAgAFOTk6hoaGtW7eudvy5c+fWrFlz48YNQ0PDx48fr1ixokePHpjgivZJzz2gj+dGjRpVOxedVqGhoaFIM2VkZGhpaZmZmVVZz+FwqsyAKhaLSXVHpQBACCksLr0TeKBxysPy/j8MHoqbcb+I8i8oevDgwbNnz+SPCDA0NOzXr19AQEC1g7Oysr777rtly5YZGhoSQoyMjDp06NCqVSulp2owqnzOTD8sl0bfn/D69evKA549e6b4xqu0Tk5OjuKv7d27d2JiYuVTzgKBICkpifz/USz9Vy9fvkxNTX3/5b169UpJSam8JikpicViffizBAD1dPP63aRVvhRFNVmyZwBa8IspvwivXLlibm5e+bNNMzOzS5cuVTs4ICBAJpMNHTqUXmzVqtWlS5fkVyGqA4lEIv//yqRSqfz/K2vevHlJSYl88fbt2+T/D566d+8+atSoXbt2yf82JSUlPDy8prd+/y2aNWtWWlpa7cblL5HJZJUX5c3366+/cjickydPyv92165d9BGtmZmZtrY23dnp6el2dnbyl8vffcWKFa9fv5Zfp0MICQwM9PX1bdOmzUffGkB9pGXmhvy5XOvmYdmYRcNmzTY20mc6UUOg/I9GX758WeV6Hn19/cTExIqKivfP/IWGhtra2vL5/JMnT9J3j/n4+HzhM3TqizVr1iQkJDx9+lRDQ+PQoUN8Pt/c3NzX19fR0fHq1asBAQEcDsfPz6979+7r16+XX5k2evTogwcPbt682cXF5fHjx66uroSQkSNHzp49e/To0YcPH/bz8/vuu+9GjhyZnZ2dl5c3b968at89ICAgMDBQQ0PDx8enb9++y5cvJ4QMHz58//7969at69GjR3R0NH2pzjfffDNjxgxbW9sdO3aUl5dv2LDh7du306dPX7Bgwa1btzQ1NadOnbphwwZbW9sbN2788MMPsbGxrq6ucXFxbdu2pc8a6ujoLFu2bP369SKRKCsry9zcvLCwcO7cudevX2exWNOmTQsICHBwcAgLC5s/f/5XX31lZWV19uzZFi1arFy5khDy4MGDrVu3FhYWbtu2LSUlZcGCBT///HNoaChFUVOnTv3zzz9xQyGoA6lUdvX0hSaPj0uchncZt1Q9n6CrIsq/faJ3795isfjhw4fyNZs2bfLz88vMzLSysqoy2MjIyNnZediwYXPmzOFwOL/++mt2dnZgYGBNXTho0CANDQ35IaO+vv4vv/xS0z3j8tsn9PT0Kt8+0QBkZmbm5ubSp13j4+N5PJ6pqam2tjb9t4WFhYmJiTY2Np93CW52dnZWVlbr1q05HM7r169NTU15PJ584x/15s0bsVhsb29f5QRnbm5uXl5emzZtPvyNiI+PFwgE9vb2+vr4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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(31, Float64, fun)" ] }, { "cell_type": "code", "execution_count": 44, "id": "7a923552", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 6.666006568956107e-8" ] }, { "data": { "image/png": "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sr777rtly5YZGhoSQoyMjDp06NCqVSulp2owqnzOTD8sl0bfn/D69evKA549e6b4xqu0Tk5OjuKv7d27d2JiYuVTzgKBICkpifz/USz9Vy9fvkxNTX3/5b169UpJSam8JikpicViffizBAD1dPP63aRVvhRFNVmyZwBa8IspvwivXLlibm5e+bNNMzOzS5cuVTs4ICBAJpMNHTqUXmzVqtWlS5fkVyGqA4lEIv//yqRSqfz/K2vevHlJSYl88fbt2+T/D566d+8+atSoXbt2yf82JSUlPDy8prd+/y2aNWtWWlpa7cblL5HJZJUX5c3366+/cjickydPyv92165d9BGtmZmZtrY23dnp6el2dnbyl8vffcWKFa9fv5Zfp0MICQwM9PX1bdOmzUffGkB9pGXmhvy5XOvmYdmYRcNmzTY20mc6UUOg/I9GX758WeV6Hn19/cTExIqKivfP/IWGhtra2vL5/JMnT9J3j/n4+HzhM3TqizVr1iQkJDx9+lRDQ+PQoUN8Pt/c3NzX19fR0fHq1asBAQEcDsfPz6979+7r16+XX5k2evTogwcPbt682cXF5fHjx66uroSQkSNHzp49e/To0YcPH/bz8/vuu+9GjhyZnZ2dl5c3b968at89ICAgMDBQQ0PDx8enb9++y5cvJ4QMHz58//7969at69GjR3R0NH2pzjfffDNjxgxbW9sdO3aUl5dv2LDh7du306dPX7Bgwa1btzQ1NadOnbphwwZbW9sbN2788MMPsbGxrq6ucXFxbdu2pc8a6ujoLFu2bP369SKRKCsry9zcvLCwcO7cudevX2exWNOmTQsICHBwcAgLC5s/f/5XX31lZWV19uzZFi1arFy5khDy4MGDrVu3FhYWbtu2LSUlZcGCBT///HNoaChFUVOnTv3zzz9xQyGoA6lUdvX0hSaPj0uchncZt1Q9n6CrIsq/faJ3795isfjhw4fyNZs2bfLz88vMzLSysqoy2MjIyNnZediwYXPmzOFwOL/++mt2dnZgYGBNXTho0CANDQ35IaO+vv4vv/xS0z3j8tsn9PT0Kt8+0QBkZmbm5ubSp13j4+N5PJ6pqam2tjb9t4WFhYmJiTY2Np93CW52dnZWVlbr1q05HM7r169NTU15PJ584x/15s0bsVhsb29f5QRnbm5uXl5emzZtPvyNiI+PFwgE9vb2+vr4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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(41, Float64, fun)" ] }, { "cell_type": "code", "execution_count": 45, "id": "3117ce70", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 5.502048703243112e-5" ] }, { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(51, Float64, fun)" ] }, { "cell_type": "code", "execution_count": 46, "id": "f958d7c1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 0.04266393007697311" ] }, { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(61, Float64, fun)" ] }, { "cell_type": "code", "execution_count": 47, "id": "0b513249", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 7.1525574e-7" ] }, { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(11, Float32, fun)" ] }, { "cell_type": "code", "execution_count": 48, "id": "372c22e9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 0.000121593475" ] }, { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(21, Float32, fun)" ] }, { "cell_type": "code", "execution_count": 49, "id": "d1ae2483", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 0.00586" ] }, { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(11, Float16, fun)" ] }, { "cell_type": "code", "execution_count": 50, "id": "696f36e2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 80.7" ] }, { "data": { "image/png": "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dA4aNOi7775TbzocjgEDBnz77be+Z0xKSvI9dvv27QMGDCgtLWWMXbhwITU1tfyZq1evFgShwqs+d+5ccnLyW2+9pd4sLCwcNmzYqFGjFi1apCgKY2zOnDk333yz7/yXXnrptttuU++aNGnSgw8+yBhbvnx55fdTbfzzzz9vMpleffVVWZYZYwcPHkxJSSl//sSJE+fPn6/+rCjKvffe+/rrr/vuveWWW+bMmaP+XFJScvXVV1977bVut1s9sm7duiFDhpw7d44xVlpaOn78+KFDh7788suiKDLG3nzzzW7duvku9fHHHw8fPly9izH273//+4477lBbVVpaev/99994442+x77zzjtdu3ZdvHhxfn4+Y+z48eMajebYsWO+d2ngwIGPPPKI72V26dIlIyODMSbL8s0331zhf0VCQsLq1asrvz9TpkxZsmQJC/CzaM2aNSNHjqz1tOhLjdpFZtaSUaASD1m0SI1C05Lroj2FrD7/5Tj8GthLSUlp06bN7t27J0+erB7p06dPRkZGDQ954403MjMzH3zwQfXmyJEjDx06tHnzZkEQunfvrtfrBUFo06bN22+/vX37diKKj49v06ZN+/btR40apT7kjjvuuOGGGyZMmKAoChHNnz/f4/EMHTpUvTcmJmbKlCkPPPCAy+Wq/OwXLlzYu3dvVlYWESUnJ994440ffvhhza8xLS2tWbNmvptJSUnt2rX75ZdfHn74YbVP07t37/Iv+Y033hg2bJh610033fTxxx87nc7x48dXeXGj0dipUyfG2KxZs3ieJ6IePXo88cQTU6dOzc/PJ6J169atWLHi0UcfVc/nOG727NmzZ88+evRo5avFx8c/+eSTGRkZvtfu8XjeeOMNtdInLi6uY8eOW7duffjhh9V+Xp8+fTIzM9VC2fz8/GnTpj3++OPqXUQ0ceLEHTt2vP/++77Hbtu27aGHHvI99siRI23atElNTSWijh076vX6Q4cO+d6l8hvzORyO7OzszZs3ExHP86NHj1YvG1nRlxq1i2TWckYNFXvIouPyXYwRRbpfDVBPhrfihrdquH+23bt3Vz/EiUin09nt9hpOXrt2bevWrctHjhYtWhw8ePD6669Xb6qTyQwGg8Fg8J3j+3RWDR8+fPXq1fv27evbt++KFSsGDBhQ/t4ePXrk5ub+9NNPaqauvBEjRlitVqPReOLEiaysrKKiIkEQAn29RNSlSxetVqv+XOEl8zwvyxcHbziO43ne9+ZUh+f58nnC4cOHP/PMM+vWrZs8efKKFStatWplMpl893br1k1RlP/+97/z5s2rfKmRI0fGx8cvW7ZsxowZRHTw4MG77767/AmtW7eOjY31tZyI7Ha7wWBYu3at0+ns2rWr70xBELp06bJixYopU6aoR1q2bOkr71Qf27t3b9/5Op3O4XBU+QKTk5OLi4uNRmN+fv7x48ePHDlSVlZW83tSD6KxR0hmDRkFrsTDjAJpeJLQKQRoGIxGY/mbaga1OoWFhWazufyRTz/99N577/XdTEhIqPUZ1QG58+fPE9HZs2fLxwkiUq9/9uzZyg+UZfntt98eMWLE7t27W7du3bp161qfq0o1vOSZM2du2LDBl5l87LHHykd0f6gd0OpenToUWuWrIyKNRvOXv/zl7bffZoydOHGifGBTVW6M2vhz584RUYXnslgs5Z+o8mMrHKnhV79x48Zbb7115cqVJpOpV69e1Z1WnxruV8vqOCQyacmooVIvtbWQjievghVHAaLJu+++O23atDZt2hQUFNRQzOIP9VNbTb6lp6eXlJSUv7e0tJSIWrZsWfmBs2bN+vzzzzMyMpKSkojI16vLzc1t0aJF+TOXLFkyefLkWjtzlcXGxk6YMOHvf/87z/PDhg2bMGFCoFdQX50apNPS0nbt2lX+Xrfb7Xa709PTq3v41KlT58+fv3Hjxp07d86cOdPPJ1XTp6WlpeW/iJSWltbwRP5bu3bt6NGjN23adM011xDRiRMn1OOV3/b6FH0BxCaSRUtGgUSF1B4hhgkBGj6dTuf1etWf1WzY/ffff+jQIXUATHX69Ol169bVfB3fRVRr16698sor1Y7F+PHjd+3axcrNVty1a1d6evoNN9xQ+TrLli27++671ShIRLm5ueoP6kihXq9Xy3aIqLS0NLiyxj179owaNWrevHlz5869//77/bmIJEnqeKfv1cXHx6uloffdd19OTo6vnUS0c+dOrVb75z//ubqrpaWlDR8+/PXXX9dqtXq93s9mjxw50mw279y503fE7Xbv27fvvvvu8/MKNVi+fHmPHj3UKEjl3vYPPvig7hcPWvQFQofEzBrOqCEiMmpIh0AIUL+8Xq86sHfmzBk1a0dEJSUleXl5ubm5aifM6XSePn3a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iuIf//jHms/p169fZmZmdnZ2y5Ytu3Tp8uOPP6ampvbr1y8nJyc7O7uoqOiGG26Ii4srLS3NzMwsLi7u1KlT+aCyefPmffv26XS6O++8s7odCex2e0FBgSiKBQUFp06diouLU5f6LC4uHjx4cGJiotVqPXz4cFFRUfv27dV9+/bu3VtYWJicnNy/f/+MjIysrKzOnTtXmF0giuL69euPHj2anp5+xx13WCwWWZY3bdr05JNPjhgx4tSpU0TUokULo9F4+vTp7Ozs4uLiP/3pTxUenp2dnZCQMGLEiPj4eCJijKlPHR8fP3DgwAMHDhw7dqxTp07lN/CDyIqyQFjsoV6XNgaJ1XIWLacTmFeOaJsA6hGTJSn3dH2urqJt1prTXd64QKfTXXnllTU/JCUl5YMPPvjwww/HjRsXGxublpY2YsSI/fv3Z2dnf/jhh59//vn+/ft79eqVm5v72WefvfXWW6+99tqTTz5JRF6v99577+3Zs+ecOXNyc3OHDx++ZMmSq666qvJTnDlzZt26dTab7aeffnK5XP3791cU5cMPP1y5cuWuXbsSExPz8/NXrVr15ptvPv/883PnzhVFce3atUuXLr3lllu6devWt2/f/v37P/DAA8OGDXv66ad91xw5cuTEiROnT59eVFQ0YcKEhQsXut3uX3/91WKxHD9+fNWqVUR0zz33tG3bds+ePe+8886WLVvUFcOJKCsra/LkyfPmzbvzzjtPnz49fvz4J5988sYbb2SMrV27dvny5ddcc83AgQO7du06YMCAKVOmDBgw4MUXXwzJ7wjqKMoCoVhu68Gl1wmxOlpxksToWHEJIAQcv6wv/d879fmMsbfcG/vHwDbSs1gs//d//5eTk/PFF1/88ssv6saw6enp3bt3b9Wq1eeff66e1q1bt8WLF69du9b3wOeff/7MmTPqCW3btn3ooYcee+yx7du3V36Kbt26devW7cMPPxw2bNj06dPVg+3atVu5cqX6c6dOnV5//XXfPhV6vf6ll14qKCj44YcfnnrqKXUl6/vvv3/OnDlqIFQUZdSoUbfccsvDDz9MRLm5uV988cV11133+OOP9+jRY8OGDVdeeeVf//pXXwNGjRplNpu3bNmi3hRF8fbbb3/mmWeuu+46tfGLFi3q37//b7/91q5du7/97W82m+2LL76YNWvWFVdcQUQTJ06c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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(21, Float16, fun)" ] }, { "cell_type": "code", "execution_count": 51, "id": "45c6e875", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Interpolation error: 1.0041771822792498e10" ] }, { "data": { "image/png": "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AtMnAASSkZGxadOmzMzMEydO7N+/v6GrU7u9e/cuXrz40KFDtNM0JSVl4cKFzs7Ob731VtXCpaWl27dvv3Xr1q1bt3bs2FFWVlafR5eVlSmVSoVC8e23386aNas+t3qxYfqEIDB9AkAgxsbGPXr0oANJapin33h079795MmTly9fDgsLUyqVdnZ2wcHBdF5gVWKxuH379jTAl5SU6KwUU1f+/v6Wlpbh4eELFiywsbGpz61ebAiEgsD0CQCBODk50YEhBoRhmIEDBw4cOLDWkmZmZr6+vjw+mhuOBDVAalQQ2IYJ4DkrLCz8448/uCkTAPpDi1AQaBHCC08ulw8cONDY2NjDw0MikRQXF9+/f9/U1LRr164Mw+Tl5aWlpY0dO/brr79+DpU5d+7cd99993//938jR44MDQ0dP378c3gopVar582bN3LkyNdee+25PRT4hUAoCAyWgRdeXl6eSqU6efIkXQu7sLDQzs7urbfe2rZtGy3w22+/7d69+znUhGXZKVOm7N2718PDo3///tymE0KIi4tjGEZ7pem0tLSNGzempqYiEBouBEJBYLAMvPByc3M/+ugjbkcIbkY5V8Df3//PP/98DjV59OhRVlZW9+7dTUxMjhw5Iuizbt261bp1a+1A2K5du/Pnz1e7Ly4YCvQRCoL99z+AF1VeXl6PHj1qLsPL6sy1ogub1TAtj0d0EwkdgwcPftooUDAIaBEKSMMSMdPQlQAQRuvWrWuNc15eXleuXCkoKBgwYIBKpbp69erLL7/cokWL2NjYvLy8ioqKV155hRCSlpaWlpZWWFhIVyyjr5XL5UePHn306JGrq+u4ceOetlldbm4uXcorNTXVzMysRYsWycnJOTk55eXlNFeZnp5O18D09fVt3rx5UVFRYmJiQUFBr169HB0dz58/X1FR0bdvX51IlpeXd/ToUalU2rVr1xEjRohEovLy8i1bthw4cGDcuHHJyckMw7Rt25YQEh0dnZuba2Fhob2MZ15e3rFjx0pLS9u3bz9q1CjaXC4uLk5ISCgoKPD09GzZsuX58+fLysr69OlDt8uABoRAKAi6KIQagRCeF1X+Y41c2El1YktrsfV/3W90IcqaOTk5/fTTT1u2bNmxY4dUKo2Njf3000+TkpLOnz+/bdu2srIyustPVFTUzz//fOzYsaSkJLrp/MOHDwMCAlas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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lagrange_tester(101, Float64, fun)" ] }, { "cell_type": "code", "execution_count": 52, "id": "51ad0cfc", "metadata": {}, "outputs": [ { "ename": "ArgumentError", "evalue": "ArgumentError: Package Quadmath not found in current path.\n- Run `import Pkg; Pkg.add(\"Quadmath\")` to install the Quadmath package.", "output_type": "error", "traceback": [ "ArgumentError: Package Quadmath not found in current path.\n", "- Run `import Pkg; Pkg.add(\"Quadmath\")` to install the Quadmath package.\n", "\n", "Stacktrace:\n", " [1] macro expansion\n", " @ ./loading.jl:1630 [inlined]\n", " [2] macro expansion\n", " @ ./lock.jl:267 [inlined]\n", " [3] require(into::Module, mod::Symbol)\n", " @ Base ./loading.jl:1611\n", " [4] eval\n", " @ ./boot.jl:370 [inlined]\n", " [5] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)\n", " @ Base ./loading.jl:1903\n", " [6] #invokelatest#2\n", " @ ./essentials.jl:819 [inlined]\n", " [7] invokelatest\n", " @ ./essentials.jl:816 [inlined]\n", " [8] (::VSCodeServer.var\"#202#203\"{VSCodeServer.NotebookRunCellArguments, String})()\n", " @ VSCodeServer ~/.vscode-oss/extensions/julialang.language-julia-1.51.2-universal/scripts/packages/VSCodeServer/src/serve_notebook.jl:19\n", " [9] withpath(f::VSCodeServer.var\"#202#203\"{VSCodeServer.NotebookRunCellArguments, String}, path::String)\n", " @ VSCodeServer ~/.vscode-oss/extensions/julialang.language-julia-1.51.2-universal/scripts/packages/VSCodeServer/src/repl.jl:274\n", " [10] notebook_runcell_request(conn::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::VSCodeServer.NotebookRunCellArguments)\n", " @ VSCodeServer ~/.vscode-oss/extensions/julialang.language-julia-1.51.2-universal/scripts/packages/VSCodeServer/src/serve_notebook.jl:13\n", " [11] dispatch_msg(x::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::VSCodeServer.JSONRPC.MsgDispatcher, msg::Dict{String, Any})\n", " @ VSCodeServer.JSONRPC ~/.vscode-oss/extensions/julialang.language-julia-1.51.2-universal/scripts/packages/JSONRPC/src/typed.jl:67\n", " [12] serve_notebook(pipename::String, outputchannel_logger::Base.CoreLogging.SimpleLogger; crashreporting_pipename::String)\n", " @ VSCodeServer ~/.vscode-oss/extensions/julialang.language-julia-1.51.2-universal/scripts/packages/VSCodeServer/src/serve_notebook.jl:139\n", " [13] top-level scope\n", " @ ~/.vscode-oss/extensions/julialang.language-julia-1.51.2-universal/scripts/notebook/notebook.jl:32" ] } ], "source": [ "using Quadmath\n", "lagrange_tester(101, Float128, fun)" ] }, { "cell_type": "code", "execution_count": 53, "id": "d35afe33", "metadata": {}, "outputs": [ { "ename": "UndefVarError", "evalue": "UndefVarError: `Float128` not defined", "output_type": "error", "traceback": [ "UndefVarError: `Float128` not defined\n", "\n", "Stacktrace:\n", " [1] top-level scope\n", " @ ~/work/teaching/numerical_analysis/notebooks/2_interpolation.ipynb:1" ] } ], "source": [ "lagrange_tester(121, Float128, fun)" ] }, { "cell_type": "code", "execution_count": 54, "id": "7094932b", "metadata": {}, "outputs": [ { "ename": "UndefVarError", "evalue": "UndefVarError: `Float128` not defined", "output_type": "error", "traceback": [ "UndefVarError: `Float128` not defined\n", "\n", "Stacktrace:\n", " [1] top-level scope\n", " @ ~/work/teaching/numerical_analysis/notebooks/2_interpolation.ipynb:1" ] } ], "source": [ "lagrange_tester(131, Float128, fun)" ] }, { "cell_type": "code", "execution_count": 55, "id": "9201e4b3", "metadata": {}, "outputs": [ { "ename": "UndefVarError", "evalue": "UndefVarError: `Float128` not defined", "output_type": "error", "traceback": [ "UndefVarError: `Float128` not defined\n", "\n", "Stacktrace:\n", " [1] top-level scope\n", " @ ~/work/teaching/numerical_analysis/notebooks/2_interpolation.ipynb:1" ] } ], "source": [ "lagrange_tester(141, Float128, fun)" ] }, { "cell_type": "markdown", "id": "5c31501e", "metadata": {}, "source": [ "### Interpolation Nodes Exercise\n", "\n", "Write a `Julia` code to interpolate the following function using a 20th-degree polynomial over the interval $[-1, 1]$.\n", "$$\n", " f(x) = \\tanh\\left(\\frac{x+1/2}{\\varepsilon}\\right) + \\tanh\\left(\\frac{x}{\\varepsilon}\\right) + \\tanh\\left(\\frac{x-1/2}{\\varepsilon}\\right),\n", " \\qquad \\varepsilon = .01\n", "$$\n", "Use equidistant nodes and then Chebyshev nodes, and compare the two approaches in terms of precision.\n", "Plot the function $f$ along with the interpolating polynomials.\n", "\n", "*Guidelines:*\n", "\n", "- To limit numerical rounding errors, it is preferable for the function to return a `BigFloat` type, as follows:\n", "\n", " ```julia\n", " f(x) = BigFloat(tanh((x+1/2)/ε) + tanh(x/ε) + tanh((x-1/2)/ε))\n", " ```\n", "\n", "- To quickly calculate Chebyshev nodes, you can use the `@.` macro (as always, it is advisable to refer to the documentation of a command by typing `?` and then the command in the console). This command avoids using `.` after each function or before each operator.\n", "\n", " ```julia\n", " x = @. -cos(π*((0:n-1)+1/2)/n)\n", " ```\n", "\n", "- The calculation of the interpolating polynomial can be obtained using the [`fit`](https://juliamath.github.io/Polynomials.jl/stable/#Fitting-arbitrary-data) function from the [`Polynomials.jl`](https://github.com/JuliaMath/Polynomials.jl) library.\n", "\n", "- To compare the two interpolations, it can be useful to limit the minimum and maximum values on the `y` axis using the `ylims = (ymin, ymax)` option in a plotting function like `plot`, `scatter`, or their equivalents ending with `!`. Please note that, by convention in `Julia` (not an obligation), a function whose name ends with `!` modifies its arguments. In the case of a graph, the first command initializing the graph should not have `!` (`plot`, `scatter`, ...), while subsequent commands incrementing the same graph should end with `!` (`plot!`, `scatter!`, ...). Any omission of `!` is considered a *reset* of the plot.\n", "\n" ] }, { "cell_type": "code", "execution_count": 56, "id": "6ee22503", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "e62b3987", "metadata": {}, "source": [ "### Exercise on Interpolation Nodes: Graph Animation\n", "\n", "Using the [`@animate`](https://docs.juliaplots.org/latest/animations/) macro from the `Plots.jl` library, create an animation to visualize the superimposed evolution of interpolations with equidistant nodes and Chebyshev nodes for the Runge function $u(x)=\\frac{1}{1+25x^2}$ over the interval $[-1,1]$. You can vary the number of nodes, for example, from 2 to 50, and take into account the hints from the previous exercise to limit the vertical extension, for example." ] }, { "cell_type": "code", "execution_count": 57, "id": "317cfc7b", "metadata": {}, "outputs": [], "source": [] }, { "attachments": {}, "cell_type": "markdown", "id": "c0f716ce", "metadata": {}, "source": [ "### 1. Exercise on Laplace's Equation\n", "\n", "We aim to implement a numerical method to approximately solve Laplace's equation with homogeneous Dirichlet boundary conditions:\n", "\n", "$$ u\\in C^2([0,1]),\\quad\\left\\{\\begin{aligned} -u''(x) & = \\varphi(x) & \\forall\\, x\\in(0,1),\\\\ u(0) & = u(1) = 0. \\end{aligned}\\right.$$\n", "\n", "To do this, we approximate $\\varphi$ with an interpolating polynomial $\\widehat \\varphi$,\n", "and then we exactly solve Laplace's equation with the right-hand side $\\widehat \\varphi$ instead of $\\varphi$. Write a function `approx(n)` implementing this approach.\n", " The function should return a polynomial approximation of the solution based on an interpolation of **degree** $n$ of the right-hand side at equidistant points between 0 and 1, inclusive.\n", " We will take the right-hand side to be the function\n", " $$\\varphi(x) = \\exp\\Bigl(\\sin(2\\pi x)\\Bigr) \\Bigl(\\sin(2\\pi x)-\\cos(2\\pi x)^2 \\Bigr),$$\n", " in which case the analytical solution is given by\n", " $$ u(x)=(2\\pi)^{-2}\\Bigl(\\exp\\bigl(\\sin(2\\pi x)\\bigr)-1\\Bigr).$$\n", "\n", "*Hints:*\n", "- You can use the `fit` function from the `Polynomials.jl` library to obtain the interpolating polynomial:\n", "\n", " ```julia\n", " p = fit(x, y)\n", " ```\n", "\n", " where `x` are the interpolation nodes, and `y` are the values of the function to interpolate.\n", " \n", "- To calculate the analytical solution with a polynomial right-hand side, you can notice that all solutions are polynomials, and without boundary conditions, the solution is unique modulo $\\mathbf{P}_1$.\n", " \n", "- You can use the `integrate` function from the `Polynomials.jl` library, which calculates an antiderivative of a polynomial:\n", "\n", " ```julia\n", " P = integrate(p)\n", " ```\n", "\n", "- Use the `BigFloat` format to limit rounding errors." ] } ], "metadata": { "citation-manager": { "items": {} }, "kernelspec": { "display_name": "Julia 1.9.3", "language": "julia", "name": "julia-1.9" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.9.3" } }, "nbformat": 4, "nbformat_minor": 5 }