{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "5F76XA1ABC"
    },
    {
      "field": "uses",
      "target": "E4FMVDQ2GR"
    },
    {
      "field": "uses",
      "target": "GP9E4AWJ8W"
    },
    {
      "field": "uses",
      "target": "GYNYT7KTC3"
    },
    {
      "field": "uses",
      "target": "NW1XQ95R5P"
    },
    {
      "field": "about",
      "target": "GP9E4AWJ8W"
    }
  ],
  "body": "\n## Statement\n\nLet $I$ be an open interval, let $f \\colon I \\to \\R$ be [[twice continuously differentiable|0VW90BBSJ4]], and let $r \\in I$ with $f(r) = 0$ and [[derivative|0V1EJCT8G6]] $f'(r) \\ne 0$.\nThe *secant method* starts from two points $x_0 \\ne x_1$ in $I$ and sets\n$$x_{k+1} = x_k - f(x_k) \\, \\frac{x_k - x_{k-1}}{f(x_k) - f(x_{k-1})}, \\qquad k \\ge 1,$$\nstopping if $f(x_k) = 0$.\nThen there is $\\delta \u003e 0$ with $J = [r - \\delta, r + \\delta] \\subseteq I$ such that for all distinct $x_0, x_1 \\in J$:\n\n1. all iterates are defined and lie in $J$, and $x_k \\to r$;\n2. the errors $e_k = x_k - r$ satisfy\n$$e_{k+1} = \\frac{f''(\\xi_k)}{2 f'(\\eta_k)} \\, e_k \\, e_{k-1}$$\nfor some points $\\xi_k, \\eta_k$ in the smallest interval containing $x_{k-1}$, $x_k$ and $r$.\n\n## Remarks\n\nThe error formula comes from writing $x_{k+1} - r$ with divided differences: $e_{k+1} = e_k e_{k-1} f[x_{k-1}, x_k, r] / f[x_{k-1}, x_k]$, and the mean value theorem for divided differences turns these into $f''(\\xi_k)/2$ and $f'(\\eta_k)$.\nLet $M$ be the maximum of $\\abs{f''}$ over $J$ divided by twice the minimum of $\\abs{f'}$ over $J$.\nChoose $\\delta$ so that $f' \\ne 0$ on $J$ and $M \\delta \u003c 1$; then $\\abs{e_{k+1}} \\le M \\delta \\abs{e_k}$, which gives clause 1.\nExample: for $f(x) = x^2 - 2$, $x_0 = 1$, $x_1 = 2$, the iterates are $4/3$, $1.4$, $1.41463$, $1.41421$, approaching $\\sqrt{2}$.\nThe condition $f'(r) \\ne 0$ matters.\nAt a double zero such as that of $f(x) = x^2$, the method still converges from nearby points on the same side of $0$, but only linearly, with ratio tending to $(\\sqrt{5} - 1)/2$.\nFar from a zero the method can fail, for example when $f(x_k) = f(x_{k-1})$ and the step is undefined.\n\n## Explanations\n\n### L1 human\n\nThe secant method is Newton's method without derivatives.\nInstead of the tangent line at one point, it draws the line through the last two points of the graph.\nIts crossing with the axis is the next guess.\nNear a simple zero the guesses improve very fast, and each step needs only one new value of $f$.\n\n### L2 human\n\nThe error recursion $e_{k+1} \\approx C e_k e_{k-1}$ with $C = f''(r)/(2f'(r))$ is the source of the [[superlinear convergence of the secant method|GP9E4AWJ8W]], with order the golden ratio $(1 + \\sqrt{5})/2 \\approx 1.618$.\n[[Newton's method|07EXVNF9VP]] has order $2$ but needs $f'$ at each step; per function evaluation, the secant method is often faster.\nKeeping a bracket instead of the last two points gives [[regula falsi|462AEY7MWF]], which is safe but can be slow.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "TR4CNS5PMJ"
    ],
    "kind": "statement",
    "msc": [
      "65H05"
    ],
    "name": "Secant method",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q14915286",
      "wikipedia": "Secant method"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Secant_method"
      }
    ],
    "tag": "9ZC177PVPC",
    "uses": [
      "TR4CNS5PMJ",
      "0VW90BBSJ4",
      "0Q4QJWEHW3",
      "0V1EJCT8G6"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/9ZC177PVPC/",
  "links": [
    {
      "field": "about",
      "target": "TR4CNS5PMJ"
    },
    {
      "field": "uses",
      "target": "TR4CNS5PMJ"
    },
    {
      "field": "uses",
      "target": "0VW90BBSJ4"
    },
    {
      "field": "uses",
      "target": "0Q4QJWEHW3"
    },
    {
      "field": "uses",
      "target": "0V1EJCT8G6"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/9ZC177PVPC.md",
  "msc": [
    "65H05"
  ],
  "name": "Secant method",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/9ZC/9ZC177PVPC.md",
  "status": null,
  "tag": "9ZC177PVPC",
  "uri": "m2://9ZC177PVPC",
  "url": "https://tamnd.github.io/math2/wiki/secant-method/",
  "writing": {
    "tag": "9ZC177PVPC",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
