{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nConsider a scalar [[conservation law|8RA7AMWSAF]] $u_t + f(u)_x = 0$ in one space dimension, and a numerical scheme that maps a grid function $u^n = (u_j^n)_{j \\in \\Z}$ to $u^{n+1} = (u_j^{n+1})_{j \\in \\Z}$.\nThe discrete [[total variation|8QA5DEWNYD]] of a grid function $v$ is\n$$TV(v) = \\sum_{j \\in \\Z} \\abs{v_{j+1} - v_j}.$$\nThe scheme is *total variation diminishing* (TVD) if $TV(u^{n+1}) \\le TV(u^n)$ for every grid function $u^n$ with $TV(u^n) \u003c \\infty$.\n\n## Remarks\n\nExample: for $u_t + a u_x = 0$ with $a \u003e 0$, the [[upwind scheme|MTCRZC5QKT]] with $0 \\le \\nu \\le 1$ gives $u_{j+1}^{n+1} - u_j^{n+1} = (1 - \\nu)(u_{j+1}^n - u_j^n) + \\nu (u_j^n - u_{j-1}^n)$.\nBy the triangle inequality and a shift of the index, $TV(u^{n+1}) \\le (1 - \\nu) TV(u^n) + \\nu\\, TV(u^n) = TV(u^n)$.\nNon-example: the [[Lax–Wendroff method|YHZ9BCNDRZ]] with $\\nu = 1/2$, applied to the step $u_j^n = 1$ for $j \\le 0$ and $u_j^n = 0$ for $j \\ge 1$, gives $u_0^{n+1} = 1.125$, $u_1^{n+1} = 0.375$ and $u_j^{n+1} = u_j^n$ for the other $j$.\nSo $TV(u^{n+1}) = 0.125 + 0.75 + 0.375 = 1.25 \u003e 1 = TV(u^n)$.\nHarten's criterion: a scheme that can be written as $u_j^{n+1} = u_j^n + C_{j+1/2} (u_{j+1}^n - u_j^n) - D_{j-1/2} (u_j^n - u_{j-1}^n)$ with $C_{j+1/2} \\ge 0$, $D_{j+1/2} \\ge 0$ and $C_{j+1/2} + D_{j+1/2} \\le 1$ for all $j$ is TVD.\nEvery monotone conservative scheme is TVD, and every TVD scheme is monotonicity preserving.\n\n## Explanations\n\n### L1 human\n\nA scheme is TVD when the total amount of up-and-down in the solution can only shrink.\nThis forbids new wiggles near jumps.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "NX8RE9B72A",
    "kind": "definition",
    "msc": [
      "65M08",
      "65M12",
      "35L65"
    ],
    "name": "Total variation diminishing scheme",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Total_variation_diminishing"
      }
    ],
    "tag": "ZR1DPX6VAN",
    "uses": [
      "8QA5DEWNYD",
      "8RA7AMWSAF",
      "MTCRZC5QKT",
      "YHZ9BCNDRZ"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/ZR1DPX6VAN/",
  "links": [
    {
      "field": "defines",
      "target": "NX8RE9B72A"
    },
    {
      "field": "uses",
      "target": "8QA5DEWNYD"
    },
    {
      "field": "uses",
      "target": "8RA7AMWSAF"
    },
    {
      "field": "uses",
      "target": "MTCRZC5QKT"
    },
    {
      "field": "uses",
      "target": "YHZ9BCNDRZ"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/ZR1DPX6VAN.md",
  "msc": [
    "65M08",
    "65M12",
    "35L65"
  ],
  "name": "Total variation diminishing scheme",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/ZR1/ZR1DPX6VAN.md",
  "status": null,
  "tag": "ZR1DPX6VAN",
  "uri": "m2://ZR1DPX6VAN",
  "url": "https://tamnd.github.io/math2/wiki/total-variation-diminishing-scheme-definition/",
  "writing": {
    "tag": "ZR1DPX6VAN",
    "kind": "definition",
    "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
      }
    ]
  }
}
