{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "066c269e-fdd6-4569-9a0c-9aea341346bf",
   "metadata": {},
   "source": [
    "(section:root-finding-by-interval-halving)=\n",
    "# Root Finding by Interval Halving (Bisection)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e3303f64-5d48-4d7c-8219-1dcaa2392c57",
   "metadata": {},
   "source": [
    "**Last revised on August 27, 2025**."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1f71217b-8ffa-4775-b073-bef51c09c103",
   "metadata": {},
   "source": [
    "**References:**\n",
    "\n",
    "- {cite}`Sullivan` Section 2.2, [The Bisection Method](https://numericalmethodssullivan.github.io/ch-algebra.html#the-bisection-method).\n",
    "\n",
    "- {cite}`Sauer` Section 1.1, *The Bisection Method*.\n",
    "\n",
    "- {cite}`Burden-Faires` Section 2.1, *The Bisection Method*.\n",
    "\n",
    "- {cite}`Dionne` Sections 2.2, *Bisection Method*, and 2.3, *Interruption criteria*. \n",
    "\n",
    "- {cite}`Chenney-Kincaid` Section 3.1, *Bisection Method*.\n",
    "\n",
    "- {cite}`Dahlquist-Bjorck-v1` Section 6.1.2, *The Bisection Method*."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "tamil-turning",
   "metadata": {},
   "source": [
    "## Introduction\n",
    "\n",
    "One of the most basic tasks in numerical computing is finding the roots (or \"zeros\") of a function — solving the equation $f(x) = 0$ where $f:\\mathbb{R} \\to \\mathbb{R}$ is a continuous function from and to the real numbers.\n",
    "As with many topics in this course, there are multiple methods that work, and we will often start with the simplest and then seek improvement in several directions:\n",
    "- **reliability** or *robustness* — how good it is at avoiding problems in hard cases, such as division by zero.\n",
    "\n",
    "- **accuracy** and guarantees about accuracy like estimates of how large the error can be — since in most cases, the result cannot be computed exactly.\n",
    "\n",
    "- **speed** or **cost** — often measured by minimizing the amount of arithmetic involved, or the number of times that a function must be evaluated."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6f427a18-aa00-4506-a502-2e1b127bbb39",
   "metadata": {},
   "source": [
    "We use the package PyPlot; see the notes on [plotting graphs](plotting-with-pyplot) and on\n",
    "[using package and modules](modules) in {ref}`section:julia-language-notes`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "ba19eec7-8fb7-4352-a76d-cf095ce6040c",
   "metadata": {},
   "outputs": [],
   "source": [
    "using PyPlot"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "champion-concentration",
   "metadata": {},
   "source": [
    "````{prf:example} Solve $x = \\cos x$\n",
    ":label: bisection-x-cosx\n",
    "This is a simple equation for which there is no exact formula for a solution,\n",
    "but we can easily ensure that there is a solution, and moreover, a unique one.\n",
    "It is convenient to put the equation into \"zero-finding\" form $f(x) = 0$, by defining\n",
    "\n",
    "$$f(x) := x - \\cos x.$$\n",
    "\n",
    "Also, note that $|\\cos x| \\leq 1$, so a solution to the original equation must have $|x| \\leq 1$.\n",
    "So we will start graphing the function on the interval\n",
    "$[a, b] = [-1, 1]$.\n",
    "````"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "f10e11f7-39ec-4b44-8159-ec389e82b5d9",
   "metadata": {},
   "outputs": [],
   "source": [
    "f(x) = x - cos(x);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b435838-7f54-490f-ba94-3a0a95c4e8e9",
   "metadata": {},
   "source": [
    "```{prf:remark} On Julia\n",
    ":label: julia-function-short-form\n",
    "\n",
    "For notes on this compact version of Julia function syntax, see [Functions, part 1](functions1) in {ref}`section:julia-language-notes`.\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "6add014f-e172-4ac7-8832-94c8baf0336e",
   "metadata": {},
   "outputs": [],
   "source": [
    "a = -1.0\n",
    "b = 1.0;"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "860dba57-5d28-4454-a236-c13bec12b122",
   "metadata": {},
   "source": [
    "```{prf:remark} On Julia\n",
    ":label: julia-range\n",
    "See the notes on the function [range](range) used below in {ref}`section:julia-language-notes`.\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "complex-middle",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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bx04cEB///vfy8JTdbdZ151vLxITExUUFKSbbrqp3HqO3wtTW99/CU/nacyYMeecuap58+bnte3w8HBJpak8IiKibH16enpZAg8PD1dRUZEyMzPL/et9enq6+vTpc14/15VUtb8bN27UkSNHKjx39OjRCv9aUZmff/5ZycnJmj179jnHdu3aVXa7XTt37qz1Hz4vVn9PiYiIUHR0tHbu3CmJ41e68P46HA4NHTpUe/fu1Y8//ljurFNl6tLxW5mQkBC5u7tX+BfJ0983fy88PLzS8R4eHmrUqNFZx1Tn+K8Lzqe/p8yePVujRo3Sl19+qWuvvfasY93c3NS9e/ey94r64kL6e7pevXppxowZZcscv6UupL+GYWjq1KlKSEiQp6fnWcfW1+P3fNTm91++83SeQkJCFBMTc9bH789kVNWpS21Ov7ymqKhIS5YsKftgGRcXJ7vdXm5MamqqNm/eXCc+fFa1v71791Z2drZWrlxZ9toVK1YoOzu7Sn2YMmWK4uLi1Llz53OO3bJlixwOR7lAW1tdrP6ecuzYMR04cKCsdxy/F9bfU8Fp586d+v7778v+ojmbunT8VsbT01NxcXEVLktMSko6Yy979+5dYfzChQvVrVs32e32s46pC8dpdZxPf6XSM0733HOPZs6cqUGDBp3z5xiGofXr19fZ4/RMzre/v7du3bpyveP4LXUh/V2yZIl27dpV6feif6++Hr/no1a//17sGSrqo/379xvr1q0zJk6caDRo0MBYt26dsW7dOiM3N7dsTNu2bY2vvvqqbPnll182AgMDja+++srYtGmTceedd1Y6VXnTpk2N77//3li7dq1x9dVX19upnjt16mQsW7bMWLZsmdGxY8cKUz3/vr+GYRjZ2dmGr6+v8cEHH1TY5q5du4yJEycaq1atMvbu3WvMmzfPiImJMbp06UJ/z9Hf3Nxc4/HHHzeWLl1q7N2711i0aJHRu3dvo0mTJhy/lahufx0OhzFkyBCjadOmxvr168tNj1tYWGgYRv09fk9NRTxlyhRj69atxtixYw0/P7+y2bGeeuopIyEhoWz8qaly//jHPxpbt241pkyZUmGq3P/973+Gu7u78fLLLxvbtm0zXn75ZZeYKtcK1e3vzJkzDQ8PD+O9994745T5EyZMMBYsWGDs3r3bWLdunXHvvfcaHh4exooVKy76/lmtuv194403jLlz5xo7duwwNm/ebDz11FOGJGPOnDllYzh+f1Pd/p4yYsQIo2fPnpVuk+P3N7m5uWWfbyUZr7/+urFu3bqyWWDr0vsv4ekiGDlypCGpwmPRokVlYyQZn376admy0+k0nn/+eSM8PNzw8vIy+vbta2zatKncdvPz840xY8YYwcHBho+PjzF48GAjJSXlIu2V6zh27Jhx1113Gf7+/oa/v79x1113VZi69ff9NQzD+OijjwwfH59K732TkpJi9O3b1wgODjY8PT2NVq1aGY8++miFexXVB9Xtb15enhEfH280btzYsNvtRrNmzYyRI0dWODY5fktVt7979+6t9P3k9PeU+nz8vvfee0Z0dLTh6elpdO3a1ViyZEnZcyNHjjSuvPLKcuMXL15sdOnSxfD09DSaN29e6T+mfPnll0bbtm0Nu91uxMTElPtwWt9Up79XXnllpcfpyJEjy8aMHTvWaNasmeHp6Wk0btzYiI+PN5YuXXoR98i1VKe/r7zyitGqVSvD29vbaNiwoXH55Zcb8+bNq7BNjt/fVPf9ISsry/Dx8TE+/vjjSrfH8fubU1Pnn+n/97r0/mszjF+/nQUAAAAAOCO+8wQAAAAAVUB4AgAAAIAqIDwBAAAAQBUQngAAAACgCghPAAAAAFAFhCcAAAAAqALCEwAAAABUAeEJAAAAAKqA8AQAAAAAVUB4AgAAAIAqIDwBAAAAQBX8PzjrxR/8jNj4AAAAAElFTkSuQmCC",
      "text/plain": [
       "Figure(PyObject <Figure size 1000x600 with 1 Axes>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = range(a, b, 100)\n",
    "figure(figsize=[10,6])\n",
    "plot(x, f.(x));\n",
    "plot([a, b], [0, 0], \"g\");  # Mark the x-axis in green\n",
    "grid(true)  # Add a graph paper background"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "union-pursuit",
   "metadata": {},
   "source": [
    "This shows that the zero lies between 0.5 and 0.75, so zoom in:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "unusual-mainland",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Figure(PyObject <Figure size 1000x600 with 1 Axes>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "a = 0.5\n",
    "b = 0.75\n",
    "x = range(a, b, 100)\n",
    "figure(figsize=[10,6])\n",
    "plot(x, f.(x))\n",
    "plot([a, b], [0, 0], \"g\")\n",
    "grid(true)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "loving-technique",
   "metadata": {},
   "source": [
    "And we could repeat, geting an approximation of any desired accuracy.\n",
    "\n",
    "However this has two weaknesses: it is very inefficient (the function is evaluated about fifty times at each step in order to draw the graph), and it requires lots of human intervention.\n",
    "\n",
    "To get a procedure that can be efficiently implemented in Julia (or another programming language of your choice),\n",
    "we extract one key idea here: finding an interval in which the function changes sign, and then repeatedly find a smaller such interval within it.\n",
    "The simplest way to do this is to repeatedly divide an interval known to contain the root in half and check which half has the sign change in it.\n",
    "\n",
    "Graphically, let us start again with interval $[a, b] = [-1, 1]$, but this time focus on three points of interest: the two ends and the midpoint, where the interval will be bisected:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "parallel-celebration",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a=-1.0, b=1.0, c=0.0\n"
     ]
    }
   ],
   "source": [
    "a = -1.0\n",
    "b = 1.0\n",
    "c = (a+b)/2\n",
    "println(\"a=$a, b=$b, c=$c\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4fb4766f-0f0b-4ad4-84be-ccb116cc716e",
   "metadata": {},
   "source": [
    "```{prf:remark} On Julia\n",
    ":label: julia-println\n",
    "If you are unfamiliar with `println` see the notes on [Displaying values](displaying_values) in {ref}`section:julia-language-notes`.\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "tamil-gates",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA08AAAH5CAYAAABZMgVbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABhV0lEQVR4nO3deVxU9f7H8fcAA4gCpiRgIlp5XcJKMRWt3HHJrCzXIu2a5TUr0xb9tajdW7aaZllZerHU9HbNW91MxbW67mtumZWKC2SagCuMcH5/nBhEUEE5nGF4PR8PHsw5853hMx9P5NvvOd/jMAzDEAAAAADggnzsLgAAAAAAygLCEwAAAAAUAeEJAAAAAIqA8AQAAAAARUB4AgAAAIAiIDwBAAAAQBEQngAAAACgCPzsLsAOOTk5OnjwoIKDg+VwOOwuBwAAAIBNDMPQsWPHVL16dfn4XHhuqVyGp4MHDyoqKsruMgAAAAB4iH379qlGjRoXHFMuw1NwcLAks0EhISE2VyO5XC4tXLhQ8fHxcjqddpfjdeivteivteivteivteivteivteivtTypvxkZGYqKinJnhAspl+Ep91S9kJAQjwlPQUFBCgkJsf3g8Ub011r011r011r011r011r011r011qe2N+iXM7DghEAAAAAUASEJwAAAAAoAsITAAAAABQB4QkAAAAAioDwBAAAAABFQHgCAAAAgCKwPDxNmjRJtWvXVmBgoGJjY/Xdd9+dd+yyZcvkcDgKfP3444/5xs2ZM0cNGjRQQECAGjRooLlz51r9MQAAAACUc5aGp9mzZ2vo0KF69tlntXHjRt1yyy3q3LmzkpOTL/i6nTt3KiUlxf1Vp04d93MrV65Ur169lJCQoM2bNyshIUE9e/bU6tWrrfwoAAAAAMo5S8PTuHHjNGDAAD344IOqX7++xo8fr6ioKL333nsXfF21atUUERHh/vL19XU/N378eHXo0EEjR45UvXr1NHLkSLVr107jx4+38qMAAAAAKOf8rHrjrKwsrV+/XiNGjMi3Pz4+XitWrLjgaxs1aqTTp0+rQYMGeu6559SmTRv3cytXrtQTTzyRb3zHjh0vGJ4yMzOVmZnp3s7IyJBk3tnY5XIV9SNZJrcGT6jFG9Ffa9Ffa9Ffa9Ffa9Ffa9Ffa9Ffa3lSf4tTg2Xh6fDhw8rOzlZ4eHi+/eHh4UpNTS30NZGRkZo8ebJiY2OVmZmpTz75RO3atdOyZct06623SpJSU1OL9Z6SNHbsWI0ZM6bA/oULFyooKKi4H80ySUlJdpfg1eivteivteivteivteivteivteivtTyhvydPnizyWMvCUy6Hw5Fv2zCMAvty1a1bV3Xr1nVvx8XFad++fXrjjTfc4am47ylJI0eO1LBhw9zbGRkZioqKUnx8vEJCQor1eazgcrmUlJSkDh06yOl02l2O16G/1qK/1qK/1qK/1qK/1qK/1qK/1vKk/uaelVYUloWnsLAw+fr6FpgROnToUIGZowtp3ry5pk+f7t6OiIgo9nsGBAQoICCgwH6n02n7H9bZPK0eb0N/rUV/rUV/rUV/rUV/rUV/rUV/reUJ/S3Oz7dswQh/f3/FxsYWmIpLSkpSixYtivw+GzduVGRkpHs7Li6uwHsuXLiwWO8JAAAAAMVl6Wl7w4YNU0JCgpo0aaK4uDhNnjxZycnJGjRokCTzdLoDBw7o448/lmSupFerVi1dd911ysrK0vTp0zVnzhzNmTPH/Z6PP/64br31Vr366qu644479MUXX2jRokX6/vvvrfwoAAAAAErI+vUOPf98C4WHO9S8ud3VFJ2l4alXr146cuSIXnzxRaWkpCgmJkbz5s1TdHS0JCklJSXfPZ+ysrL05JNP6sCBA6pQoYKuu+46ff311+rSpYt7TIsWLTRr1iw999xzev7553XNNddo9uzZatasmZUfBQAAAEAJmT7doS1brtSMGdmEp7MNHjxYgwcPLvS5xMTEfNtPP/20nn766Yu+5z333KN77rmnJMoDAAAAUAr27pUOH5YcDulf/zKvHpo920cPPCAZhhQWJv05x+KxLA9PAAAAAFCrVsF9hw9LsbF524ZRauVcEssWjAAAAACAXNOnS37uqRvzNkOGYX738zOf93TMPAEAAACw3L33Sr/9Jg0fXvC51aulxo1Lv6biYuYJAAAAQKlo2TL3kXl+no+Ph5+ndw5mngAAAACUiquuksLDpauuMtSs2WatWXO9DhxwqFo1uysrGmaeAAAAAFhm7Vrp6aelnBypRg1z1b2VK7PVseNerViRrT17zP1lATNPAAAAACxx7JjUtat06JBUtar0zDNSQIDkcpnPOxySv7+9NRYHM08AAAAALBEcLI0fL8XFSee59WuZQngCAAAA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AAAuw/btUrt20pEj0k03SfPnSyEhdlcFKxCeAAAAgEv066/mohC//y41biwtWCCFhtpdFaziZ3cBAAAAQFkVESE1bGh+T0qSrrjC7opgJcITAAAAcImCgswV9U6elKpUsbsaWI3T9gAAAIBi+PVX6fXXJcMwtytUkKpWtbcmlA5mngAAAIAiOnZMatNGSk6W/PykJ56wuyKUJmaeAAAAgCIKDpaGDZPq1ZP69LG7GpQ2whMAAABQDI8/Lm3YYC4SgfKF8AQAAABcQHKy1KOHeQPcXBUq2FcP7MM1TwAAAMB57N8vtW9vLhIhSZ99Zm89sBczTwAAAEAhDh8OVIcOfvr1V+nqq6Vx4+yuCHZj5gkAAAA4x/790nPPtVRqqkO1a0tLlkhRUXZXBbsRngAAAICz7N8vxcf7KTXVqdq1DS1d6lB0tN1VwRNYftrepEmTVLt2bQUGBio2NlbffffdBccvX75csbGxCgwM1NVXX63333+/wJg5c+aoQYMGCggIUIMGDTR37lyrygcAAEA5sn+/eR+nn392KDz8hBYuPENwgpul4Wn27NkaOnSonn32WW3cuFG33HKLOnfurOTk5ELH7969W126dNEtt9yijRs36v/+7//02GOPac6cOe4xK1euVK9evZSQkKDNmzcrISFBPXv21OrVq638KAAAAPByBw7kBiepVi1Df//7/whOyMfS0/bGjRunAQMG6MEHH5QkjR8/XgsWLNB7772nsWPHFhj//vvvq2bNmho/frwkqX79+lq3bp3eeOMN3X333e736NChg0aOHClJGjlypJYvX67x48fr008/tfLjWMIwDJ3IOqHT2ad1IuuEnIbT7pK8jsvlor8Wor/Wor/Wor/Wor/Wor8l6+BBqVMn6de9Us1rpS++cmnH9qP01yK5x69hGHaXUiyWhaesrCytX79eI0aMyLc/Pj5eK1asKPQ1K1euVHx8fL59HTt21JQpU+RyueR0OrVy5Uo98cQTBcbkBq7CZGZmKjMz072dkZEhyfxDc7lcxflYJe5E1gld8cYV5sYWW0vxfvTXWvTXWvTXWvTXWvTXWvS35PQxvyVLumH2n/vor6UOtT2kyo7KttZQnDxgWXg6fPiwsrOzFR4enm9/eHi4UlNTC31NampqoePPnDmjw4cPKzIy8rxjzveekjR27FiNGTOmwP6FCxcqKCio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0V9r0V9r0V9r0V9reXN/16yJUFpaU/3lL3/o//5vjfbvz1RpX4btzf31BPTXWp7Q35MnTxZ5bLHD0+jRowsNImdbu3atJMnhcBR4zjCMQvfn6tWrl/txTEyMmjRpoujoaH399dfq3r37eV93ofcdOXKkhg0b5t7OyMhQVFSU4uPjFRIScsHPUhpcLpeSkpLUoUMHOTk5usTRX2vRX2vRX2vRX2uVh/526SLddFO22rULVmBgu1L92eWhv3aiv9bypP7mnpVWFMUOT0OGDFHv3r0vOKZWrVr64Ycf9NtvvxV47vfff1d4eHiRf15kZKSio6O1a9cuSVJERISysrJ09OjRfLNPhw4dUosWLQp9j4CAAAUEBBTY73Q6bf/DOpun1eNt6K+16K+16K+16K+1vKm/R49KgwdLr7wiRUeb++6809aSvKq/noj+WssT+lucn1/s8BQWFqawsLCLjouLi1N6errWrFmjpk2bSpJWr16t9PT084acwhw5ckT79u1TZGSkJCk2NlZOp1NJSUnq2bOnJCklJUVbt27Va6+9VtyPAwAAUGQPPyx99pl589vvvzdX1gNQfli2VHn9+vXVqVMnDRw4UKtWrdKqVas0cOBAde3aNd9iEfXq1dPcuXMlScePH9eTTz6plStXas+ePVq2bJluv/12hYWF6a677pIkhYaGasCAARo+fLgWL16sjRs36r777lPDhg3dq+8BAABY4c03pWbNpEmTCE5AeWTZghGSNGPGDD322GPulfG6deumd955J9+YnTt3Kj09XZLk6+urLVu26OOPP1ZaWpoiIyPVpk0bzZ49W8HBwe7XvPXWW/Lz81PPnj116tQptWvXTomJifL19bXy4wAAgHLGMKS1a6U/T6JRVJS0ciXBCSivLA1PVapU0fTp0y84xjAM9+MKFSpowYIFF33fwMBATZw4URMnTrzsGgEAAAqTmSk98og0ZYr0+efSnyfBEJyAcszS8AQAAFAW/fab1L27tGKF5OMjHThgd0UAPAHhCQAA4CwbNkh33CHt3y+FhkqzZkmdOtldFQBPYNmCEQAAAGXN7NnSzTebwaluXWn1aoITgDyEJwAAUO7l5EjPPSf17i2dOmUGplWrzAAFALk4bQ8AAJRrGRlSQoL05Zfm9pNPmjfBZRFfAOciPAEAgHLrp5/M65t+/FEKCJAmT5buv9/u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9Nda9Nda9Nda9Nda9NdantRfwzB07NgxVa9eXT4+F76qqVzOPPn4+KhGjRp2l1FASEiI7QePN6O/1qK/1qK/1qK/1qK/1qK/1qK/1vKU/l5sxikXC0YAAAAAQBEQngAAAACgCAhPHiAgIECjRo1SQECA3aV4JfprLfprLfprLfprLfprLfprLfprrbLa33K5YAQAAAAAFBczTwAAAABQBIQnAAAAACgCwhMAAAAAFAHhCQAAAACKgPAEAAAAAEVAeCoFL730klq0aKGgoCBVrly5SK8xDEOjR49W9erVVaFCBbVu3Vrbtm3LNyYzM1OPPvqowsLCVLFiRXXr1k379++34BN4tqNHjyohIUGhoaEKDQ1VQkKC0tLSLvgah8NR6Nfrr7/uHtO6desCz/fu3dviT+N5LqW//fv3L9C75s2b5xvD8Wsqbn9dLpeeeeYZNWzYUBUrVlT16tV1//336+DBg/nGldfjd9KkSapdu7YCAwMVGxur77777oLjly9frtjYWAUGBurqq6/W+++/X2DMnDlz1KBBAwUEBKhBgwaaO3euVeV7vOL09/PPP1eHDh105ZVXKiQkRHFxcVqwYEG+MYmJiYX+Lj59+rTVH8UjFae/y5YtK7R3P/74Y75xHL95itPfwv4/5nA4dN1117nHcPzm+fbbb3X77berevXqcjgc+s9//nPR15TZ378GLPfCCy8Y48aNM4YNG2aEhoYW6TWvvPKKERwcbMyZM8fYsmWL0atXLyMyMtLIyMhwjxk0aJBx1VVXGUlJScaGDRuMNm3aGDfccINx5swZiz6JZ+rUqZMRExNjrFixwlixYoURExNjdO3a9YKvSUlJyfc1depUw+FwGL/88ot7TKtWrYyBAwfmG5eWlmb1x/E4l9Lffv36GZ06dcrXuyNHjuQbw/FrKm5/09LSjPbt2xuzZ882fvzxR2PlypVGs2bNjNjY2HzjyuPxO2vWLMPpdBoffvihsX37duPxxx83KlasaOzdu7fQ8b/++qsRFBRkPP7448b27duNDz/80HA6nca///1v95gVK1YYvr6+xssvv2zs2LHDePnllw0/Pz9j1apVpfWxPEZx+/v4448br776qrFmzRrjp59+MkaOHGk4nU5jw4YN7jH//Oc/jZCQkAK/k8uj4vZ36dKlhiRj586d+Xp39u9Qjt88xe1vWlpavr7u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GtHfi/T32LFjxvDhw40VK1YYu3fvNpYuXWrExcUZV111FcdvIYrbX5fLZXTr1s2oUaOGsWnTpnzL42ZmZhqGUX6P39yliKdMmWJs377dGDp0qFGxYkX36lgjRowwEhIS3ONzl8p94oknjO3btxtTpkwpsFTu//73P8PX19d45ZVXjB07dhivvPKKRyyVa4fi9nfmzJmGn5+f8e677553yfzRo0cb8+fPN3755Rdj48aNxgMPPGD4+fkZq1evLvXPZ7fi9vett94y5s6da/z000/G1q1bjREjRhiSjDlz5rjHcPzmKW5/c913331Gs2bNCn1Pjt88x44dc//9VpIxbtw4Y+PGje5VYL3p9y/hqRT069fPkFTga+nSpe4xkox//vOf7u2cnBxj1KhRRkREhBEQEGDceuutxpYtW/K976lTp4whQ4YYVapUMSpUqGB07drVSE5OLqVP5TmOHDli3HvvvUZwcLARHBxs3HvvvQWWbj23v4ZhGB988IFRoUKFQu99k5ycbNx6661GlSpVDH9/f+Oaa64xHnvssQL3KioPitvfkydPGvHx8caVV15pOJ1Oo2bNmka/fv0KHJscv6bi9nf37t2F/j45+3dKeT5+3333XSM6Otrw9/c3GjdubCxfvtz9XL9+/YxWrVrlG79s2TKjUaNGhr+/v1GrVq1C/zHls88+M+rWrWs4nU6jXr16+f5yWt4Up7+tWrUq9Djt16+fe8zQoUONmjVrGv7+/saVV15pxMfHGytWrCjFT+RZitPfV1991bjmmmuMwMBA44orrjBuvvlm4+uvvy7wnhy/eYr7+yEtLc2oUKGCMXny5ELfj+M3T+7S+ef7792bfv86DOPPq7MAAAAAAOfFNU8AAAAAUASEJwAAAAAoAsITAAAAABQB4QkAAAAAioDwBAAAAABFQHgCAAAAgCIgPAEAAABAERCeAAAAAKAICE8AAAAAUASEJwAAAAAoAsITAAAAABTB/wN6fS4qcbx/awAAAABJRU5ErkJggg==",
      "text/plain": [
       "Figure(PyObject <Figure size 1000x600 with 1 Axes>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "acb = [a c b]\n",
    "figure(figsize=[10,6])\n",
    "plot(acb, f.(acb), \"b*\")\n",
    "# And just as a visual aid:\n",
    "x = range(a, b, 100)\n",
    "plot(x, f.(x), \"b-.\")\n",
    "plot([a, b], [0, 0], \"g\")\n",
    "grid(true)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "attempted-bangkok",
   "metadata": {},
   "source": [
    "$f(a)$ and $f(c)$ have the same sign, while $f(c)$ and $f(b)$ have opposite signs, so the root is in $[c, b]$;\n",
    "update the a, b, c values and plot again:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "guided-martin",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a=0.0, b=1.0, c=0.5\n"
     ]
    }
   ],
   "source": [
    "a = c  # new left end is old center\n",
    "b = b  # redundant, as the right end is unchanged\n",
    "c = (a+b)/2\n",
    "println(\"a=$a, b=$b, c=$c\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "23624357-0c3d-41be-8b10-19a0a9a3ef4a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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dJIkSZKULAxGkiRJklKewUiSJElSyjMYSZIkSUp5BiNJkiRJKc9gJEmSJCnlGYwkSZIkpTyDkSRJkqSUZzCSJEmSlPIMRpIkSZJSnsFIkiRJUsozGEmSJElKeRlhF1DZotEoAIWFhSFXEiguLmbt2rUUFhaSmZkZdjlKAvaMYmXPKBb2i2JlzyhWidQzmzLBpoywPdUuGK1ZswaA5s2bh1yJJEmSpESwZs0acnJytntNJFqR+JRESktLWbp0KXXq1CESiYRdDoWFhTRv3pwvv/yS7OzssMtRErBnFCt7RrGwXxQre0axSqSeiUajrFmzhqZNm5KWtv27iKrdilFaWhrNmjULu4ytZGdnh94YSi72jGJlzygW9otiZc8oVonSM7+0UrSJhy9IkiRJSnkGI0mSJEkpz2AUZ1lZWdx6661kZWWFXYqShD2jWNkzioX9oljZM4pVsvZMtTt8QZIkSZJi5YqRJEmSpJRnMJIkSZKU8gxGkiRJklKewUiSJElSyjMYSZIkSUp5BqNKMHToUFq1akXNmjVp164d06ZN2+71U6dOpV27dtSsWZO99tqLxx9/vIoqVSKIpV9eeuklunbtyu677052djadO3dm4sSJVVitEkGs32M2effdd8nIyOCQQw6Jb4FKOLH2TFFRETfddBMtWrQgKyuLvffem5EjR1ZRtUoEsfbMmDFjOPjgg6lduzZNmjThwgsv5Ntvv62iahW2t99+m9NPP52mTZsSiUR4+eWXf/E9yfDzr8FoJ40bN46+ffty0003MW/ePI466ihOPvlklixZUu71//vf/zjllFM46qijmDdvHjfeeCNXXnklL774YhVXrjDE2i9vv/02Xbt25fXXX2fu3Lkce+yxnH766cybN6+KK1dYYu2ZTQoKCujevTvHH398FVWqRLEjPXPOOefw5ptvMmLECBYtWsRzzz1H69atq7BqhSnWnnnnnXfo3r07F198MR999BHPP/88s2fP5pJLLqniyhWWH3/8kYMPPphHHnmkQtcnzc+/Ue2UDh06RHv16rXFXOvWraP9+/cv9/rrr78+2rp16y3mLrvssminTp3iVqMSR6z9Up79998/OmjQoMouTQlqR3vm3HPPjf75z3+O3nrrrdGDDz44jhUq0cTaM//617+iOTk50W+//bYqylMCirVn7rnnnuhee+21xdxDDz0UbdasWdxqVOICouPHj9/uNcny868rRjthw4YNzJ07l9zc3C3mc3NzmT59ernvmTFjxlbXn3jiicyZM4fi4uK41arw7Ui//FxpaSlr1qyhXr168ShRCWZHe+app57i008/5dZbb413iUowO9Izr776Ku3bt+fuu+9mjz32YN999+Xaa69l3bp1VVGyQrYjPdOlSxe++uorXn/9daLRKN988w0vvPACp556alWUrCSULD//ZoRdQDJbtWoVJSUlNGrUaIv5Ro0asXz58nLfs3z58nKv37hxI6tWraJJkyZxq1fh2pF++bn77ruPH3/8kXPOOSceJSrB7EjPLF68mP79+zNt2jQyMvwWn2p2pGc+++wz3nnnHWrWrMn48eNZtWoVvXv35rvvvvM+oxSwIz3TpUsXxowZw7nnnsv69evZuHEjZ5xxBg8//HBVlKwklCw//7piVAkikcgW42g0utXcL11f3ryqp1j7ZZPnnnuOgQMHMm7cOBo2bBiv8pSAKtozJSUldOvWjUGDBrHvvvtWVXlKQLF8nyktLSUSiTBmzBg6dOjAKaecwv3338+oUaNcNUohsfTMxx9/zJVXXsktt9zC3LlzmTBhAv/73//o1atXVZSqJJUMP//6z4k7oUGDBqSnp2/1LyorVqzYKhVv0rhx43Kvz8jIoH79+nGrVeHbkX7ZZNy4cVx88cU8//zznHDCCfEsUwkk1p5Zs2YNc+bMYd68efTp0wcIfuiNRqNkZGQwadIkjjvuuCqpXeHYke8zTZo0YY899iAnJ2fzXJs2bYhGo3z11Vfss88+ca1Z4dqRnhk8eDBHHHEE1113HQBt27Zll1124aijjuL2229PmH/9V+JIlp9/XTHaCTVq1KBdu3bk5+dvMZ+fn0+XLl3KfU/nzp23un7SpEm0b9+ezMzMuNWq8O1Iv0CwUnTBBRcwduxY92+nmFh7Jjs7mwULFjB//vzNv3r16sV+++3H/Pnz6dixY1WVrpDsyPeZI444gqVLl/LDDz9snvvkk09IS0ujWbNmca1X4duRnlm7di1paVv+CJmeng6UrQJIP5U0P/+GdOhDtfG3v/0tmpmZGR0xYkT0448/jvbt2ze6yy67RD///PNoNBqN9u/fP5qXl7f5+s8++yxau3bt6NVXXx39+OOPoyNGjIhmZmZGX3jhhbC+BFWhWPtl7Nix0YyMjOijjz4aXbZs2eZfq1evDutLUBWLtWd+zlPpUk+sPbNmzZpos2bNomeffXb0o48+ik6dOjW6zz77RC+55JKwvgRVsVh75qmnnopmZGREhw4dGv3000+j77zzTrR9+/bRDh06hPUlqIqtWbMmOm/evOi8efOiQPT++++Pzps3L/rFF19Eo9Hk/fnXYFQJHn300WiLFi2iNWrUiB522GHRqVOnbv5Yjx49okcfffQW10+ZMiV66KGHRmvUqBFt2bJl9LHHHqviihWmWPrl6KOPjgJb/erRo0fVF67QxPo95qcMRqkp1p5ZuHBh9IQTTojWqlUr2qxZs2i/fv2ia9eureKqFaZYe+ahhx6K7r///tFatWpFmzRpEj3//POjX331VRVXrbBMnjx5uz+fJOvPv5Fo1DVPSZIkSanNe4wkSZIkpTyDkSRJkqSUZzCSJEmSlPIMRpIkSZJSnsFIkiRJUsozGEmSJElKeQYjSZIkSSnPYCRJkiQp5RmMJEmSJKU8g5EkSZKklGcwkiRJkpTy/g8Rw2b1XEohRwAAAABJRU5ErkJggg==",
      "text/plain": [
       "Figure(PyObject <Figure size 1000x600 with 1 Axes>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "acb = [a c b]\n",
    "figure(figsize=[10,6])\n",
    "plot(acb, f.(acb), \"b*\")\n",
    "x = range(a, b, 100)\n",
    "plot(x, f.(x), \"b-.\")\n",
    "plot([a, b], [0, 0], \"g\")\n",
    "grid(true)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "useful-valentine",
   "metadata": {},
   "source": [
    "Again $f(c)$ and $f(b)$ have opposite signs, so the root is in $[c, b]$, and ..."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "compressed-marble",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a=0.5, b=1.0, c=0.75\n"
     ]
    }
   ],
   "source": [
    "a = c  # new left end is old center again\n",
    "# skipping the redundant \"b = b\" this time\n",
    "c = (a+b)/2\n",
    "println(\"a=$a, b=$b, c=$c\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "native-skirt",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Figure(PyObject <Figure size 1000x600 with 1 Axes>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "acb = [a c b]\n",
    "figure(figsize=[10,6])\n",
    "plot(acb, f.(acb), \"b*\")\n",
    "x = range(a, b, 100)\n",
    "plot(x, f.(x), \"b-.\")\n",
    "plot([a, b], [0, 0], \"g\")\n",
    "grid(true)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "preliminary-pocket",
   "metadata": {},
   "source": [
    "This time $f(a)$ and $f(c)$ have opposite sign, so the root is at left, in $[a, c]$:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "biological-shareware",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a=0.5, b=0.75, c=0.625\n"
     ]
    }
   ],
   "source": [
    "# this time, the value of a does not need to be updated ...\n",
    "b = c  # ... and the new right end is the former center\n",
    "c = (a+b)/2\n",
    "println(\"a=$a, b=$b, c=$c\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "matched-learning",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Figure(PyObject <Figure size 1000x600 with 1 Axes>)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "acb = [a c b]\n",
    "figure(figsize=[10,6])\n",
    "plot(acb, f.(acb), \"b*\")\n",
    "x = range(a, b, 100)\n",
    "plot(x, f.(x), \"b-.\")\n",
    "plot([a, b], [0, 0], \"g\")\n",
    "grid(true)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "compressed-macro",
   "metadata": {},
   "source": [
    "## A first algorithm for the bisection method\n",
    "\n",
    "Now it is time to dispense with the graphs, and describe the procedure in mathematical terms:\n",
    "- if $f(a)$ and $f(c)$ have opposite signs, the root is in interval $[a, c]$, which becomes the new version of interval $[a, b]$.\n",
    "- otherwise, $f(c)$ and $f(b)$ have opposite signs, so the root is in interval $[c, b]$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2a430124-61fe-4660-be55-c13579f30896",
   "metadata": {},
   "source": [
    "### Pseudo-code for describing algorithms\n",
    "\n",
    "As a useful bridge from the mathematical desciption of an algorithm with words and formulas to actual executable code,\n",
    "these notes will often describe algorithms in *pseudo-code* —\n",
    "a mix of words and mathematical formulas with notation that somewhat resembles code in a language like Julia.\n",
    "\n",
    "This is also preferable to going straight to code in a particular programming language (such as Julia) because it makes it easier if, later, you wish to implement algorithms in a different language.\n",
    "\n",
    "Note well one feature of the pseudo-code used here:\n",
    "**assignment** is denoted with a left arrow:\n",
    "\n",
    "$x \\leftarrow a$\n",
    "\n",
    "is the instruction to cause the value of variable `x` to become the current value of a."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dd511d89-fb9d-4e26-bbac-49430617bce5",
   "metadata": {},
   "source": [
    "```{prf:remark}\n",
    ":label: remark-notation-assignment-definition\n",
    "\n",
    "A related mathematical notation for this is \":=\", also often used to introduce a definition, as with\n",
    "$\\displaystyle \\tan(x) := \\frac{\\sin(x)}{\\cos(x)}$.\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a2726ae8-afb2-489c-8558-6733b4df1908",
   "metadata": {},
   "source": [
    "This is to distinguish from\n",
    "\n",
    "$x = a$\n",
    "\n",
    "which is a **comparison**: the true-or-false assertion that the two quantities _already_ have the same value."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "49ec7820-1587-4ab3-9d7b-68634fc271b0",
   "metadata": {},
   "source": [
    "Unfortunately however, Julia (like most programming languages) does not use this notation:\n",
    "instead assignment is done with\n",
    "\n",
    "`x = a`\n",
    "\n",
    "so that asserting equality needs a different notation:\n",
    "this is done with\n",
    "\n",
    "`x == a`\n",
    "\n",
    "Note well that double equal sign!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "veterinary-anthony",
   "metadata": {},
   "source": [
    "With that notational issue out of the way,\n",
    "the key step in the bisection strategy is the update of the interval:"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "featured-operations",
   "metadata": {},
   "source": [
    "```{prf:algorithm} one step of bisection\n",
    ":label: bisection-step\n",
    "<br>$\\displaystyle c \\leftarrow \\frac{a + b}{2}$\n",
    "<br>if $f(a) f(c) < 0$ then\n",
    "<br>$\\quad$ $b \\leftarrow c$\n",
    "<br>else\n",
    "<br>$\\quad$ $a \\leftarrow c$\n",
    "<br>end\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "incorporated-retail",
   "metadata": {},
   "source": [
    "This needs to be repeated a finite number of times, and the simplest way is to specify the number of iterations.\n",
    "(We will consider more refined methods soon.)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "macro-hygiene",
   "metadata": {},
   "source": [
    "```{prf:algorithm} bisection, first version\n",
    ":label: bisection-for\n",
    "\n",
    "- Get an initial interval $[a, b]$ with a sign-change: $f(a) f(b) < 0$.\n",
    "\n",
    "- Choose $N$, the number of iterations.\n",
    "\n",
    "- for i from 1 to N\n",
    "<br>$\\quad$ $\\displaystyle c \\leftarrow \\frac{a + b}{2}$\n",
    "<br>$\\quad$ if $f(a) f(c) < 0$ then\n",
    "<br>$\\quad$$\\quad$ $b \\leftarrow c$\n",
    "<br>$\\quad$ else:\n",
    "<br>$\\quad$$\\quad$ $a \\leftarrow c$\n",
    "<br>$\\quad$ end\n",
    "<br>end\n",
    "\n",
    "- The approximate root is the final value of $c$.\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "seasonal-circle",
   "metadata": {},
   "source": [
    "A Julia version of the iteration is not a lot different:"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "medieval-identification",
   "metadata": {},
   "source": [
    "    for i in 1:N\n",
    "        c = (a+b)/2\n",
    "        if f(a) * f(c) < 0\n",
    "            b = c\n",
    "        else\n",
    "            a = c\n",
    "        end\n",
    "    end"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4aabc0c7-1474-4a77-8598-3d17faa4de17",
   "metadata": {},
   "source": [
    "```{prf:remark} On Julia\n",
    ":label: julia-iteration-conditionals\n",
    "See the notes on [Iteration](iteration) and [Conditionals](#condititionals) on the syntax seen here for first time.\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "multiple-multiple",
   "metadata": {},
   "source": [
    "See {ref}`root-finding-by-interval-halving-exercise-1`."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "regular-tolerance",
   "metadata": {},
   "source": [
    "## Error bounds, and a more refined algorithm\n",
    "\n",
    "The above method of iteration for a fixed number of times is simple, but usually not what is wanted in practice.\n",
    "Instead, a better goal is to get an approximation with a guaranteed maximum possible error:\n",
    "a result consisting of an approximation $\\tilde{r}$ to the exact root $r$ and also a bound $E_{max}$ on the maximum possible error; a guarantee that $|r - \\tilde{r}| \\leq E_{max}$.\n",
    "To put it another way, a guarantee that the root $r$ lies in the interval $[\\tilde{r} - E_{max}, \\tilde{r} + E_{max}]$.\n",
    "\n",
    "In the above example, each iteration gives a new interval $[a, b]$ guaranteed to contain the root,\n",
    "and its midpoint $c = (a+b)/2$ is with a distance $(b-a)/2$ of any point in that interval, so at each iteration, we can have:\n",
    "- $\\tilde{r}$ is the current value of $c = (a+b)/2$\n",
    "- $E_{max} = (b-a)/2$"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b28a7ccd-51f1-4c4c-84b9-c65d139dd834",
   "metadata": {},
   "source": [
    "## Error tolerances and stopping conditions\n",
    "\n",
    "The above algorthm can *passively* state an error bound, but it is better to be able to solve to a desired degree of accuracy;\n",
    "for example, if we want a result \"accurate to three decimal places\", we can specify $E_{max} \\leq 0.5 \\times 10^{-3}$.\n",
    "\n",
    "So our next goal is to *actively* set an accuracy target or *error tolerance* $E_{tol}$ and keep iterating until it is met.\n",
    "This can be achieved with a `while` loop; here is a suitable algorithm:"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "62676a54-ecff-4094-92c8-e5ccbb86a367",
   "metadata": {},
   "source": [
    "```{prf:algorithm} bisection with error tolerance\n",
    ":label: bisection-while\n",
    "- Input function $f$, interval endpoints $a$ and $b$, and an error tolerance $E_{tol}$\n",
    "\n",
    "- Evaluate $E_{max} = (b-a)/2$\n",
    "\n",
    "- while $E_{max} > E_{tol}$:\n",
    "<br>$\\quad c \\leftarrow (a+b)/2$\n",
    "<br>$\\quad$ if $f(a) f(c) < 0$ then\n",
    "<br>$\\quad\\quad b \\leftarrow c$\n",
    "<br>$\\quad$ else\n",
    "<br>$\\quad\\quad a \\leftarrow c$\n",
    "<br>$\\quad$ end\n",
    "<br>$\\quad E_{max} \\leftarrow (b-a)/2$\n",
    "<br>end\n",
    "\n",
    "- Output $\\tilde{r} = c$ as the approximate root and $E_{max}$ as a bound on its absolute error.\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "578a6c3c-8ef4-4748-845f-ef86e0fb777d",
   "metadata": {},
   "source": [
    "## Cost/speed\n",
    "\n",
    "The bisection method is unusual in that we can calculate in advance how many iterations are needed, using the fact that each iteration halves the maximum possible error."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0b12b48b-9adb-46fe-bb7f-27f3abe1f48e",
   "metadata": {},
   "source": [
    "````{prf:theorem}\n",
    ":label: interval-halving-iterations-needed\n",
    "\n",
    "Starting with an interval $[a,b]$ in which a continuous function $f$ is known to change signs and thus have a root,\n",
    "the error bound will be less than a target accuracy of $E_{tol}$ in\n",
    "\n",
    "$$\n",
    "N = \\left\\lceil \\log_2\\left( \\frac{b-a}{E_{tol}} \\right) \\right\\rceil\n",
    "$$ (eq:bisection-cost-bound)\n",
    "\n",
    "steps (where $\\lceil \\cdot \\rceil$ is the \"ceiling\" function, rounding up to an integer.)\n",
    "````"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59c2c12a-cfc8-4d8b-a21c-6ba5da32ae69",
   "metadata": {},
   "source": [
    "````{prf:proof}\n",
    "The error in the midpoint $c = (a+b)/2$ as an approximation of the root is at most $(b-a)/2$, and each iteration shrinks the interval — and thus the error bound on the new interval's midpoint — by a factor of two.\n",
    "Thus after $N$ steps, the error is at most $(b-a)/2^{N+1}$.\n",
    "\n",
    "The error is small enough once this is less than the tolerance $E_{tol}$,\n",
    "so we are done once\n",
    "\n",
    "$$\n",
    "\\frac{b-a}{2^{N+1}} \\leq E_{tol}\n",
    "$$\n",
    "\n",
    "Solving this inequality for $N$ gives the sufficient condition\n",
    "\n",
    "$$\n",
    "N \\geq \\log_2\\left(\\frac{b-a}{E_{tol}}\\right)\n",
    "$$\n",
    "\n",
    "However, $N$ must be an integer, so we must round up to get the smallest acceptable value, giving Equation {eq}`eq:bisection-cost-bound`.\n",
    "````"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d5441e15-67ec-4c83-9cd0-7625c0c009e9",
   "metadata": {},
   "source": [
    "## Exercises"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "72de0e45-5356-475c-a015-e14226107a8c",
   "metadata": {},
   "source": [
    "```{exercise-start}\n",
    ":label: root-finding-by-interval-halving-exercise-1\n",
    "```\n",
    "\n",
    "Create a Julia function `bisection1` which implements the first algorithm for bisection above,\n",
    "which performs a fixed number $N$ of iterations;\n",
    "the usage should be:\n",
    "`root = bisection1(f, a, b, N)`\n",
    " \n",
    "Test it with the above example:\n",
    "$f(x) = x - \\cos x = 0$, $[a, b] = [-1, 1]$\n",
    "\n",
    "```{exercise-end}\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "50a1fcd5-fc82-4fc3-9650-290cf1bc1a34",
   "metadata": {},
   "source": [
    "```{prf:remark}\n",
    ":label: functions\n",
    "\n",
    "Julia newcomers: see the notes introducing [*Julia Functions*](functions1).\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "imposed-trance",
   "metadata": {},
   "source": [
    "```{exercise-start}\n",
    ":label: root-finding-by-interval-halving-exercise-2\n",
    "```\n",
    "\n",
    "Create a Julia function implementing the better {prf:ref}`bisection-while`, with usage\n",
    "\n",
    "Test it with the above example: $f(x) = x - \\cos x$, $[a, b] = [-1, 1]$,\n",
    "this time accurate to within $10^{-4}$.\n",
    "\n",
    "Use the fact that there is a solution in the interval $(-1, 1)$.\n",
    "\n",
    "```{exercise-end}\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "24d7aaa6-4399-44c2-8d3d-6f12da40d5a1",
   "metadata": {},
   "source": [
    "```{exercise-start}\n",
    ":label: root-finding-by-interval-halving-exercise-3\n",
    "```\n",
    "Consider the equation $x^5 = x^2 + 10$.\n",
    "\n",
    "a) Find an interval $[a,b]$ of length one in which there is guaranteed to be a root.\n",
    "\n",
    "b) Compute, by hand, the next two improved approximations given by the bisection method.\n",
    "\n",
    "c) Determine how many iterations of the bisection method would then be needed to approximate the root with an absolute error of at most $10^{-10}$.\n",
    "Do this without actually computing those extra iterations or computing that approximation of the root!\n",
    "```{exercise-end}\n",
    "```"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 1.11.4",
   "language": "julia",
   "name": "julia-1.11"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "1.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
