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:

  1. Matrix (not required to be symmetric).
  2. Starting vector .
  3. Dimension (number of steps).

Output:

  1. Orthonormal basis .
  2. Upper Hessenberg matrix such that: where is the residual vector.

Algorithm:

  1. Normalize to obtain the first basis vector:

  2. 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:
  3. Assemble as an upper Hessenberg matrix with entries .


Key Properties

  1. Orthonormal Basis:
    The columns of form an orthonormal basis:

  2. Hessenberg Representation:
    The Arnoldi algorithm produces a Hessenberg Matrix , which is smaller and easier to work with than .

  3. Convergence:
    The eigenvalues of approximate the eigenvalues of as increases (used in iterative eigenvalue solvers).


Applications

  1. Eigenvalue Approximation:
    Used in methods like the Arnoldi iteration to compute a few dominant eigenvalues of .

  2. Krylov Subspace Methods:
    Forms the basis of methods like GMRES (for solving linear systems) and the Lanczos algorithm (for symmetric matrices).

  3. 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 .