{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $A$ be a real symmetric [[positive definite|0KX66CZMBB]] $n \\times n$ [[sparse matrix|JGACZYEEY7]].\nLet $S \\subseteq \\set{(i, j) : 1 \\le j \\le i \\le n}$ be a set of positions that contains every diagonal position $(i, i)$.\nAn *incomplete Cholesky factorization* of $A$ with pattern $S$ is a [[lower triangular|GTG8MJGDKC]] matrix $L$ with positive diagonal such that:\n\n1. $l_{ij} = 0$ for every $i \\ge j$ with $(i, j) \\notin S$;\n2. $(L L^T)_{ij} = a_{ij}$ for every $(i, j) \\in S$.\n\nWhen $S$ is the set of positions $(i, j)$ with $i \\ge j$ and $a_{ij} \\ne 0$, the factorization is called *IC(0)*.\n\n## Remarks\n\nIf $S$ contains all positions with $i \\ge j$, the incomplete factor is the exact [[Cholesky factor|0WKG8CYY6A]].\nExample: let $A$ be tridiagonal and symmetric positive definite.\nIts exact Cholesky factor is lower bidiagonal, so it vanishes outside the pattern of $A$.\nHence the IC(0) factor exists and is the exact factor.\nNon-example: for the $2 \\times 2$ identity matrix, the matrix $L$ with rows $(1, 0)$ and $(1, 1)$ and the pattern of all positions satisfies clause 1.\nIt fails clause 2, since $(L L^T)_{21} = 1 \\ne 0 = a_{21}$.\nThe factor is computed by the Cholesky recurrences with each update outside $S$ discarded.\nFor a general symmetric positive definite $A$, the process can meet a nonpositive pivot, and then no such $L$ is produced.\nIt exists for every pattern when $A$ is a symmetric [[M-matrix|DNKXHMGQY1]], a result of Meijerink and van der Vorst.\nVariants choose $S$ by levels of fill or drop entries below a threshold.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "QYYCFQ8E5D",
    "kind": "definition",
    "msc": [
      "65F08",
      "65F50",
      "65F10"
    ],
    "name": "Incomplete Cholesky factorization",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Incomplete_Cholesky_factorization"
      }
    ],
    "tag": "7V24BPCQTZ",
    "uses": [
      "0KX66CZMBB",
      "JGACZYEEY7",
      "GTG8MJGDKC",
      "0WKG8CYY6A",
      "DNKXHMGQY1"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/7V24BPCQTZ/",
  "links": [
    {
      "field": "defines",
      "target": "QYYCFQ8E5D"
    },
    {
      "field": "uses",
      "target": "0KX66CZMBB"
    },
    {
      "field": "uses",
      "target": "JGACZYEEY7"
    },
    {
      "field": "uses",
      "target": "GTG8MJGDKC"
    },
    {
      "field": "uses",
      "target": "0WKG8CYY6A"
    },
    {
      "field": "uses",
      "target": "DNKXHMGQY1"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/7V24BPCQTZ.md",
  "msc": [
    "65F08",
    "65F50",
    "65F10"
  ],
  "name": "Incomplete Cholesky factorization",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/7V2/7V24BPCQTZ.md",
  "status": null,
  "tag": "7V24BPCQTZ",
  "uri": "m2://7V24BPCQTZ",
  "url": "https://tamnd.github.io/math2/wiki/incomplete-cholesky-factorization-definition/",
  "writing": {
    "tag": "7V24BPCQTZ",
    "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
      }
    ]
  }
}
