{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "4135XQ4WHK"
    }
  ],
  "body": "\n## Statement\n\nLet $A$ be a real symmetric [[positive definite|0KX66CZMBB]] [[sparse matrix|JGACZYEEY7]] whose [[graph|00C0BR7D7H]] $G$ has vertex set $V$.\nA *separator* of $G$ is a set $S \\subseteq V$ such that $V \\setminus S$ splits into two parts $V_1$ and $V_2$.\nNo edge of $G$ joins $V_1$ and $V_2$.\nThe *nested dissection ordering* is defined recursively.\nChoose a separator $S$; order the vertices of $V_1$ first, then those of $V_2$, and those of $S$ last.\nOrder $V_1$ and $V_2$ by the same rule, applied to the subgraphs they induce, until the parts are small.\n\nLet $A$ be the matrix of the five-point [[finite difference|X7HYEBA5SA]] Laplacian on a $k \\times k$ grid, so $n = k^2$.\nLet each separator be a grid line that splits the current rectangle into two halves.\nThen the [[Cholesky factor|0WKG8CYY6A]] of $A$ in this ordering has $O(n \\log n)$ nonzero entries.\nThe factorization takes $O(n^{3/2})$ arithmetic operations.\n\n## Remarks\n\nSince the vertices of $S$ come last, no elimination step inside $V_1$ can create fill linking $V_1$ to $V_2$.\nSo the factor has a block structure with two independent blocks and a dense final block for $S$.\nOn the grid the separators have size $O(\\sqrt{m})$ for a subgrid of $m$ points, and summing the dense separator blocks over the levels of the recursion gives the two bounds.\nFor comparison, a banded ordering of the same grid gives a factor with about $n^{3/2}$ nonzeros and costs about $n^2$ operations.\nThe same bounds hold for any matrix whose graph is [[planar|0NC9R64TXP]], by the planar separator theorem of Lipton and Tarjan.\nOn the grid, no ordering beats the operation count $O(n^{3/2})$ by more than a constant factor.\n\n## Explanations\n\n### L1 human\n\nCut the problem into two halves with a thin wall, solve the two halves separately, and handle the wall last.\nThen cut each half the same way, and so on.\nBecause the two halves never talk to each other directly, elimination cannot spread nonzeros from one half to the other.\nThis divide-and-conquer order makes direct solvers for two-dimensional grids much cheaper.\n\n### L2 human\n\nNested dissection is the main fill-reducing ordering for matrices from discretized partial differential equations.\nIts recursive structure also exposes parallelism: the independent halves can be factored at the same time.\nIn three dimensions the separators are larger, and the cost on a $k \\times k \\times k$ grid becomes $O(n^2)$ operations with $n = k^3$.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "JGACZYEEY7",
      "0WKG8CYY6A"
    ],
    "kind": "statement",
    "msc": [
      "65F50",
      "65F05",
      "65N22"
    ],
    "name": "Nested dissection",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q6997812",
      "wikipedia": "Nested dissection"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Nested_dissection"
      }
    ],
    "tag": "9DTJ87P4R1",
    "uses": [
      "0KX66CZMBB",
      "JGACZYEEY7",
      "0WKG8CYY6A",
      "00C0BR7D7H",
      "0NC9R64TXP",
      "X7HYEBA5SA"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/9DTJ87P4R1/",
  "links": [
    {
      "field": "about",
      "target": "JGACZYEEY7"
    },
    {
      "field": "about",
      "target": "0WKG8CYY6A"
    },
    {
      "field": "uses",
      "target": "0KX66CZMBB"
    },
    {
      "field": "uses",
      "target": "JGACZYEEY7"
    },
    {
      "field": "uses",
      "target": "0WKG8CYY6A"
    },
    {
      "field": "uses",
      "target": "00C0BR7D7H"
    },
    {
      "field": "uses",
      "target": "0NC9R64TXP"
    },
    {
      "field": "uses",
      "target": "X7HYEBA5SA"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/9DTJ87P4R1.md",
  "msc": [
    "65F50",
    "65F05",
    "65N22"
  ],
  "name": "Nested dissection",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/9DT/9DTJ87P4R1.md",
  "status": null,
  "tag": "9DTJ87P4R1",
  "uri": "m2://9DTJ87P4R1",
  "url": "https://tamnd.github.io/math2/wiki/nested-dissection/",
  "writing": {
    "tag": "9DTJ87P4R1",
    "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
      }
    ]
  }
}
