{ "cells": [ { "cell_type": "markdown", "id": "686fc214-3025-42f5-acea-ff87f1e62bd1", "metadata": {}, "source": [ "# 2025-08-29 Conditioning\n", "\n", "* Quiz\n", "\n", "* Condition numbers\n", "\n", "* Reliable = well conditioned and stable\n", "\n", "* Forward and backward error " ] }, { "cell_type": "markdown", "id": "b500ccdb-a24e-494b-a6ba-6575a544dafa", "metadata": {}, "source": [ "## Exact arithmatic with rounded values\n", "\n", "Floating point arithmatic is therefore exact arithmatic with rounding.\n", "\n", "We define $\\oplus, \\ominus, \\otimes, \\oslash$ as the floating point arithmatic versions of $+, -, \\times, /$.\n", "\n", "Our relative accuracy is therefore\n", "\n", "$$ \\frac{\\lvert \\left( x \\otimes y \\right) - \\left( x \\times y \\right) \\rvert}{\\lvert x \\times y \\rvert} \\leq \\epsilon_\\text{machine} $$" ] }, { "cell_type": "markdown", "id": "0abbe867-c660-437a-9690-1bf9060563dc", "metadata": {}, "source": [ "## Composition\n", "\n", "I would hope that this is true\n", "\n", "$$ \\frac{\\lvert \\left( \\left( x \\otimes y \\right) \\otimes z \\right) - \\left( \\left( x \\times y \\right) \\times z \\right) \\rvert}{\\lvert \\left( x \\times y \\right) \\times z \\rvert} \\leq^? \\epsilon_\\text{machine} $$" ] }, { "cell_type": "code", "execution_count": 1, "id": "681eb00b-f6f0-4f35-b9b8-1a2bedf0df95", "metadata": {}, "outputs": [ { "data": { "image/png": "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MgzzxhtvKBSKkpISclSTJ092c3Orqanh9uzevZuiqHnz5nF7li9fDgDffPONmLfJMEz79u1fffVVkQeTeHt7x8XFGfzXqlWrACAxMdGK0xrEyclp8ODBBv/1xRdfAMCNGzf09nt6epaVlVn0Kjqdrry83Oxh6BpFEDsz+ag2IYPWNmGinJaGXZn0xCMCo2H79u3e3t55eXkFBQXbtm3TaDRjxozJyck5evRoXl5eVlbWoUOHbty4oRfU4aAoatmyZYWFhdnZ2enp6Xfu3OnRo8e0adMKCgoAYPr06ezKo2vWrCksLCwsLKzvZ2vXrl3v3r03bdpELmKzffv2srKyV155hX34+uuv79+/f8OGDcXFxenp6ampqa6uruPHj9doNKbfsk6ne/rppzMzMw8fPvzo0aMHDx4cPXr07t2706ZNIw9bu3Zt3759i4uLCwoK2AV22J39+vUrKSkpKCj48ssvMzIyJk6cGBQUdP369YyMjMLCwrFjx65YsSI+Pp481b///e9//OMf5eXlxcXFEyZMAIBjx461b9/e29ubPOzYsWM9e/Yk/YSjRo166623vvvuOzaH6MKFC//4xz9Gjx79xhtvmH6PjUrv3r0B4OjRo03wWn369Gmy12JBIUQQe1JQDQceMHZ56T+zmVw1/9DT0zM+Pj4oKAgAvLy8duzYkZKSsnz5cnadNQB48skn582bl5CQwNpJeigUinnz5nHJFJGRkcuXL6+srDx06JD4Ib3yyitZWVl//vkntyc+Pt7f33/MmDEAkJaWtnXr1tmzZ0+dOpV14rVv3/6LL764c+fOwYMHTZ959+7dycnJn3/++RNPPMHuGTx48DvvvLNv376MjAzusKioqO+//57VKi5gFh0d/f3337MPvby81q1bV1FR8fXXX7dv35793NavX+/l5fX111+Trzh27Ng333zT2dmZoij2ubdu3SKjgwCgVqszMzP1dgLAsmXL+vXrN23atMTExAkTJoSEhGzcuNGY37JpYAd569Ytmb0WC8YIEcSeqChQUEDbQwopACfiTjguLs7Hx4d7yN6POzs7syE9Fp1OxzDMtWvXwsLC6p+wtLR006ZNqamp9+/fV6vVVVVVAJCZmSl+SJMmTZo/f358fPxTTz0FAFlZWUeOHJk9ezYbLTt27BjDMIGBgeSQ2LXBr169OmrUKBNnZt+Oq6sr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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" ], "text/html": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's test it with addition\n", "using Plots\n", "default(lw=4, ms=5, legendfontsize=12, xtickfontsize=12, ytickfontsize=12)\n", "\n", "function relativeerror(f, f_true, x)\n", " fx = f(x)\n", " fx_true = f_true(x)\n", " max(abs(fx - fx_true) / abs(fx_true), eps())\n", "end\n", "\n", "f1(x; y = 1, z = -1) = (x + y) + z;\n", "a = 1e-15\n", "plot(x -> relativeerror(f1, x -> x, x), xlims=(-a, a), label=\"relative_error((x + 1) - 1)\")" ] }, { "cell_type": "markdown", "id": "13d3b3bc-6e71-44fd-898c-0be47be8f6c5", "metadata": {}, "source": [ "## Conditioning\n", "\n", "So which functions cause small errors to grow?\n", "\n", "Consider a function $f : X \\rightarrow Y$.\n", "The **condition number** is defined as\n", "\n", "$$ \\hat{\\kappa} = \\lim_{\\delta \\rightarrow 0} \\max_{\\lvert \\delta x \\rvert < \\delta} \\frac{f \\left( x + \\delta x \\right) - f \\left( x \\right)}{\\lvert \\delta x \\rvert} = \\max_{\\delta x} \\frac{\\lvert \\delta f \\rvert}{\\lvert \\delta x \\rvert} $$\n", "\n", "If $f$ is differentiable, then $\\hat{\\kappa} = \\lvert f' \\left( x \\right) \\lvert$." ] }, { "cell_type": "markdown", "id": "7df4a155-2d4e-4954-96bf-a765c1a1e2bc", "metadata": {}, "source": [ "Floating point numbers offer relative accuracy, so we define the **relative condition number** as\n", "\n", "$$ \\kappa = \\max_{\\delta x} \\frac{\\lvert \\delta f \\rvert / \\lvert f \\rvert}{\\lvert \\delta x \\rvert / \\lvert x \\rvert} = \\max_{\\delta x} \\frac{\\lvert \\delta f \\rvert / \\lvert \\delta x \\rvert}{\\lvert f \\rvert / \\vert x \\rvert} $$\n", "\n", "If $f$ is differentiable, then $\\kappa = \\left\\lvert f' \\left( x \\right) \\right\\rvert \\frac{\\lvert x \\rvert}{\\lvert f \\rvert}$." ] }, { "cell_type": "markdown", "id": "620c5cd4-8db9-46b0-85e2-1c7182aa7d09", "metadata": {}, "source": [ "## Condition numbers" ] }, { "cell_type": "code", "execution_count": 2, "id": "79974773-d998-42c8-a86f-4c2fe21e120a", "metadata": {}, "outputs": [ { "data": { "image/png": "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F19Ul/1PpKSkWAorbQQhAAghRLfKmquv6G5kmrONpbsgFwcR4KrRqnZ1GjRoEBkZmZiYWKFChXydK1WqVK5cudjYWHVjXFyc2WwuIpPyqVOnzvHjxw0Gg0731//5hw8fVu//+fj4BAYGXrhwId+Mt2/fHjx4cEhIyPbt25999tmXX3754MGDbm5u911Kr169rKzHGufOnQsJCbGMBipVHBoFpMMlE0UIdNOEeJbun0C3/0lBIcTw4cNzc3NHjx5tNP4dwsrpMQcHh/79+x85cmTNmjVKe2Zm5pQpU7RarXKm0BoDBgxISEhYvHixMpmTkzNt2rR8fVq3bh0XF6cuwGQyDR48OCUl5fvvv69evfqKFStOnz4dHh5erPVZMrm5uUePHm3Tpo0NliXYIwQAu+vevfvo0aO/+OKLw4cPt27d2snJ6fjx405OTtHR0UKImTNn7t69e8iQIevWratcuXJUVNT58+c/+eST+vXrW/n5I0eO/OGHH0aPHr1z585q1apFR0d7e3uXK1dO3adfv37r1q3bu3dv27ZtlZb/+7//i4yMXLJkScOGDYUQzz///Pvvv//ZZ5+1adPmn9z8bOvWrUqapqamCiEGDhyoHOPds2eP5SYAUVFROTk5/fv3L/FSioUgBKTGXWYeEZ9//nmnTp1Wr1597NgxFxeX2rVrDx48WHnLx8fnjz/+WLBgwa+//nrw4MGGDRvOnz+/S5culnk7dOjg7++v/jQPD4/hw4crASaEcHFx+fXXX2fPnv3rr7/evXu3d+/e48ePnzx5svrmNd27d69YseKqVauUIExLS7t+/fr06dNHjBhh6TNjxgyj0Xj06NGXX37Z0dGxZN/U39+/Y8eOBdvVpxVXr15drVq1+3YrDRqb3cztMRIWFjZ37tyWLVvauxCJpKene3p62rsKWYz+3Tjvz79u7f9/TRzGPy3vKRLlervp06fbu5BHwldffTV69OgLFy6U9u1Gi3b16tUaNWosX77c8lPAon79+t999129evWs/CiTyZSVlfXAE43y/gMAAKgNGzbsqaeeWrJkiX3LWLhwYZMmTQYOHGizJXJoFAAghBAODg5//PGHvasQc+bMsfES2SMEAEiNIAQASE26ILxz586lS5csTzMBAEhOriBMTk6uX79+tWrVDh8+bO9aALthpDigJlcQhoeHW39TIgCADCQK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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" ], "text/html": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's start with an easy example\n", "f1(x) = x - 1\n", "df1(x) = 1\n", "plot(x -> abs(df1(x)) * abs(x) / abs(f1(x)), xlims=(0, 2), label=\"cond(x - 1)\")" ] }, { "cell_type": "code", "execution_count": 3, "id": "bf2fe650-458f-44d0-b4fb-fd1e1ec31c46", "metadata": {}, "outputs": [ { "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" ], "text/html": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# How about e^x\n", "f2(x) = exp(x)\n", "df2(x) = exp(x)\n", "plot(x -> abs(df2(x)) * abs(x) / abs(f2(x)), xlims=(-5, 5), label=\"\\$cond(e^x)\\$\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "71d85dcc-2079-40a8-94c2-54b1d5c39c40", "metadata": {}, "outputs": [ { "data": { "image/png": "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9+5d9b2HDx8mounTp1fe5X//+x/DMI6OjqpxFMHBwbm5uc1euEUYPHhwjW+WJUuWqLcJCAiwsrJS3wwNDa32ZmnRokVD+6OBltTzvqqfbU9Pz//++6/yNl27diWqEnMJCQmenp4sy7Zu3Voqldrb22/fvp0R6xwa0SAVFRWnTp06c+bMvXv3GIZp165dRESEl5dX5W3Onz9/+/btIUOGVB6UKpfLo6KikpKSHB0dR40aVfl6IeiQQqE4dOhQjXc98sgjNjY2RFRUVHTo0CF/f//AwEDVXampqUePHk1NTS0uLvbx8Rk8eDBmedahCxcu7Nmzp7S0tHv37mPHjq3cyT4/P//o0aOtWrXq0aNH5V3OnDkTExMjl8sDAwMfe+yxeidDgMY5depU5bPQah06dGjdurXq3/v375fL5REREaqbRUVFR44cSU5OzsnJsbOz69GjR3h4OAZO6ElJSUlCQkJSUlJOTo61tXW3bt0iIiKqzW598ODB4uLi0aNHV27My8v7559/UlNTfX19x48f7+fnp8sgBAAAMDlYjxAAACwaghAAACwaghAAACwaghAAACwaghAAACwaghAAACwaghAAACwaghAAACwaghAAACwaghAAACza/wOtWTnmRQGvBgAAAABJRU5ErkJggg==", "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" ], "text/html": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# And back to our friend e^x - 1\n", "f3(x) = exp(x) - 1\n", "df3(x) = exp(x)\n", "plot(x -> abs(df3(x)) * abs(x) / abs(f3(x)), xlims=(-5, 5), label=\"\\$cond(e^x - 1)\\$\")" ] }, { "cell_type": "markdown", "id": "8e2258f7-e4b1-43fc-a87f-8b1243f6832f", "metadata": {}, "source": [ "* The function $f_3 \\left( x \\right) = e^x - 1$ is well-conditioned\n", "\n", "* The function $f_2 \\left( x \\right) = e^x$ is well-conditioned\n", "\n", "* The function $f_1 \\left( x \\right) = x - 1$ is ill-conditioned when $x \\approx 1$\n", "\n", "So if the condition number isn't the problem, why do we have a problem with $f_3 \\left( x \\right) = e^x - 1$" ] }, { "cell_type": "markdown", "id": "c91a1b91-1a9d-41c7-9302-4065bc864c24", "metadata": {}, "source": [ "## Stability\n", "\n", "* `f3(x) = exp(x) - 1` is **unstable**\n", "\n", "* Algorithms are made from elementary operations\n", "\n", "* Unstable algorithms do something ill-conditioned" ] }, { "cell_type": "markdown", "id": "bf0dc038-c11d-404a-b146-76c7f67e2825", "metadata": {}, "source": [ "## Stable e^x - 1\n", "\n", "We used the series expansion to 'fix' `exp(x) - 1` last time.\n", "\n", "* Accurate for small $x$\n", "\n", "* Less accurate for negative $x$ (see activity)\n", "\n", "* Inefficient due to number of terms (see activity)\n", "\n", "Standard math libraries in many languages define their own efficient, stable variant $\\text{expm1(x)} = e^x - 1$" ] }, { "cell_type": "code", "execution_count": 5, "id": "e396b4f9-8cc0-4ac3-84c8-e08574a35974", "metadata": {}, "outputs": [ { "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" ], "text/html": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = 1e-15\n", "plot([x -> exp(x) - 1, x -> expm1(x)], xlim=(-a, a), label=[\"exp(x) - 1\" \"expm1(x)\"])" ] }, { "cell_type": "markdown", "id": "5f853997-85fe-4bb8-9d2b-8a3aebd4c5ea", "metadata": {}, "source": [ "## Stable log(1 + x)\n", "\n", "What is the condition number of $f \\left( x \\right) = \\log \\left( 1 + x \\right)$ for $x \\approx 0$?\n", "\n", "(Pause here and try to plot the condition numbers yourself before continuing!)" ] }, { "cell_type": "code", "execution_count": 6, "id": "242ac314-dfed-4727-9d06-e6ae4e8935a4", "metadata": {}, "outputs": [ { "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" ], "text/html": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot([x -> log(1 + x), x -> log1p(x)], xlim=(-a, a), label=[\"\\$log(1 + x)\\$\" \"\\$log1p(x)\\$\"])" ] }, { "cell_type": "code", "execution_count": 7, "id": "8886b4be-a41e-4b87-97cd-2f5d0b84a928", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd3wUZf4H8O/M1mx6SCGE3oKUwNG7NKmiWEBP8BQEQQ5BUUAUj5MT8VQUBVSUpggn/EREqrQEAtKblFCTAAkkpJKym20zvz8mzE42m2STbLKZ7Of9ute9dmefnX1gHT77lHkehud5AgAA8FSsuysAAADgTghCAADwaAhCAADwaAhCAADwaE4FocViOXPmzPfffz9lypQxY8Z89913DovFxMSMHDmyefPm7du3f++99/Lz8+0K3L17d/Lkya1bt46MjBw7duzVq1crW30AAIDKUTpTKDY2dsCAAUSkUCisVmtgYGDxMlu3bn366aebNm06ZsyYO3fu/Pe//42Ojo6OjtZoNEKBe/fudevWLSsr66WXXvLy8vrhhx+2b9/+559/tmnTxoV/HgAAgHJxKggbNmz47bffdurUydvbu3Xr1sULFBQUTJ06tX79+idPngwICCCiLl26zJgxY8WKFdOnTxfKzJs3Lykp6cCBA/379yeiSZMmdejQYfr06fv373fdHwcAAKB8nOoabdas2eTJkzt37qxWqx0W2LNnz927d1966SUhBYlo0qRJOp1u7dq1wlODwbBx48aoqCghBYkoMjJy6NCh0dHRt27dquwfAgAAoKJcM1nm6NGjRDRkyBDxiJeXV9++fc+fP6/X64no/Pnz+fn50gJCeZ7nhfcCAAC4hWuCMCEhgYjCw8OlB+vVq8dxXGJiIhEJ/1+8gPheAAAAt3BqjLBMeXl5RBQUFCQ9KDzNzc0VC9jNshEK5OTklHTafl07RjVpYCL2vpkhos6dO4sjjuAWZrNZpVK5uxZAZzMZItJbmcQca+tAloh8VdTcF8sluh+ukZpGqVRqtdoyyrjkkxQKBRGZTCbpQaPRSETCfxNlFnCoLZM7O9yY41/3YpvhRBQZGanT6VxSYaiY3NxcfAVux/HUd4/14bPCy+fRunRguMJdVQIRrpEaheM4IWhK55ogFNp2GRkZoaGh4sHMzEx62AoUCghH7ArYtSOlWJYlopCQkDFjxriknlBJLMsKXwq4Ec8TkdX+KMPgq6kJcI3IkWu+sEceeYSI7G6Qv3Llik6na9iwIRG1atXKYQHxvQDgJIcbxmAXGYAKc00QDh48mIi2bt0qHrlz586ZM2cGDRokdIq2bNmycePGO3bssFgsYpmtW7fqdLo+ffq4pA4AHoJzdBA5CFBhzgbh6dOnT58+ffHiRSJKS0sTnqakpAivdujQYcCAAevXr9+5cycR5eXlTZkyhYhmzpwpFGAYZubMmWlpabNnzzabzTzPL1my5PTp01OmTEF/OkC5OG4RVns1AGoNxsmNeRmGKX7w448/njNnjvA4OTl50KBBV65ciYiIyMrKMhqNixYtmjVrlliY47gJEyb88MMPAQEBKpUqLS1t8ODBv/32m5eXV0kfOr1H5OxuTTTN24VM+7Scfy6oErm5ub6+vu6uhacrsJLXGrPdwV5hzOGRrhnyh8rANVKjcBxnMBi8vb1LL+bslbN3797iB5s3by4+joiIOHv27G+//Xb58mU/P7/hw4fbLcbGsuzatWsnTpx48OBBi8XSrVu3wYMHOzWqjN+6ABJoEQK4lrNBOGjQoDLLaLXa559/vvQyvXv37t27t5MfCgDFOcw8TJYBqDBM8wWQGc5R5jmcQQMAzkAQAsgMWoQAroUgBJAZx0FY3bUAqD0wzQxAZjz5hvrt27fPmDHD3bUoDc/zDufYQ+X17Nlz3bp1VXFmBCGAzDgcI/SMHKSbN2/27dv3/fffd3dFoLrduHHjzTffrKKTyyEIPeS3LoBzPLxr1N/fv2nTpu6uBVS3goKCqjs5xggBZAaTZQBcC0EIIDO4oR7AtRCEADKDFiGAa8kiCHGJA9h48mQZgKogiyAEABuHmecwHQHAGQhCAJnBGCGAayEIAWSGd5R6GCMEqDAZBCGucAAptAgBXEsGQQgAUg43mkAQehSO4z7++GOTyVQVJz958uSOHTvKLJaamvrdd9/ZHYyPj9+wYUNV1KpKIQgBZMaT1xr1QLt37x4yZEiDBg2SkpLEg/PmzXvsscfUajURcRz32muvtW3bdurUqZX/uJs3b/7www8jRowos2RYWFhoaKhdFjZt2jQ/P3/Lli2Vr0l1QhACyIyHL7HmaYYOHTp16lSe5+vXry8ciY2N9fLy6tSpk/CUZdlvvvnG29u7Xbt2lf+4OXPmfPTRR04WHjVq1NmzZxMSEqQHJ02a9Msvv6Snp1e+MtUGQQggMxgj9DSxsbH9+vUTHvM8P2vWLLvGX15e3tmzZ8UyFbZp06YWLVr4+fk5/5apU6e+9dZbdgfHjx8vr4XRZRGEuMYBbByPEeIqqb2io6MfffRR4fGBAweaNGlSp04daYHDhw8HBga2atWqkh+0dOnS8ePHl+st7dq1S05Ovn37tvTgoEGDoqOjc3JyKlmfaiOLIAQAG7QIayCe548dO/bTTz+dPXtWejwrK2vr1q1btmzJysoSjqSmpv7vf//LzMwkovv372/YsGHXrl1Wq9XuhLm5uVu3bt2zZ092dvb58+fFINy6dWvfvn3tCsfExPTr16/4PohnzpxZv379yZMn7Y4bjcZt27Zt376dl/zHlJGRcfPmzZYtW9oVFua/JCYmElFcXNz69evtuj179Oixfft2u3d16NBh3759JBNy2IYJACSwsoyAJ/riAvfDdS7PXH0fGq6j9zoohjUoEjnXr19/8803p0yZ8tRTT33zzTeXLl0aN24cES1duvTs2bPz589nWXb06NFLlixp3br1smXLHn/88b59+3766afp6ekjR4788ccfN27cuHbtWvGEBw4cWLJkyeLFix88ePD666+HhYWJ+XTq1Kl//OMfdrWKiYmxO5iUlDRt2rTnn39+1KhRP/zww5o1a77++mvhpZMnT7799ttLly7V6XTvvvvuunXrhGk4J0+e7Ny5s92ZN2/erFarH3/88SeeeOLZZ58NDw9nWbZv376XL18Wy3Tu3HnPnj12vbVdunQ5duzY008/Xe6/YndAEALIDFqEgkXnuPdO2Tekqlp8Lo3cY4keoexTtzALb9++3adPn+3bt3fu3JnjuAULFkybNo2IFi1a9Mcff+zfv1+hUBDRyJEjZ82aNXfu3D59+uh0ukuXLpnN5hdffJGI2rZtK52fcv78+eeee+78+fP16tUjIo7jpIN/ycnJoaGh0irl5uaeOXNm9erV4pH09PRevXp99913Q4YMIaLXXnstNDR03LhxPXv2TEhIGDJkyL59+6KiooiI5/nGjRsL77p7925ISIj0zLdu3crMzJw0aRIRhYeH79u377fffvviiy+GDh0qLRYaGnrjxg27v6iQkJDDhw+X++/XTeQQhBj9AJDA7hOCb+IcjpZWOStP313h+tRVCE+nTp3aoUMHoS3Fsuz+/fvbtWsXFxf3r3/9a9u2bUIKEpHJZDp37pxWq+3Zs+f333/fvn37J554QnjpwoULDRo0EM8/bdq0IUOGCClIRFev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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": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "condlog(x) = abs(1/x * x / log(x))\n", "condlog1p(x) = abs(1/(1 + x) * x / log1p(x))\n", "plot([condlog, condlog1p], xlims=(-1, 3), ylims=(0, 100), label=[\"\\$cond(log(x))\\$\" \"\\$cond(log1p(x))\\$\"])" ] }, { "cell_type": "markdown", "id": "1ff49c94-bfcd-4265-8354-caa3e2e86322", "metadata": {}, "source": [ "## Reliability\n", "\n", "**Reliablility** comes from well-conditioned operations and stable algorithms" ] }, { "cell_type": "markdown", "id": "3e06e254-83ce-48fa-a982-8a061077c4e6", "metadata": {}, "source": [ "### Well-conditioned operations\n", "\n", "* Modeling turns an abstract question into a mathematical function\n", "\n", "* We want well-conditioned models ($\\kappa$)\n", "\n", "* Some systems are inherantly sensitive though (fracture, chaotic systems, combustion, etc)" ] }, { "cell_type": "markdown", "id": "21ac0702-2cd3-42eb-9e81-e710a5f2d726", "metadata": {}, "source": [ "### Stable algorithms\n", "\n", "* An algorithm `f(x)` may be unstable\n", "\n", "* These algorithms are unreliable, but may be practical\n", "\n", "* Unstable algorithms are constructed from ill-conditioned parts" ] }, { "cell_type": "markdown", "id": "fb104cc0-e302-4127-9d1a-09e5bb61e2b6", "metadata": {}, "source": [ "## An ill-conditioned problem from Paul Olum\n", "\n", "From [Surely You're Joking, Mr. Feynman](https://sistemas.fciencias.unam.mx/%7Ecompcuantica/RICHARD%20P.%20FEYNMAN-SURELY%20YOU%27RE%20JOKING%20MR.%20FEYNMAN.PDF) (p 113)\n", "\n", "> So Paul is walking past the lunch place and these guys are all excited. “Hey, Paul!” they call out. “Feynman’s terrific! We give him a problem that can be stated in ten seconds, and in a minute he gets the answer to 10 percent. Why don’t you give him one?” Without hardly stopping, he says, “The tangent of 10 to the 100th.” I was sunk: you have to divide by pi to 100 decimal places! It was hopeless." ] }, { "cell_type": "markdown", "id": "88a16802-0cd7-4370-a3a4-316ea8cd8844", "metadata": {}, "source": [ "We can compute the condition number of this problem!\n", "\n", "$$ \\kappa = \\left\\lvert f' \\left( x \\right) \\right\\rvert \\frac{\\lvert x \\rvert}{\\lvert f \\rvert} $$\n", "\n", "We have\n", "\n", "$$ f \\left( x \\right) = \\tan \\left( x \\right) $$\n", "\n", "and\n", "\n", "$$ f' \\left( x \\right) = 1 + \\tan^2 \\left( x \\right) $$\n", "\n", "thus\n", "\n", "$$ \\kappa = \\lvert x \\rvert \\left( \\left\\lvert \\tan \\left( x \\right) \\right\\rvert + \\left\\lvert \\frac{1}{\\tan \\left( x \\right)} \\right\\rvert \\right) $$" ] }, { "cell_type": "code", "execution_count": 8, "id": "3a93c18c-fb6e-40c4-b0f9-d6352bac5a72", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-0.4116229628832498" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# what is this value?\n", "tan(1e100)" ] }, { "cell_type": "code", "execution_count": 9, "id": "aa4ffa2b-f8d1-4528-9976-9c6c617081d8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.4012319619908143541857543436532949583238702611292440683194415381168718098221194" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# hmm, not enough digits\n", "tan(BigFloat(\"1e100\", precision=400))" ] }, { "cell_type": "code", "execution_count": 10, "id": "1ff1b0c3-ffcd-4349-b4df-1b619ebfe1c1", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdd3wU1doH8Gc2mx4gCS300EEUFQQuIEqVokjVVwQbKtgvKFwLlnvtFS4CongVUBCQDlIkoQmCIKGFEgIBQgk1vWybmfP+MWGZbJ3ts7u/7yd/ZGennJndPc+cOhxjjAAAAMKVJtAJAAAACCQEQgAACGsIhAAAENYQCAEAIKwhEAIAQFhDIAQAgLCGQAgAAGENgRAAAMIaAiEAAIQ1BEIAAAhrCITe8cYbb+j1+kCnQr1MJlOgk6BeoigKghDoVKgXvjyO4fo4xvO803UQCL1j3rx5RUVFgU6FeuEuwQFBEJT8VsMWvjyO4fo4IIqiwWBwuhoCIQAAhDUEQgAACGsIhAAAENYQCAEAIKwhEAIAQFhDIAQAgLCGQAgAAP5zIJ+dK2OBTkUVCIQAAOAno7cKHVbyzZbwC06JgU7LTQiEAADgD3kV7JcckYgERtOOIBACAECYKZNNBleuponhtIFOAACAX82dO3fs2LGBTkW4O0HEubXhyJEjly5d6t3EoEQIAOGlsLDw1VdfZRCE0tLSfDGrMwIhAACENQRCAAAIawiEAAAQ1hAIAQAgrCEQAgBAWEMgBACAsIZACAAAYQ2BEAAAwhoCIQBAuBBFn8/wqfAQNlfzQ/JsQiAEAAhN5eXl8pdFRUVTpkxhzIePQCooKHj77beVHGL69Ok5OTkWCz/66KPLly/7JmmOIBACAISaX3/9tXPnzklJSRUVFdISURRfeeWV1157jePcm+PTOUEQ/vnPf06aNEnJIV566aX//Oc/xcXF8oUTJ06cNGmS0Wj0UQrtQSAEAAg1Dz/88OOPP96pU6e4uDhpyezZsx988MFatWrJV5s9e/bXX3/trYPOnDlzxIgRycnJSlaOjIx866233nrrLfnChISEcePGffrpp95KkkIIhAAAIWj79u29evWS/i8pKZk7d+6wYcMs1vnuu+8SEhK8criioqIFCxY8+OCDyjdp06bNhQsXjhw5Il94zz33pKWlXbp0ySupUgiBEAAg1DDG/vjjj3vvvVd6uXjx4n79+kVERMjXKSwszMzMvOeee7xyxIULFw4YMECjcS2mPPzww99//73FwqFDh86bN88rqVIIzyMEgHBXZCTf9SDhOEqMsv1WcXHxypUr9Xp9SkrK0KFDzcv//vvv/fv3E9GAAQOaNGkiLdm5c+fw4cObNGnyxx9/HD16VKPRPPbYY+aaT8nRo0d37NgRFxd3xx13FBYWduvWTVq+bt268ePHy1c7duxYZmZmTEzMgQMHjh07Zi7JnTt3bv369RzHPfXUU8XFxbVr1yaiixcvLl26tFOnTt27dz958mRaWhrP88OHD2/YsKF5n+vWrZswYYLFCV64cGHz5s1Go/Hxxx+/evXq2rVrk5KS/u///s8cL7t37/7ee+9Nnz5dvlX37t0nTZr05ptvKr7GnkIgBIDwtfCU+Prf4sVyH3akJCINR93rcj/0iGhZ42YvkrVr137zzTfffvttkyZN3nvvvZKSkscff1yn040bN659+/YTJ07U6XQDBw6cOXNm06ZNt23bdvfddw8ePPjFF1/s2LHj888/P3PmzBdeeEFecvryyy+zs7NnzJiRl5c3duzYu+66Kz4+Xnrr8OHDd955p3nNpKSkZs2aLVu2rE+fPs2aNYuNjZWWL1myZNGiRfPnzxdF8emnn96+ffu5c+eI6Ntvv3333Xfr1KkzderUxMTE559//vDhwz179jx58qS5X4zFIYjo+PHj27ZtGz9+/PLly0eNGtW5c+exY8f+4x//SEhIGDx4sLROampqfn5+YWFhUlKSecM77rhj//79oii6Wr50GwIhAISpXVfY49sF0bdBkIhIZLTjMntgk3B0hFarISLaunXrU089dfz48dq1axcXF3/44Yc//PADY2z06NH16tWbPHkyEVWrVq1v374ffPDB4MGDhw8fnpWVlZ2dfc8997Rt25aIatSosW/fPvMhFi1aNHv27OPHj0dFRTVt2jQqKqpr167SW4yxS5cu1axZ07xy/fr169evf+rUqeeee65jx47Swt27dz/33HMnT56sUaMGESUkJHTu3JmIcnJymjdvXlFRUVJSEhERITU01qhRIycnp7CwUOoaI4ri1atXLbrJLFy48MMPPySipKSkdevW/fjjjxUVFYMGDfrHP/4hX61mzZqnT582J4OIYmJiNBrNpUuXGjRo4K2PwDG0EQJAmFpyWvRDFDTLLmYZ1xkRiaI4bty4Rx55RKp4rFGjxtWrV5988sk1a9asWrVq4sSJ5k0KCwuzs7O7du3avHnzHTt2DBw4UIqCRHTgwIHWrVtL/5tMptdee23MmDFRUVFExBg7cOCAuYGwsLAwIiJCesusuLj40KFD5t40RDRx4sT777/f3K10//790ruxsbEjR47cuXNncnLyY489Zj567dq1zcW4a9euxcbGWrRBPvnkk9I/hw8f7tSpU2JiYv369WfOnCmdtVlSUlJJSYnFtbK50HcQCAEgTEX6Pf+Tjrhz585Tp0498sgj5uVScW3+/PmdOnVq0aKFeXlmZmbDhg2lgLdt2zZ53Prtt9/uu+8+6f9t27ZdunTJ3Cn0yJEjRUVF3bt3l14KgsDzvEVKtm/fXrduXfOxcnJy9uzZY95DSUnJ/v37e/fuTUT169dPSEjYtm1bz549zRWhv/32W//+/c0vbR7CvHNpW3vXxGQyWURQewt9B4EQAMLUEy01UX7MAjvW4u6sxRHR2bNnOY67/fbbLVbIzc299dZbzS8LCwt37do1atQoIiotLc3IyDCHkwMHDpw9e3bEiBHXr18vLy/PycmJiopq166d9O7WrVs7duyYkJAgtfBVr16d53nzyHqJfHDFmTNnpElezI18O3bsSE5ObtOmjbQHqhrMjEbjqlWr/u///o8xJq2QmJio0+kMBoP1WQuC8Mcff/To0UN6ef78eYsVLBoIJUVFRdYLfScsAmFOTs6SJUveeecdm92QtmzZ8uijjw4aNOjf//53aWmpeflff/311ltvDR069KGHHvr000/lbwFACLgtmVs/QNulDpcUTT79qxNLjzbXrOuvlQpQzZo1i46Olg/gy8vLW79+fdOmTeUD3v/73/926dJl9OjRRLRjx47q1aubw+SaNWt69epVq1athQsXajSamjVrNmrUKDIyUnp39erVd999NxGtW7eOiKKjoxs3bnzlyhX5ue/Zs0cKTidPntyzZ0/NmjUjIiJSU1Old1etWnX33XdzHCftobi4+MCBA+aBFjt37uR5vn///lJJlIji4uIaNGhw9epV8/6PHz/+xhtviKK4e/fu4uJiKcQajcZffvlFngxRFAsKCpo3by5fWFRUFBsba1GD6lNh0VmmQ4cOoigmJyefP3/+k08+kb+1atWq4cOHP/HEE/fee++cOXM2bty4c+dOrVZrNBq7devWu3fvu+66izE2bdq0n376ae/evd4afAoAatCnPtfnQX9ng927d+/Zs+dvv/02ePBgURQ3btx4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9jUvadu2bcOGDZW0ZdaqVUs+xZ8bSkpKHnroIfN06b169ZJP4gDl5eX+7wkWLKSZZRy3Z4czr395bM4NDcFCFMWysjLlKysp0rgWCH/88UeTyZSXl/fLL7/ExcXNmTPH3ppnz54lIospx6QOmdJbkpYtW27durVXr15SLGzatOmYMWOkbrVSxaZyZ8+eTUhIsJgLtF69egcOHGCM+ToXTkxM3Lt3L6ZYs4cxhmla7cEUa455/cuDSx3UNBqN8u+DNMWa09VcC4Qvv/yyVPsXHx//0UcfyZ8YYkGK2BbP0ZBmmbN4jEOrVq02b94sxcLbb799/fr1s2fPHj9+vEsJk45oMYuddESe53U6ncWkrgAAABLXxhFevHixoKAgMzPz6aefnjBhgvkBxNakxjaLKgi9Xk9EFiMoiahNmza///775cuX161b995777kRBaUjWtd4SPcC1kcEAACQuFYilGYjS0pKmj59el5e3oIFC6ZMmdKmTRvrNaWuIgUFBfKF+fn55rfkTCbT+++/Lz0p6X//+9+YMWMsHk+lRM2aNaUOqPJa0IKCgho1aiAQAoBcUVHR6dOnA50KcJnN/vyec/9BXJ07d162bNnJkydtBkLpOVgW89pJL82PyJIIgvDEE0+sWLFi1qxZffv27dWrV8+ePS36kSrRtm3bffv2nTp1qmXLltISnU535swZB/W3ABCGGjduPGvWrG3btgU6Id7hhz4Q3iIwKrhRbRfBUbJbbbUDBw70YpIk7gfCvXv3ElGDBg1svtu6deumTZuuW7fOZDKZC2SrVq2qVq2afOpqQRAee+yxxYsXz5o16/nnnycied8Zl2Jh//79f/7559WrV0+aNElakp6eXl5e7ourBgDBa+TIkSNHjgx0KrwmiB72eayItVvGS/83TuByHlHLk+EVtRFmZWVNmjQpIyOjpKSE5/mcnJzXXntt2bJld91115133imts3z58oSEhM8++8y81eTJk69fvz5hwgSDwSAIwocffpiZmfnyyy/Lp5KbOHHikiVL5syZI0VBImrZsuXmzZtFUezbt6+8t49Op8vIyMjIyMjJySGi8+fPSy+Li4ulFUaOHNm0adPPPvvs77//JqLTp09PmjSpWrVqzz33nEdXCAAAQpuSwfmHDx82j5Az69Gjh3xSmEWLFhHR+++/b14iiqLU7SU2Nla6YRk6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v/7aevZOM5PJREQWAV96aR2fP/roI5PJ9MUXX8yYMeP2229PS0tLTk52NWEmk8n6nloqUxqNRl8HQgAACFKuBWTG2EsvvTR37tx333335ZdfdrCm9PS+goIC+ULppc123QEDBmi1WkEQunXr5kYUlI4oHxpvPmJERIRLVawAAEqoaiQceMK1ctJrr732zTffTJ48+T//+UVjdooAACAASURBVI/jNaWx6leuXJEvvHz5MhGlpqZarCz1jrn99tvvueeeadOmRUVFyfvOKJSampqVlVVeXi7vIHTlypUmTZpY1JcCAHgXgqI9QXFlXCgRTpkyZdq0aa+88srnn3/udOU77rgjOjo6PT1dvlB62aVLF/lCqXdM69atN23aNHXq1Lfffnvq1Kmvvvqq8oRJpGlrtmzZYl6SnZ197tw5i8MBAADIKQ2E77zzzscff/zMM8/897//tbnC8ePHpaER0stq1aoNHTp03759GRkZ0pLc3NwNGzZ0797dPJ8ZEe3YsWPQoEEtW7ZMT0+XakQ/+OCDt99+e9q0aRMnTnTpTEaNGhUREfHdd9+ZR0bOnj2biB577DGX9gMAoAQqmjyhqsm4FVWN7t69+8MPP4yIiDhz5sx99913c2OtdsOGDdL/hw4dmjJlyvvvv9+9e3dpyccff5yent6/f//nn38+Jibmu+++E0XRYnKW3bt3t27dOi0tTT4p6AcffCAIwvbt2/V6vbm7zenTp8ePH09EV69eJaKZM2euWrVKOkqnTp2IqE2bNq+++uoXX3wxcODA/v37Z2RkLFy4cNiwYQMHDnT34gAA2KWmnBw8oigQxsXF9e3b1/E69erV69evX/Pmzc1LmjVrtnv37jfffPP777/neb5z584ffPBBx44d5Vv961//euWVV6xHk0ij7G2OMqlTp469xHz22WeNGzf+/vvv//3vf9etW/e999578803lZwgAACELUVTrIFTmGLNMZXPAhVYmGLNMdV+eR7dKiy6McXazG4RL2KKNVu25LE+621MsRavpbIn1TLFmlrGMwIAQPhQVQkMgRAAAMIaAiEAgDtUVaYBTyAQAgBAWEMgBADwFEqHrlLVFUMgBAAAX1FVwLMHgRAAAMIaAiEAADgx85iY+JOp1VI+47p3yniqGsGOQAgAAI4UGGjiX0KxkU4Ws3/tFQKdHO9DIAQAAEeu6hh/4yHzlyoCmhTfQCAECHoGITSzpyCiqoo+nwrJE0UgBAhu+66zhotM9X8xjdoqhGQmBarirZCvqu8qAiFAcPv8kHhdT0S0OEfc76WODAByIf+tQiAECG6FxpvZVJExgAkJO/KyERc2T+l19UyDotIYgRAAAJQKisDmKgRCgNARkpmUasnLRrjyQQ2BECC4IQsOlPC58p6caFBcJARCAADwN1XdRiAQAgQ3NeUnAEEJgRAAAJQKyRsvBEKA0BGSmRQEnKqqMX0BgRAAwB2hHh28IyiuEgIhAAD4m6oCJAIhAACENQRCgOAW8u03oCoh+XVDIAQA8FRIhgez0D47QiAECCUhn2FByFDVdxWBEAAAfCUoqu4RCAEAIKwhEAIAgFJBUcJzFQIhQHALxXwpOIRkSLDJF2eqqquHQAgQ3OQPDFdV5hLafr/AThTfvNyhfeVdfSp90NEGOgEAAEFm/knxye1CoFPhP/IwH5IRHyVCgOAWkhmTyq3JxVX3lKquIAIhAIBrTKLlkpCvPHSbvYCnqguGQAgQOlR1lx1WQruN0BdUdcEQCAGCmzxDUdVddghj6srGfS7kzxaBEAAAwhoCIUDoCPk7dwg6QVFpjEAIAOCaoMjcVU5V1xCBEAAAlFJVAPMWBEIAAHAkFGNfFQiEAMEtJO/QAfwJgRAAAPxNVfdvCIQAoQOlQ//AZVYuKK4VAiEAACgVFIHNVQiEAADgSMjXNCAQAgB4KtQjRYhDIAQIbsiCATyEQAgAAL7i4EZNPfdwCIQAoUM9OUtoC+frHJLnjkAIAACOhGTwk0MgBACAsIZACAAAAaCeURkIhADBTTWZCUCw0gY6AQDgjoP5bORm4VIF03I3FyIoBkr4XHkvFuPUc9EQCAGC0lv7hJwS9eQkAEEMVaMAQelSRaBTEMbU07jlH56cb1BcKwRCAAAIawiEAEHJ5o12UNx9Q1Dz4ldMPV9XBEKA0MFxztcB8CdmP3Sq5+uKQAgQlFRzMx2Owu3ih/z5IhACAEAAoGoUALxPPTkLQBBBIAQAgLCGQAgAAEqFZK0DAiFAUArF7ChohGQwcMCT03VwrdRzFREIAQAgrCEQAgB4KtzKiCEGk24DhA5GjEg1o5Q9o+Pp51OiwGh4Pa5aoBMDZt6cWcZ7u/IQAiEAqNHj24VlZ0QiWlNfu2FQoFMDIQ2BECCYTD8ibrooDmwU+o0a686L0j9plyJERpoQKeiCGiEQAgSNFWfFCX8JRLT+vBBhKzCEUkuVqTIOksAIgTAk+frrOvOY+N1x8efu3B3xTtZEIAQIGofyb+YcQgjFvBCAT0NtMgvYy7sEIqrgna8c+hUsACFDdL5K6JAXFxBmAsuTzyJQn92pEheOjEAIAOAaBGb1c+kzCouq0UOHDu3bt+/QoUNGo/Hbb7+1eHft2rXff/99QUFBly5dpkyZkpycTESMsc2bN69atSorK0ur1Xbq1GnChAk1a9YMRPIBKoVSE6BTwXWuaMEMamFRIrznnnumTJmycePGOXPmWLy1ePHiIUOGNGnSZNSoURs2bOjTp4/RaCQik8k0cODAixcv9u7d++67754/f37nzp2LiooCkXyAcBRcoSW4wrZKqOeihUWJMCsrq169et98881LL70kXy6K4uuvv/7UU0/NmDGDiO6///4WLVosXLjwqaee0mq1p06datKkibTmo48+2qJFi6VLlz777LMBOAGA8KOeXNKamtPmCx7NNWr/LZ/e67hUfRIWJcJ69erZXH78+PFz586NGjVKepmamtq1a9fff/+diDQajTkKElGTJk3i4uIKCgr8kFoAe8Iq/w2reuDwpJ5POCwCoT0XLlwgopYtW5qXtGjR4vz589Zrrl27tqKiolevXv5LHADcoJ4cE0JSWAfCq1evElGNGjXMS5KSkq5cuWKx2vnz58eNG/fss8927tzZr+kDcBECBvhaSJbUwzoQVq9enYgqKirMS8rLyxMTE+XrXL16tX///u3bt58+fbq/0wdQVUjmQaB+nnzxAvWldemwYR0IpbbDy5cvm5dcvnw5JSXF/PLatWu9e/euU6fOmjVrYmJiApBEABkuuHpSeo/67wBUn0CPePLFc7CtTz9Wl5KsNBCeO3du4cKFr7766sCBA/v163fo0CElWx0/fnzIkCFJSUnVq1fv16/fnj17XElbFfn5+StWrJgyZcoDDzzQr1+/NWvWWK8jiuK0adPatGkTFxeXmpo6ZcoUvV7vYJ/t2rWLjY1NS0uTXhqNxu3bt3fq1El6WVRUNGDAgOrVq69duzYuLs7tlAN4i/rjgRep+VytP4jQvkUJ+RKh0uETH3300Zw5czQaTUJCQklJSWFhodNNcnJy7r777oiIiIkTJ0ZHR8+ePbtnz55//PGHOdK4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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" ], "text/html": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's plot it\n", "f(x) = tan(x)\n", "df(x) = 1 + tan(x)^2\n", "plot(x -> abs(df(x)) * abs(x) / abs(f(x)), xlims=(0, 1e100), label=\"\\$cond(tan(x))\\$\")" ] }, { "cell_type": "markdown", "id": "6b87219c-700b-4b99-ba89-903016bd8251", "metadata": {}, "source": [ "## Exploration\n", "\n", "Find some functions\n", "\n", "* Find a $f \\left( x \\right)$ that models something interesting to you\n", "\n", "* Flot its condition number $\\kappa$ as a fuction of $x$\n", "\n", "* Plot the relative error (single or double precision, compare with using `big`)\n", "\n", "* Is the relativ eerror ever much bigger than $\\kappa \\epsilon_\\text{machine}$?\n", "\n", "* Can you determine what causes the instability?\n", "\n", "* Share on Zulip!" ] }, { "cell_type": "markdown", "id": "5edc0176-067a-47fb-8b81-8b4d936b8d53", "metadata": {}, "source": [ "Further reading: [FNC Introduction](https://fncbook.com/overview)" ] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.11.6", "language": "julia", "name": "julia-1.11" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }