{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $f \\colon [t_0, T] \\times \\R^d \\to \\R^d$ be continuous and [[Lipschitz|0AW1E6YTJY]] in $y$ with constant $L$, and consider the [[initial value problem|0FXDW992DS]] $y' = f(t, y)$, $y(t_0) = y_0$.\nThe *backward Euler method* with step $h \u003e 0$ sets $t_{n+1} = t_n + h$ and defines $y_{n+1}$ by the implicit equation\n$$y_{n+1} = y_n + h \\, f(t_{n+1}, y_{n+1}).$$\nThen:\n\n1. if $hL \u003c 1$, the equation has exactly one solution $y_{n+1}$ for each $y_n$;\n2. if the exact solution $y$ is of class $C^3$, the [[local truncation error|T220HF0562]] is $y(t_{n+1}) - y(t_n) - h \\, y'(t_{n+1}) = -\\frac{h^2}{2} y''(t_n) + O(h^3)$, so the method has order $1$;\n3. for the test equation $y' = \\lambda y$ with $\\lambda \\in \\C$, it gives $y_{n+1} = R(h\\lambda) y_n$ with $R(z) = \\frac{1}{1 - z}$, and $\\abs{R(z)} \u003c 1$ whenever $\\operatorname{Re} z \u003c 0$.\n\n## Remarks\n\nClause 1: the map $z \\mapsto y_n + h f(t_{n+1}, z)$ is a contraction with constant $hL \u003c 1$, so the [[Banach fixed point theorem|0VK6VEH345]] gives a unique fixed point, which fixed-point iteration finds.\nClause 2 follows by Taylor expansion of $y(t_n)$ and $y'(t_{n+1})$ about $t_n$.\nClause 3: if $\\operatorname{Re} z \u003c 0$ then $\\abs{1 - z} \u003e 1$; so the numerical solution decays whenever the exact one does, for every step size, and the method is A-stable.\nExample: for $y' = -1000 y$ and $h = 0.1$, the explicit Euler method multiplies by $1 - 100 = -99$ at each step and explodes, while backward Euler multiplies by $\\frac{1}{101}$ and decays like the true solution.\nFor stiff problems $hL$ is large, and the equation is solved by Newton's method rather than by fixed-point iteration.\nSo the restriction $hL \u003c 1$ of clause 1 is a feature of that proof, not of the method.\n\n## Explanations\n\n### L1 human\n\nThe ordinary Euler method uses the slope at the start of a step; the backward Euler method uses the slope at the end of the step.\nSince that endpoint is not yet known, each step requires solving an equation.\nThe reward is stability: the method does not blow up on problems whose solutions decay very fast, even with large steps.\n\n### L2 human\n\nBackward Euler is the simplest implicit method and the prototype of methods for [[stiff equations|RR5FCG92PN]].\nIt is both the one-stage Radau IIA Runge–Kutta method and the first backward differentiation formula (BDF1).\nIts stability function $R(z) = 1/(1-z)$ tends to $0$ as $z \\to -\\infty$, a property called L-stability, which damps fast transients strongly.\nIts accuracy is only first order, so in practice higher-order implicit methods such as the BDF family or the [[Gauss–Legendre methods|D99FZQ2SQT]] are used, with backward Euler as their simplest relative.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "558XADG64M"
    ],
    "kind": "statement",
    "msc": [
      "65L04",
      "65L05",
      "65L20"
    ],
    "name": "Backward Euler method",
    "role": "proposition",
    "same_as": {
      "wikidata": "Q2736820",
      "wikipedia": "Backward Euler method"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Backward_Euler_method"
      }
    ],
    "tag": "M7XKVNATFA",
    "uses": [
      "558XADG64M",
      "0FXDW992DS",
      "0AW1E6YTJY",
      "0VK6VEH345",
      "T220HF0562"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/M7XKVNATFA/",
  "links": [
    {
      "field": "about",
      "target": "558XADG64M"
    },
    {
      "field": "uses",
      "target": "558XADG64M"
    },
    {
      "field": "uses",
      "target": "0FXDW992DS"
    },
    {
      "field": "uses",
      "target": "0AW1E6YTJY"
    },
    {
      "field": "uses",
      "target": "0VK6VEH345"
    },
    {
      "field": "uses",
      "target": "T220HF0562"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/M7XKVNATFA.md",
  "msc": [
    "65L04",
    "65L05",
    "65L20"
  ],
  "name": "Backward Euler method",
  "prov": null,
  "role": "proposition",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/M7X/M7XKVNATFA.md",
  "status": null,
  "tag": "M7XKVNATFA",
  "uri": "m2://M7XKVNATFA",
  "url": "https://tamnd.github.io/math2/wiki/backward-euler-method/",
  "writing": {
    "tag": "M7XKVNATFA",
    "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
      }
    ]
  }
}
