{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "Y119KHA4VG"
    }
  ],
  "body": "\n## Statement\n\nLet $A \\in \\C^{n \\times n}$ be diagonalizable with [[eigenvalues|0BQAA2BK3Q]] $\\lambda_1, \\dots, \\lambda_n$ and a basis of [[eigenvectors|0N6960W0BV]] $v_1, \\dots, v_n$, $A v_i = \\lambda_i v_i$.\nLet $\\mu \\in \\C$ be a shift that is not an eigenvalue, and suppose that there is an index $j$ with\n$$\\abs{\\lambda_j - \\mu} \u003c \\abs{\\lambda_i - \\mu} \\quad \\text{for all } i \\text{ with } \\lambda_i \\ne \\lambda_j.$$\nLet $x_0 = \\sum_i c_i v_i$ with $\\sum_{i : \\lambda_i = \\lambda_j} c_i v_i \\ne 0$, and define *inverse iteration* by\n$$x_{k+1} = \\frac{(A - \\mu I)^{-1} x_k}{\\norm{(A - \\mu I)^{-1} x_k}}.$$\nThen the angle between $x_k$ and the eigenspace of $\\lambda_j$ tends to $0$, and its sine is $O(\\rho^k)$ with\n$$\\rho = \\frac{\\abs{\\lambda_j - \\mu}}{\\min_{\\lambda_i \\ne \\lambda_j} \\abs{\\lambda_i - \\mu}} \u003c 1.$$\n\n## Remarks\n\nThe matrix $(A - \\mu I)^{-1}$ has the same eigenvectors as $A$, with eigenvalues $1/(\\lambda_i - \\mu)$.\nThe hypothesis makes $1/(\\lambda_j - \\mu)$ the eigenvalue of largest modulus, so inverse iteration is [[power iteration|H4MQD841BR]] applied to $(A - \\mu I)^{-1}$.\nExpanding $(A - \\mu I)^{-k} x_0 = \\sum_i c_i (\\lambda_i - \\mu)^{-k} v_i$ and dividing by $(\\lambda_j - \\mu)^{-k}$ shows that the other components shrink like $\\rho^k$.\n\nExample: for $A = \\mathrm{diag}(1, 2, 4)$ and $\\mu = 2.1$, the ratio is $\\rho = 0.1/1.1 \\approx 0.09$, so each step gains about one decimal digit toward $e_2$.\nIf two distinct eigenvalues are equally close to $\\mu$, then $\\rho = 1$ and the iteration need not converge to an eigenvector.\nIn practice one factors $A - \\mu I = LU$ once and solves a linear system at each step instead of forming the inverse.\nThe near-singularity of $A - \\mu I$ for a good shift does not harm the method: the error in the solve is concentrated in the direction of the wanted eigenvector.\n\n## Explanations\n\n### L1 human\n\nPower iteration finds the eigenvector with the largest eigenvalue.\nInverse iteration finds the eigenvector whose eigenvalue is closest to a chosen number $\\mu$, by running power iteration on the inverse of $A - \\mu I$.\nThe closer $\\mu$ is to the wanted eigenvalue, the faster it converges.\n\n### L2 human\n\nInverse iteration is the standard way to compute an eigenvector once a good approximation of its eigenvalue is known.\nSuch an approximation may come from the [[QR algorithm|B6F8YWHYZ5]] or from bisection on a tridiagonal matrix.\nUpdating the shift at each step with the Rayleigh quotient gives [[Rayleigh quotient iteration|Y119KHA4VG]], which converges much faster.\nThe [[rate of convergence|YWZQC5E54B]] is linear with ratio $\\rho$, which is why a shift near the eigenvalue matters.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "HCJ2ETX89Z"
    ],
    "kind": "statement",
    "msc": [
      "65F15"
    ],
    "name": "Inverse iteration",
    "role": "theorem",
    "same_as": {
      "wikidata": "Q1671724",
      "wikipedia": "Inverse iteration"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Inverse_iteration"
      }
    ],
    "tag": "70QYCEWHVY",
    "uses": [
      "0BQAA2BK3Q",
      "0N6960W0BV",
      "H4MQD841BR",
      "YWZQC5E54B"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/70QYCEWHVY/",
  "links": [
    {
      "field": "about",
      "target": "HCJ2ETX89Z"
    },
    {
      "field": "uses",
      "target": "0BQAA2BK3Q"
    },
    {
      "field": "uses",
      "target": "0N6960W0BV"
    },
    {
      "field": "uses",
      "target": "H4MQD841BR"
    },
    {
      "field": "uses",
      "target": "YWZQC5E54B"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/70QYCEWHVY.md",
  "msc": [
    "65F15"
  ],
  "name": "Inverse iteration",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/70Q/70QYCEWHVY.md",
  "status": null,
  "tag": "70QYCEWHVY",
  "uri": "m2://70QYCEWHVY",
  "url": "https://tamnd.github.io/math2/wiki/inverse-iteration/",
  "writing": {
    "tag": "70QYCEWHVY",
    "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
      }
    ]
  }
}
