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=AvkAvk\mathbf{v}_{k+1} = \frac{A\mathbf{v}_k}{\|A\mathbf{v}_k\|}
  3. vk\mathbf{v}_k converges to the dominant eigenvector; λvkAvk\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 kk \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 A1A^{-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