{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "53H8EVRC1J"
    },
    {
      "field": "uses",
      "target": "J8ZRM7KFJH"
    },
    {
      "field": "uses",
      "target": "MM0YNN1MJA"
    }
  ],
  "body": "\n## Summary\n\nThe Lax–Friedrichs method is an explicit [[finite difference method|X7HYEBA5SA]] for hyperbolic equations such as [[conservation laws|8RA7AMWSAF]].\nIt replaces the value at the current point by the average of its two neighbours and then applies a centred difference of the flux.\nThe averaging adds numerical viscosity, which makes the scheme stable under the [[Courant–Friedrichs–Lewy condition|FQVVNYV6N8]].\nIt is first-order accurate and smears shocks, but it is simple and robust.\nSee the [[definition|53H8EVRC1J]].\n\n## Explanations\n\n### L1 human\n\nTo update a value on a grid, a naive scheme uses the old value plus a centred estimate of the change, and this blows up.\nThe Lax–Friedrichs method uses the average of the two neighbouring old values instead of the old value itself.\nThis small change acts like a little diffusion, and it damps the growing oscillations.\nFor the equation $u_t + a u_x = 0$, the new value is a weighted average of the two neighbours when $\\abs{a} \\Delta t \\le \\Delta x$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65M06",
      "65M08",
      "35L65"
    ],
    "name": "Lax–Friedrichs method",
    "same_as": {
      "wikidata": "Q6505312",
      "wikipedia": "Lax–Friedrichs method"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Lax%E2%80%93Friedrichs_method"
      }
    ],
    "specializes": [
      "X7HYEBA5SA"
    ],
    "tag": "VY3J2NKGKW"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/VY3J2NKGKW/",
  "links": [
    {
      "field": "specializes",
      "target": "X7HYEBA5SA"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/VY3J2NKGKW.md",
  "msc": [
    "65M06",
    "65M08",
    "35L65"
  ],
  "name": "Lax–Friedrichs method",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/VY3/VY3J2NKGKW.md",
  "status": null,
  "tag": "VY3J2NKGKW",
  "uri": "m2://VY3J2NKGKW",
  "url": "https://tamnd.github.io/math2/wiki/lax-friedrichs-method/",
  "writing": {
    "tag": "VY3J2NKGKW",
    "kind": "concept",
    "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
      }
    ]
  }
}
