{
  "aliases": null,
  "backlinks": [
    {
      "field": "defines",
      "target": "X600GRHDQ7"
    }
  ],
  "body": "\n## Summary\n\nA Givens rotation is an $n \\times n$ [[orthogonal matrix|0W02QESPJQ]] that [[rotates|0HFREYRSZP]] the plane of two coordinate axes and leaves all other coordinates fixed.\nWith the angle chosen well, it turns one chosen entry of a vector or matrix into zero.\nBecause it touches only two rows, it is the tool of choice for zeroing single entries.\nThis is used in the [[QR decomposition|0ERWG4NXQ9]] of sparse or structured matrices and in the QR algorithm for eigenvalues.\n\n## Explanations\n\n### L1 human\n\nPick two coordinates, say the first and the third, and turn the vector inside the plane they span, keeping every other coordinate as it is.\nTurning by a suitable angle makes one of the two coordinates zero, and moves all the length into the other one.\nFor example, rotating $(3, 4)$ clockwise by the angle whose cosine is $3/5$ gives $(5, 0)$.\nDoing this entry by entry clears a matrix below its diagonal.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "kind": "concept",
    "msc": [
      "65F25",
      "15A23"
    ],
    "name": "Givens rotation",
    "same_as": {
      "wikidata": "Q1367799",
      "wikipedia": "Givens rotation"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Givens_rotation"
      }
    ],
    "specializes": [
      "0HFREYRSZP"
    ],
    "tag": "NM1KPS6E7Y"
  },
  "kind": "concept",
  "link": "https://tamnd.github.io/math2/node/NM1KPS6E7Y/",
  "links": [
    {
      "field": "specializes",
      "target": "0HFREYRSZP"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/NM1KPS6E7Y.md",
  "msc": [
    "65F25",
    "15A23"
  ],
  "name": "Givens rotation",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/NM1/NM1KPS6E7Y.md",
  "status": null,
  "tag": "NM1KPS6E7Y",
  "uri": "m2://NM1KPS6E7Y",
  "url": "https://tamnd.github.io/math2/wiki/givens-rotation/",
  "writing": {
    "tag": "NM1KPS6E7Y",
    "kind": "concept",
    "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
      }
    ]
  }
}
