{
  "aliases": null,
  "backlinks": [
    {
      "field": "about",
      "target": "Q390KATZ87"
    },
    {
      "field": "uses",
      "target": "Q390KATZ87"
    }
  ],
  "body": "\n## Statement\n\nLet $f$ be a real function that is three times 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$.\n*Halley's method* is the iteration\n$$x_{n+1} = x_n - \\frac{2 f(x_n) f'(x_n)}{2 f'(x_n)^2 - f(x_n) f''(x_n)}.$$\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 to $r$.\nThe [[convergence|YWZQC5E54B]] has order at least $3$:\n$$\\abs{x_{n+1} - r} \\le C \\abs{x_n - r}^3$$\nfor some constant $C$ and all $n$.\n\n## Remarks\n\nThe step is [[Newton's method|07EXVNF9VP]] applied to $g = f / \\sqrt{\\abs{f'}}$.\nAt a simple zero, $g$ has the zero $r$ and satisfies $g''(r) = 0$, and Newton's method on such a function converges cubically.\nThe same formula can be written $x_{n+1} = x_n - \\dfrac{f/f'}{1 - f f''/(2 f'^2)}$, evaluated at $x_n$.\nHere $f'$ is the [[derivative|0F1WR9C83K]] of $f$.\nFor $f(x) = x^2 - a$ with $a \u003e 0$, the method gives $x_{n+1} = x_n \\dfrac{x_n^2 + 3a}{3x_n^2 + a}$, which roughly triples the number of correct digits of $\\sqrt{a}$ per step near the root.\nAt a multiple zero the order of convergence drops to $1$.\n\n## Explanations\n\n### L1 human\n\nNewton's method replaces the graph by a tangent line.\nHalley's method also uses the second derivative, so it follows the bending of the graph.\nNear a simple root, each step roughly triples the number of correct digits, against doubling for Newton's method.\n\n### L2 human\n\nEach step costs one evaluation of $f$, $f'$ and $f''$.\nSo it pays off when the second derivative is cheap, as for polynomials.\nIt is the case $d = 2$ of the Householder family of methods, whose case $d = 1$ is Newton's method.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "07EXVNF9VP"
    ],
    "kind": "statement",
    "msc": [
      "65H05"
    ],
    "name": "Halley's method",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q1476051",
      "wikipedia": "Halley's method"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Halley%27s_method"
      }
    ],
    "tag": "RPME2B5MS2",
    "uses": [
      "07EXVNF9VP",
      "YWZQC5E54B",
      "0F1WR9C83K"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/RPME2B5MS2/",
  "links": [
    {
      "field": "about",
      "target": "07EXVNF9VP"
    },
    {
      "field": "uses",
      "target": "07EXVNF9VP"
    },
    {
      "field": "uses",
      "target": "YWZQC5E54B"
    },
    {
      "field": "uses",
      "target": "0F1WR9C83K"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/RPME2B5MS2.md",
  "msc": [
    "65H05"
  ],
  "name": "Halley's method",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/RPM/RPME2B5MS2.md",
  "status": null,
  "tag": "RPME2B5MS2",
  "uri": "m2://RPME2B5MS2",
  "url": "https://tamnd.github.io/math2/wiki/halleys-method/",
  "writing": {
    "tag": "RPME2B5MS2",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
