Power Iteration

1 min read

Power iteration is a simple algorithm to find the dominant eigenvalue (largest in absolute value) and its eigenvector.

Algorithm:

  1. Start with random vector v0\mathbf{v}_0
  2. Repeat: vk+1=Avk∥Avk∥\mathbf{v}_{k+1} = \frac{A\mathbf{v}_k}{\|A\mathbf{v}_k\|}
  3. vk\mathbf{v}_k converges to the dominant eigenvector; λ≈vk⊤Avk\lambda \approx \mathbf{v}_k^\top A\mathbf{v}_k

Why it works: express v0\mathbf{v}_0 in the eigenbasis: v0=∑ciei\mathbf{v}_0 = \sum c_i \mathbf{e}_i. Then Akv0=∑ciλikeiA^k\mathbf{v}_0 = \sum c_i \lambda_i^k \mathbf{e}_i. The largest ∣λi∣|\lambda_i| dominates as k→∞k \to \infty.

Convergence rate: linear, proportional to ∣λ2/λ1∣|\lambda_2/\lambda_1|. Converges fast when the dominant eigenvalue is well-separated.

Variants:

  • Inverse iteration — apply power iteration to A−1A^{-1} to find the smallest eigenvalue
  • Shifted inverse iteration — (A−σI)−1(A - \sigma I)^{-1} finds eigenvalue closest to σ\sigma
  • QR algorithm — finds all eigenvalues; the standard production method

Practical use: PageRank is essentially power iteration on the web graph transition matrix.

See also: Eigendecomposition, Singular Value Decomposition (SVD)

Linked from