- categories: Linear algebra, Algorithm
Purpose
The Krylov-Arnoldi algorithm is an iterative method used to compute an orthonormal basis for the Krylov Subspace associated with a matrix and a starting vector . It is commonly used in numerical linear algebra to approximate Eigenvalues and eigenvectors (e.g., in the Lanczos Algorithm or GMRES).
Krylov Subspace
The Krylov subspace of order is defined as:
The goal of the Arnoldi algorithm is to construct an orthonormal basis for .
Arnoldi Process
Input:
- Matrix (not required to be symmetric).
- Starting vector .
- Dimension (number of steps).
Output:
- Orthonormal basis .
- Upper Hessenberg matrix such that: where is the residual vector.
Algorithm:
-
Normalize to obtain the first basis vector:
-
For :
- Compute .
- Orthogonalize against all previous basis vectors:
- Compute the norm of the residual:
- If , terminate (Krylov subspace has been fully spanned).
- Normalize to get the next basis vector:
-
Assemble as an upper Hessenberg matrix with entries .
Key Properties
-
Orthonormal Basis:
The columns of form an orthonormal basis: -
Hessenberg Representation:
The Arnoldi algorithm produces a Hessenberg Matrix , which is smaller and easier to work with than . -
Convergence:
The eigenvalues of approximate the eigenvalues of as increases (used in iterative eigenvalue solvers).
Applications
-
Eigenvalue Approximation:
Used in methods like the Arnoldi iteration to compute a few dominant eigenvalues of . -
Krylov Subspace Methods:
Forms the basis of methods like GMRES (for solving linear systems) and the Lanczos algorithm (for symmetric matrices). -
Model Reduction:
Used in control theory and model reduction to approximate large-scale systems with smaller ones.
Example
Input:
Step 1: Initialization
Normalize :
Step 2: Iteration 1
Compute :
Orthogonalize:
Normalize :
Step 3: Iteration 2
Repeat for to construct and .
The process iteratively builds and .