Shifted inverse iteration

From testwiki
Jump to navigation Jump to search

We can apply the w:power method to find the largest eigenvalue and the w:inverse power method to find the smallest eigenvalue of a given matrix. We can also find the middle eigenvalue by the shifted inverse power method. Before explaining this method, I'd like to introduce some theorems which are very necessary to understand it.

Background Theorems

Suppose that λ and a nonzero vector V are an eigenpair of A. If α is any constant, then λ- α and V are an eigenpair of the matrix (AαI).
Suppose that λ and a nonzero vector V are an eigenpair of A. If  λ is not equal to α, then 1/(λ -α) and V are an eigenpair of the matrix (AαI)1.

Shifted inverse power method

Assume that the n×n matrix A has distinct w:eigenvalues λ1, λ2,....λn and consider the eigenvalue λj. Then a constant α can be chosen so that

σ1=1 / (λj - α)

is the dominant eigenvalue of (AαI)1. Furthermore, if X0, which is the initial guess vector, is chosen appropriately , then the sequences (Xk) defined by

Yk=(AαI)1Xk
Xk+1=YkYk

and (ck+1) defined by

ck+1=YkXkXkXk (w:Rayleigh quotient)

will converge to the dominant eigenpair σ1, Xk+1 will converge to the corresponding eigenvector V1 of the matrix (AαI)1. Therefore, the corresponding eigenvalue for the matrix A is given by

λj=1/σ1+α.

Example

Use the shifted inverse power method to find the eigenpairs of the matrix

A=[0115217742610].

Use the fact that the eigenvalues of A are λ1=4, λ2=2, λ3=1, and select an appropriate α and starting vector for each case.

Case1: For the eigenvalue λ1=4, we select α=4.2 and the starting vector

X0=[111].

First we can get

(A4.2I)=[4.2115212.8742614.2]

and then we can apply the shifted inverse power method

Yk=(AαI)1Xk.

Therefore,

[4.2115212.8742614.2] Y0 = X0=[111].

Solving this system of equations, we get

Y0=[9.54545454514.0909090923.18181818].

Next we can compute

c1=Y0X0X0X0. ,

so c1=-15.606060605. Since

Xk+1=YkYk.,

it implies

X1=[0.41170.60781].

We continue doing the second iteration:

[4.2115212.8742614.2] Y1 = X1=[0.41170.60781].

Thus

Y1=[2.147953.217465.35650].

It implies c2=-5.326069 and

X2=[0.4009980.6006651].

We should continue the iteration and finally we got the sequence (ck) will converge to σ1=5, which is the dominant eigenvalue of (A4.2I)1, and the sequences (Xk) converges to

V1=[0.40.61]

after 9 iterations. We can get the eigenvalue λ1 of A by the formula:

λ1 = 1 / σ1 + α= 1/(-5) + 4.2 =4.

We can apply the same approach to find another two eigenvalues of the given matrix A.

Exercise

Use the shifted inverse power method to find the eigenvalue

λ2=2

for the same matrix A as the example above, given the starting vector

X0=[111],

α=2.1.

Exercise

Use w:Matlab to do the shifted inverse power method to find the eigenvalue λ2=5.1433 for the given matrix

A=[621251114].

The starting vector is

X0=[113],

α=6.

Reference