{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "X8MCVW56QP"
    }
  ],
  "body": "\n## Statement\n\nLet $A$ be an invertible real matrix.\nWrite it in [[block form|0ASDFEQS6P]] as\n$$A = \\begin{pmatrix} A_{II} \u0026 A_{I\\Gamma} \\\\ A_{\\Gamma I} \u0026 A_{\\Gamma\\Gamma} \\end{pmatrix}, \\qquad A_{II} = \\begin{pmatrix} A_{11} \u0026 \u0026 \\\\ \u0026 \\ddots \u0026 \\\\ \u0026 \u0026 A_{NN} \\end{pmatrix}.$$\nHere the unknowns are split into interior unknowns $u_I = (u_1, \\dots, u_N)$ of $N$ subdomains and interface unknowns $u_\\Gamma$.\nEach block $A_{jj}$ is invertible.\nLet $S = A_{\\Gamma\\Gamma} - A_{\\Gamma I} A_{II}^{-1} A_{I\\Gamma}$ be the [[Schur complement|6HWFBXYPZP]] of $A_{II}$ in $A$.\nThen $(u_I, u_\\Gamma)$ solves $A u = f$ with $f = (f_I, f_\\Gamma)$ if and only if\n$$S u_\\Gamma = f_\\Gamma - A_{\\Gamma I} A_{II}^{-1} f_I \\quad \\text{and} \\quad u_j = A_{jj}^{-1} \\bigl( f_j - (A_{I\\Gamma} u_\\Gamma)_j \\bigr) \\text{ for } j = 1, \\dots, N.$$\nIf $A$ is symmetric [[positive definite|0KX66CZMBB]], then $S$ is symmetric positive definite.\n\n## Remarks\n\nThe equivalence is block Gaussian elimination: the first block row gives $u_I = A_{II}^{-1}(f_I - A_{I\\Gamma} u_\\Gamma)$, and substituting into the second block row gives the interface equation.\nSince $A_{II}$ is block diagonal, every application of $A_{II}^{-1}$ splits into independent solves on the subdomains.\nIf $A$ is symmetric positive definite, then $v^T S v = w^T A w$ for $w = (-A_{II}^{-1} A_{I\\Gamma} v, v)$, which is positive for $v \\ne 0$.\n\nIn practice one does not form $S$.\nOne solves the interface system by the [[conjugate gradient method|AFXZGQB4EN]], and each product $S v$ costs one solve with each $A_{jj}$.\nTake a finite element discretization of an elliptic problem with a fixed set of subdomains.\nThen the condition number of $S$ grows like $h^{-1}$ in the mesh size $h$, against $h^{-2}$ for $A$.\nPreconditioners for $S$, such as [[balancing domain decomposition|X8MCVW56QP]], reduce this further.\n\n## Explanations\n\n### L1 human\n\nCut the domain of a problem into pieces that touch only along thin interfaces.\nIf the values on the interfaces were known, each piece could be solved on its own.\nThe method first finds the interface values from a smaller system, the Schur complement system, and then fills in each piece independently.\n\n### L2 human\n\nThis is the non-overlapping branch of [[domain decomposition methods|AN054RHT1K]], also called iterative substructuring.\nThe Schur complement acts on interface functions like a discrete Steklov–Poincaré operator, mapping Dirichlet data on the interfaces to the jump of the normal fluxes.\nIts solution by a preconditioned Krylov method is the starting point of the Neumann–Neumann, BDD and FETI families.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "AN054RHT1K",
      "6HWFBXYPZP"
    ],
    "kind": "statement",
    "msc": [
      "65N55",
      "65F05",
      "65F10"
    ],
    "name": "Schur complement method",
    "role": "proposition",
    "same_as": {
      "wikidata": "Q17103137",
      "wikipedia": "Schur complement method"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Schur_complement_method"
      }
    ],
    "tag": "R997ZAD141",
    "uses": [
      "6HWFBXYPZP",
      "0ASDFEQS6P",
      "0KX66CZMBB"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/R997ZAD141/",
  "links": [
    {
      "field": "about",
      "target": "AN054RHT1K"
    },
    {
      "field": "about",
      "target": "6HWFBXYPZP"
    },
    {
      "field": "uses",
      "target": "6HWFBXYPZP"
    },
    {
      "field": "uses",
      "target": "0ASDFEQS6P"
    },
    {
      "field": "uses",
      "target": "0KX66CZMBB"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/R997ZAD141.md",
  "msc": [
    "65N55",
    "65F05",
    "65F10"
  ],
  "name": "Schur complement method",
  "prov": null,
  "role": "proposition",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/R99/R997ZAD141.md",
  "status": null,
  "tag": "R997ZAD141",
  "uri": "m2://R997ZAD141",
  "url": "https://tamnd.github.io/math2/wiki/schur-complement-method/",
  "writing": {
    "tag": "R997ZAD141",
    "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
      }
    ]
  }
}
