{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $K$ be a commutative ring, let $A$ be an invertible $n \\times n$ matrix over $K$, and let $u, v \\in K^n$ be column vectors.\nThen\n$$\\det(A + u v^T) = (1 + v^T A^{-1} u) \\det A,$$\nwhere $\\det$ is the [[determinant|00KDZRW4C0]].\n\n## Remarks\n\nThe matrix $u v^T$ has rank at most $1$, so the lemma describes the effect of a rank one update on the determinant.\nIt follows from [[Sylvester's determinant theorem|0G24VQ1088]] with the matrices $A^{-1} u$ and $v^T$.\nA variant without inverses is $\\det(A + u v^T) = \\det A + v^T \\operatorname{adj}(A) u$.\n\n## Explanations\n\n### L1 human\n\nAdding a matrix of rank one, $u v^T$, changes the determinant by a simple factor.\nThe factor is $1 + v^T A^{-1} u$, a single number.\nSo we can update a determinant cheaply when we know the inverse.\n",
  "commit": "6ac761d40018146541484a9e8b9eafd6ecc303dc",
  "front": {
    "kind": "statement",
    "msc": [
      "15A15"
    ],
    "name": "Matrix determinant lemma",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q6787868",
      "wikipedia": "Matrix determinant lemma"
    },
    "sources": [
      {
        "locator": "Statement",
        "url": "https://en.wikipedia.org/wiki/Matrix_determinant_lemma"
      }
    ],
    "tag": "0BC3Q6K92H",
    "uses": [
      "0C3CFHDN6R",
      "0TWTS88TWN"
    ]
  },
  "kind": "statement",
  "link": "https://math2.tamnd.com/node/0BC3Q6K92H/",
  "links": [
    {
      "field": "uses",
      "target": "0C3CFHDN6R"
    },
    {
      "field": "uses",
      "target": "0TWTS88TWN"
    }
  ],
  "markdown": "https://math2.tamnd.com/node/0BC3Q6K92H.md",
  "msc": [
    "15A15"
  ],
  "name": "Matrix determinant lemma",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/0BC/0BC3Q6K92H.md",
  "status": null,
  "tag": "0BC3Q6K92H",
  "uri": "m2://0BC3Q6K92H",
  "url": "https://math2.tamnd.com/wiki/matrix-determinant-lemma/",
  "writing": {
    "tag": "0BC3Q6K92H",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      }
    ]
  }
}
