{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $f$ be a real function that is twice continuously differentiable on an open interval $I$.\nLet $r \\in I$ be a simple zero of $f$, that is, $f(r) = 0$ and $f'(r) \\ne 0$.\nFor $x$ with $f(x) \\ne 0$, put\n$$g(x) = \\frac{f(x + f(x)) - f(x)}{f(x)}.$$\n*Steffensen's method* is the iteration\n$$x_{n+1} = x_n - \\frac{f(x_n)}{g(x_n)},$$\nstopped when $f(x_n) = 0$.\nThen there is $\\delta \u003e 0$ such that for every $x_0$ with $\\abs{x_0 - r} \u003c \\delta$ the iterates are defined and [[converge|YWZQC5E54B]] to $r$ quadratically.\n\n## Remarks\n\nThe quantity $g(x)$ is a difference quotient of $f$ with step $h = f(x)$.\nNear $r$ the step $f(x)$ is small, and $g(x) = f'(x) + O(f(x))$.\nSo the method behaves like [[Newton's method|07EXVNF9VP]], with an error in the slope of the same size as the current error, which keeps the order $2$.\nEach step costs two evaluations of $f$ and no derivative.\nThe step is exactly [[Aitken's delta-squared process|WF08BMN6Q6]] applied to the points $x$, $\\varphi(x)$, $\\varphi(\\varphi(x))$ of the fixed-point map $\\varphi(x) = x + f(x)$.\nThe method needs $x_0$ close to $r$: when $f(x_0)$ is large, the point $x_0 + f(x_0)$ can be far away and the slope estimate is useless.\n\n## Explanations\n\n### L1 human\n\nNewton's method needs the derivative.\nSteffensen's method replaces it by the slope between $x$ and $x + f(x)$.\nNear the root $f(x)$ is tiny, so this slope is very accurate, and the method is as fast as Newton's method.\n\n### L2 human\n\nIt is the derivative-free counterpart of Newton's method, with the same quadratic order.\nIt also shows how convergence acceleration turns a linearly convergent fixed-point iteration into a quadratically convergent one.\nIts basin of convergence is often smaller than that of Newton's method.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "07EXVNF9VP"
    ],
    "kind": "statement",
    "msc": [
      "65H05",
      "65B99"
    ],
    "name": "Steffensen's method",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q7606635",
      "wikipedia": "Steffensen's method"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Steffensen%27s_method"
      }
    ],
    "tag": "GEFBDG5CJ3",
    "uses": [
      "07EXVNF9VP",
      "WF08BMN6Q6",
      "YWZQC5E54B"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/GEFBDG5CJ3/",
  "links": [
    {
      "field": "about",
      "target": "07EXVNF9VP"
    },
    {
      "field": "uses",
      "target": "07EXVNF9VP"
    },
    {
      "field": "uses",
      "target": "WF08BMN6Q6"
    },
    {
      "field": "uses",
      "target": "YWZQC5E54B"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/GEFBDG5CJ3.md",
  "msc": [
    "65H05",
    "65B99"
  ],
  "name": "Steffensen's method",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/GEF/GEFBDG5CJ3.md",
  "status": null,
  "tag": "GEFBDG5CJ3",
  "uri": "m2://GEFBDG5CJ3",
  "url": "https://tamnd.github.io/math2/wiki/steffensens-method/",
  "writing": {
    "tag": "GEFBDG5CJ3",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
