Skip to content

Latest commit

 

History

History
31 lines (17 loc) · 3.06 KB

Arnoldi.md

File metadata and controls

31 lines (17 loc) · 3.06 KB

Arnoldi iteration is an iterative method to approximately find the eigenvalues and eigenvectors of matrices by generating an orthogonal basis of Krylov subspace.

Krylov Subspace

Given a matrix A which is m x m, and an initial vector b, which is m x 1, we can construct the n-th order Krylov subspace:

image.

The advantage of constructing the Krylov subspace is that we can compute the matrix-vector product instead of cope with matrix A directly, which is particularly useful when A is large, since the cost of matrix-vector product is relatively cheaper.

Suppose image, where H and Q are m x m matrices, H is an upper Hessenberg matrix, which has zero entries below the first subdiagonal, and Q is a unitary matrix with image. With the aid of Krylov subspace, we can reduce the matrix A to an upper Hessenberg matrix.

First, we can rewritten the expression of matrix A as AQ = QH, shown as follows:

image,

where n is the dimention of Krylov subspace as mentioned. Then we write a new expression of matrix A, which is part of the above equation, as image, where image and

image.

Calculated the n-th columns of both sides, we have image. Therefore, we can express image as

image,

which can be regarded as a iterative process.

Algorithm

The algorithm is shown as follow, which is from wiki:

arnoldi.

Note that image, which can be computed using the above algorithm. By removing the last row of matrix image, we have the n x n matrix image, which has the same eigenvalues as matrix A. That is how we reduce the matrix A to an upper Hessenberg matrix.