{ "cells": [ { "cell_type": "markdown", "id": "1b104c54-083c-4dbd-a386-f30984e05195", "metadata": {}, "source": [ "# 2025-09-10 More Newton\n", "\n", "* Newton methods in computing culture\n", "\n", "* Breaking Newton's method\n", "\n", "* Exploration\n", "\n", "* Portfolios\n", "\n", "See also [FNC](https://tobydriscoll.net/fnc-julia/nonlineqn/newton.html)" ] }, { "cell_type": "code", "execution_count": 1, "id": "cc549f82-542e-4cd0-a725-606ff1468dc6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "fp (generic function with 1 method)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "using Plots\n", "default(lw=4, ms=5, legendfontsize=12, xtickfontsize=12, ytickfontsize=12)\n", "\n", "# Newton's method\n", "function newton(f, fp, x0; tol=1e-8, verbose=false)\n", " x = x0\n", " for k in 1:100 # max number of iterations\n", " fx = f(x)\n", " fpx = fp(x)\n", " if verbose\n", " println(\"[$k] x=$x f(x)=$fx f'(x)=$fpx\")\n", " end\n", " if abs(fx) < tol\n", " return x, fx, k\n", " end\n", " x = x - fx / fpx\n", " end \n", "end\n", "\n", "# And a target function\n", "f(x) = cos(x) - x\n", "fp(x) = -sin(x) - 1" ] }, { "cell_type": "markdown", "id": "2c1bc3e8-6122-4ee6-bb60-f654e5c2a070", "metadata": {}, "source": [ "## Convergence of fixed-point (Taylor Series)\n", "\n", "Consider the iteration\n", "\n", "$$ x_{k + 1} = g \\left( x_k \\right) $$\n", "\n", "where $g$ is a continuously differentiable function.\n", "Suppose there exists a fixed point $x_* = g \\left( x_* \\right)$.\n", "there exists a Taylor series at $x_*$,\n", "\n", "$$ g \\left( x_k \\right) = g \\left( x_* \\right) + g' \\left( x_* \\right) \\left( x_k - x_* \\right) + \\mathcal{O} \\left( \\left( x_k - x_* \\right)^2 \\right) $$\n", "\n", "and thus\n", "\n", "$$ x_{k + 1} - x_* = g \\left( x_k \\right) - g \\left( x_* \\right) = g' \\left( x_* \\right) \\left( x_k - x_* \\right) + \\mathcal{O} \\left( \\left( x_k - x_* \\right)^2 \\right) $$\n", "\n", "In terms of the error $e_k = x_k - x_*$,\n", "\n", "$$ \\left\\lvert \\frac{e_{k + 1}}{e_k} \\right\\rvert = \\left\\lvert g' \\left( x_* \\right) \\right\\rvert + \\mathcal{O} \\left( e_k^2 \\right) $$\n", "\n", "Recall the definition of **$q$-linear convergence**\n", "\n", "$$ \\lim_{k \\rightarrow \\infty} \\left\\lvert \\frac{e_{k + 1}}{e_k} \\right\\rvert = \\rho < 1 $$" ] }, { "cell_type": "code", "execution_count": 2, "id": "deba09ca-7f43-41fc-82a0-796afa59d661", "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", "\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 find the root\n", "xstar, _ = newton(f, fp, 1.)\n", "\n", "# And look at our target function\n", "g(x) = cos(x)\n", "gp(x) = -sin(x)\n", "\n", "# Here is our fixed point iteration\n", "function fixed_point(g, x, n)\n", " xk = [x]\n", " for k in 1:n\n", " x = g(x)\n", " append!(xk, x)\n", " end\n", " xk\n", "end\n", "\n", "# Plot the fixed point and the iterates\n", "xk = fixed_point(g, 0., 15)\n", "plot(g, xlims=[-1, 2], label=\"\\$cos(x)\\$\")\n", "plot!(xk, abs.(g.(xk)), seriestype=:path, marker=:auto, label=\"\\$g(x_k)\\$\")" ] }, { "cell_type": "markdown", "id": "b5ea47a7-d64d-47c8-a953-651a7df85afe", "metadata": {}, "source": [ "## Verifying fixed point convergence theory\n", "\n", "$$ \\left\\lvert \\frac{e_{k+1}}{e_k} \\right\\rvert \\rightarrow \\left\\lvert g' \\left( x_* \\right) \\right\\rvert $$" ] }, { "cell_type": "code", "execution_count": 3, "id": "62e4a1ee-d598-4e7b-ba7c-ea5dac70d749", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gp(xstar) = -0.6736120293089505\n", "\n", "ratios e_k+1 / e_k =\n" ] }, { "data": { "text/plain": [ "15-element Vector{Float64}:\n", " -0.3530241034880909\n", " -0.7618685362635164\n", " -0.5959673878312852\n", " -0.7157653025686597\n", " -0.6414883589709152\n", " -0.6933762938713267\n", " -0.6595161800339986\n", " -0.6827343083372247\n", " -0.667303950535869\n", " -0.677785479788835\n", " -0.670766892391035\n", " -0.6755130653097281\n", " -0.6723244355324894\n", " -0.6744762481989985\n", " -0.6730283414604459" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The ratio of errors should approach g'(x_*)\n", "# First, what is g'(x_*)\n", "@show gp(xstar)\n", "\n", "# And then look at the ratio\n", "ek = xk .- xstar\n", "println(\"\\nratios e_k+1 / e_k =\")\n", "(ek[2:end] ./ ek[1:end-1])" ] }, { "cell_type": "code", "execution_count": 4, "id": "25ae61d2-3161-40b1-a34d-465c7a8fa59e", "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", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# And let's put it on a log-linear plot to visualize it\n", "scatter(abs.(ek), yscale=:log10, xlabel=\"\\$k\\$\", ylabel=\"\\$e_k\\$\", label=\"\\$e_k\\$\")\n", "plot!(k -> abs(gp(xstar))^k, label=\"\\$|g'|^k\\$\")" ] }, { "cell_type": "markdown", "id": "e475a613-fc28-49b1-bb50-3396787d4844", "metadata": {}, "source": [ "## Plotting Newton convergence" ] }, { "cell_type": "code", "execution_count": 5, "id": "e801cb35-57b0-44bf-9c96-c8290b119406", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "newton_hist (generic function with 1 method)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Ok, this is for fixed points, but what about Newton?!?\n", "# Let's look at the history of our iterates\n", "function newton_hist(f, fp, x0; tol=1e-12)\n", " x = x0\n", " hist = []\n", " for k in 1:100 # max number of iterations\n", " fx = f(x)\n", " fpx = fp(x)\n", " push!(hist, [x fx fpx])\n", " if abs(fx) < tol\n", " return vcat(hist...)\n", " end\n", " x = x - fx / fpx\n", " end\n", "end" ] }, { "cell_type": "code", "execution_count": 6, "id": "44a2562a-aeb1-4e7c-abb0-30c3691d8b37", "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", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's plot the residual, |f(x_K)|\n", "xk = newton_hist(f, fp, 1.97)\n", "\n", "plot(abs.(xk[1:end-1, 2]), yscale=:log10, marker=:auto, xlabel=\"\\$k\\$\", ylabel=\"\\$r_k\\$\", label=\"\\$r_k\\$\")" ] }, { "cell_type": "code", "execution_count": 7, "id": "d0aebbbb-eeb2-4bca-b0f8-c9255cb949ee", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x_star = xk[end, 1] = 0.7390851332151607\n", "ek = xk[1:end - 1, 1] .- x_star = [1.2309148667848393, 0.003309687313930887, 2.4103207354464473e-6, 1.2827516826519059e-12]\n" ] }, { "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", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# And the error, |x_k - x_*|\n", "xk = newton_hist(f, fp, 1.97)\n", "@show x_star = xk[end,1]\n", "\n", "@show ek = xk[1:end-1,1] .- x_star # the errors themselves\n", "plot(ek, yscale=:log10, marker=:auto, xlabel=\"\\$k\\$\", ylabel=\"\\$e_k\\$\", label=\"\\$e_k\\$\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "0cfcd861-b7e8-44fa-9497-b8f9f4d004bf", "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": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# And the path taken to the solution\n", "plot(f, xlims=[0.7, 2], xscale=:log10, label=\"\\$cos(x) - x\\$\")\n", "plot!(xk[:, 1], xk[:, 2], seriestype=:path, marker=:auto, label=\"\\$f(x_k)\\$\")\n", "# Note how fast the points overlap each other as they converge to the root!" ] }, { "cell_type": "markdown", "id": "fe5f0e39-ce86-41e1-9a2f-3dde94c073f4", "metadata": {}, "source": [ "### Convergence class\n", "\n", "Is Newton's method\n", "\n", "a) $q$-linearly convergent\n", "\n", "b) $r$-linearly convergent\n", "\n", "c) neither" ] }, { "cell_type": "markdown", "id": "f64b4f56-2068-42f5-93cf-8b7ed2327749", "metadata": {}, "source": [ "## Formulations are not unique (functions)\n", "\n", "If $x = g \\left( x \\right)$ then $g \\left( x \\right) - x = 0$ and\n", "\n", "$$ x = x + h \\left( x \\right) \\left( g \\left( x \\right) - x \\right) $$\n", "\n", "for any smooth $h \\left( x \\right) \\neq 0$.\n", "Let $g_3 \\left( x \\right) = x + h \\left( x \\right) \\left( g \\left( x \\right) - x \\right)$.\n", "Can we choose $h \\left( x \\right)$ to make $\\left\\lvert g'_3 \\left( x \\right) \\right\\rvert$ small?" ] }, { "cell_type": "code", "execution_count": 9, "id": "0b085a0b-c7e8-43fd-8413-ba643800844a", "metadata": {}, "outputs": [ { "data": { "image/png": "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rUwm69evXx3HRkREPH361LT59OnTgICAxMTEwsLC5OTktm3bAgAIgkhNTRUIzObcHz9+3KFDByt+i4ZjXpLXTScIjUQFVNdAzoRC6B6kldCdDxOb7phFhw4ORjLH4W+Euunj1wFx0//ElPbjPLli+593UFhMS69mps1Fixbp9fqtW7d+//33WVlZkZGRdaeMGThwYFJSkmkTx3GpVKpSqbZs2fLLL7+cOnUqKSnp66+/fv/995lHEQRx8+bN3r17W/vbNIhCGCnzD0whzCiE04QuDg3AxttU32PEg4pqdygPA191x84Mx5sIoTvUgXDTYXlTcZMfX4s7/OAU03FnU3AU7xrYaVgLswUMIpFox44dxvaUKVOYyxtomj5y5EhpaWlOTs7777/ftGlTAEC/fv3mzZunVquNE35NmzZNSUnJyckZPnw4iqIDBgyQy+XLly9HELN77MqVK0OGDLEYI9oNGDJqop1vGz7O0xI6AIBMXZKvhPWYXJYiDXg7kTj93Cwupp0XsncA1tkHSqDD4aZCCAAIEPl/GPU2iwZkZ2cXFhYaF0uo1eq///774MGDpr/u378/JiYmODg4PT29X79+t27dEolEGIbNmTPn559/njNnjnE3iUQSGVk1zvDz8/PzqyEmc9OmTatWrbL9F6oZM9eoG88RAgA4KN7Bt2164Q3jZmbRbSiELsnhp9R7l8hSxowgAsCH7dBvemIC933iOjTWd40+e/ZszZo1PXr0kEgkPB6vTZs2CxYsKC+vJ6dUjx49upnTkAKzTs3s2bPj4uIAAARBLFiwYNq0af379zf99ejRo7/88gsAoGvXrgRBXLt2zdj//vvvX7p0qd7raSI1NbV169a1rdC3A3BEyKQzYxEFjJdxPYxxMePOm6mgLx8cGYJt6QtV0HGx/n/mt99+++yzz6Kjo9955x2pVBofH79x48b4+PiUlJQ6vHMZGRkhISHGZXBGLFaOux5r1qxJTk7+4YcflEqlhQoCANavX29cVmFcKW90jQIAUBRdv379f/7zn++++87CBfoicrn8hx9+2Lx5s42+Qr3oSH25ttLYxhDMV9jQohmuSlRARwB+M7ahELoYGSX0tAtkVrmZO3RIMPJLfzyInbVLkIZifSE0+vFMMYqrVq167733fvzxx19//dUiiMOCAQMG7Ny50+r2OCz9+vWrI0bUpHwb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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": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's try something that looks more like Newton\n", "h(x) = -1 / (gp(x) - 1)\n", "g3(x) = x + h(x) * (g(x) - x)\n", "plot([x -> x, cos, g3], ylims=(-5, 5), label=[\"\\$x\\$\" \"\\$cos (x)\\$\" \"\\$g_2 (x)\\$\" \"\\$g_3 (x)\\$\"])" ] }, { "cell_type": "markdown", "id": "fe6c84be-ad41-4ac8-9ff6-643dbcb3d764", "metadata": {}, "source": [ "* We don't know $g' \\left( x_* \\right)$ in advance because we don't know $x_*$\n", "\n", "* This method converges fast\n", "\n", "* We just re-derived Newton's method" ] }, { "cell_type": "markdown", "id": "8333783b-c00c-462b-b746-7d606838ee4f", "metadata": {}, "source": [ "## Newton's method - a new derivation\n", "\n", "A rootfinding problem $f \\left( x \\right) = 0$ can be converted to a fixed point problem\n", "\n", "$$ x = x + f \\left( x \\right) := g \\left( x \\right) $$\n", "\n", "but there is no guarantee that $g' \\left( x_* \\right) = 1 + f' \\left( x_* \\right)$ will have magnitude less than 1.\n", "\n", "Problem-specific algebraic manipulation can be used to make $\\left\\lvert g' \\left( x_* \\right) \\right\\rvert$ small.\n", "\n", "

\n", "\n", "$x = x + h \\left( x \\right) f \\left( x \\right)$ is a valid formulation for any $h \\left( x \\right)$ bounded away from $0$.\n", "\n", "Can we choose $h \\left( x \\right)$ such that\n", "\n", "$$ g' \\left( x \\right) = 1 + h' \\left( x \\right) f \\left( x \\right) + h \\left( x \\right) f' \\left( x \\right) = 0$$\n", "\n", "when $f \\left( x \\right) = 0$?\n", "\n", "Then, we have\n", "\n", "$$ g' \\left( x \\right) = 1 + h \\left( x \\right) f' \\left( x \\right) = 0$$\n", "\n", "or\n", "\n", "$$ h \\left( x \\right) = \\frac{-1}{f' \\left( x \\right)} $$\n", "\n", "In other words,\n", "\n", "$$ x_{k + 1} = x_k + \\frac{-1}{f' \\left( x_k \\right)} f \\left( x_k \\right) = x_k + h \\left( x_k \\right) f \\left( x_k \\right) $$\n", "\n", "which is our Newton method." ] }, { "cell_type": "markdown", "id": "d81827c2-706f-4f6e-9158-cbed66c06406", "metadata": {}, "source": [ "### Quadratic convergence\n", "\n", "$$ \\left\\lvert \\frac{e_{k + 1}}{e_k} \\right\\rvert \\rightarrow \\left\\lvert g' \\left( x_* \\right) \\right\\rvert $$\n", "\n", "* What does it mean that $g' \\left( x_* \\right) = 0$?\n", "\n", "* It turns out that Newton's method has **locally quadratic** conevgence to simple roots,\n", "\n", "$$ \\lim_{k \\rightarrow \\infty} \\frac{\\left\\lvert e_{k + 1} \\right\\rvert}{\\left\\lvert e_k \\right\\rvert^2} < \\infty $$\n", "\n", "* \"The number of correct digits doubles each iteration\"\n", "\n", "* Now that we know how to make a good guess accurate, the hard part is getting a good guess" ] }, { "cell_type": "markdown", "id": "f3b5cdb5-e85d-4d35-b352-15f729b01fb4", "metadata": {}, "source": [ "## Sidebar - Fast inverse square root\n", "\n", "The following code appeared literally (with these comments) in the Quake III Arena source code (late 1990s).\n", "\n", "```C\n", "float Q_rsqrt( float number )\n", "{\n", "\tlong i;\n", "\tfloat x2, y;\n", "\tconst float threehalfs = 1.5F;\n", "\n", "\tx2 = number * 0.5F;\n", "\ty = number;\n", "\ti = * ( long * ) &y; // evil floating point bit level hacking\n", "\ti = 0x5f3759df - ( i >> 1 ); // what the fuck? \n", "\ty = * ( float * ) &i;\n", " y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration\n", "// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed\n", "\n", "\treturn y;\n", "}\n", "```\n", "\n", "We now have [vector instructions](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=rsqrt&expand=2989,1224,4470) for approximate inverse square root.\n", "See also [Wikipedia](https://en.wikipedia.org/wiki/Fast_inverse_square_root).\n", "For details about the magic number, read this [section on Wikipedia](https://en.wikipedia.org/wiki/Fast_inverse_square_root#Aliasing_to_an_integer_as_an_approximate_logarithm)." ] }, { "cell_type": "markdown", "id": "207d997b-82d0-460a-b471-3b203691171a", "metadata": {}, "source": [ "### How does it work?\n", "\n", "Let's look at the last line.\n", "\n", "```C\n", "y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration\n", "```\n", "\n", "We want a function $f \\left( y \\right)$ such that $f \\left( 1 / \\sqrt{x} \\right) = 0$.\n", "One such function is\n", "\n", "$$ f \\left( y \\right) = 1 / y^2 - x, f' \\left( y \\right) = -2 / y^3 $$\n", "\n", "There are others (see the homework activity) that require a division.\n", "\n", "Newton's method is\n", "\n", "$$ \\begin{align} y_{k + 1} &= y_k - \\frac{f \\left( y_k \\right)}{f' \\left( y_k \\right)}\\\\\n", " &= y_k - \\frac{ 1 / y_k^2 - x}{-2 / y_k^3}\\\\\n", " &= y_k + \\frac{1}{2} \\left( y_k - x y_k^2 \\right)\\\\\n", " &= y_k \\left( \\frac{3}{2} - \\frac{1}{2} x f_k^2 \\right)\n", "\\end{align} $$" ] }, { "cell_type": "markdown", "id": "1dbc0e6e-c7d9-4e6e-9665-2592693deaec", "metadata": {}, "source": [ "## Rootfinding outlook\n", "\n", "* Newton is a workhorse of numerical computation\n", "\n", " * Convergence theory is local, need good initial guesses (activity)\n", "\n", " * Computing the derivative $f' \\left( x \\right)$ is *intrusive*\n", " \n", " * Option - secant methods (activity)\n", "\n", " * Option - automatic differentiation (future topic)\n", " \n", " * Line search helps robustness (activity)\n", " \n", " * When does Newton diverge?\n", " \n", "* More topics\n", "\n", " * Find *all* of the roots\n", " \n", " * Use Newton-type methods with bounds\n", " \n", " * When does Newton converge slowly?" ] }, { "cell_type": "markdown", "id": "31f7cd03-4c96-47a0-bc79-296501f94190", "metadata": {}, "source": [ "## Exploration\n", "\n", "* Find a function $f \\left( x \\right)$ that models something you're interested in.\n", "You could consider nonlinear physical models (aerodynamic drag, nonlinear elasticity), behavioral models, probability distributions, or anything else that that catches your interest.\n", "Implement the function in Julia or another language.\n", "\n", "* Consider how you might know the output of such functions, but not an input.\n", "Think from the position of different stakeholders: is the equation used differently by an experimentalist collecting data versus by someone making predictions through simulation?\n", "How about a company or government reasoning about people versus the people their decisions may impact?\n", "\n", "* Formulate the map from known to desired data as a rootfinding problem and try one or more methods (Newton, bisection, etc., or use a rootfinding library).\n", "\n", "* Plot the inverse function (output versus input) from the standpoint of one or more stakeholder.\n", "Are there interesting inflection points?\n", "Are the methods reliable?\n", "\n", "* If there are a hierarchy of models for the application you're interested in, consider using a simpler model to provide an initial guess to a more complicated model." ] }, { "cell_type": "markdown", "id": "d5a7d41c-c7b5-4685-bc6b-c86360818037", "metadata": {}, "source": [ "## Example - equation of state\n", "\n", "Consider an [equation of state](https://en.wikipedia.org/wiki/Real_gas#Beattie%E2%80%93Bridgeman_model) for a real gas, which might provide pressure $p \\left( T, \\rho \\right)$ as a function of temperature $T$ and density $\\rho$.\n", "\n", "* An experimentalist can measure temperature and pressure, and will need to solve for density (which is difficult to measure directly).\n", "\n", "* A simulation might know (at each cell or mesh point, at each time step) the density and internal energy, and need to compute pressure (and maybe temperature).\n", "\n", "* An analyst might have access to simulation output and wish to compute entropy (a thermodynamic property whose change reflects irreversible processes, and can be used to assess accuracy/stability of a simulation or efficiency of a machine).\n", "\n", "The above highlights how many equations are incomplete, failing to model how related quantities (internal energy and entropy in this case) depend on the other quantities.\n", "Standardization bodies (such as NIST, here in Boulder) and practitioners often prefer models that intrinsically provide a complete set of consistent relations.\n", "An elegant methodology for equations of state for gasses and fluids is by way of the [Helmholtz free energy](http://www.coolprop.org/fluid_properties/PurePseudoPure.html#pure-and-pseudo-pure-fluid-properties), which is not observable, but whose partial derivatives define a complete set of thermodynamic properties.\n", "The [CoolProp](http://www.coolprop.org) software has highly accurate models for many gasses, and practitioners often build less expensive models for narrower ranges of thermodynamic conditions." ] } ], "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 }