Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lecture Notes on Solving Large Scale Eigenvalue Problems.pdf
Скачиваний:
49
Добавлен:
22.03.2016
Размер:
2 Мб
Скачать
☆

Chapter 6

Vector iteration (power method)

6.1Simple vector iteration

In this chapter we consider the simplest method to compute a single extremal eigenvalue.

Let A Fn×n.

Starting with an arbitrary initial vector x(0) Fn we form the vector

sequence x(k)

∞

by defining

 

(6.1)

 

k=0

x(k) := Ax(k−1),

k = 1, 2, . . .

Clearly,

 

 

 

 

(6.2)

 

 

x(k) := Akx(0).

The hope is that x(k) converges to the eigenvector belonging to the eigenvalue of largest magnitude. As we are interested only in the direction but not in the length of the eigenvector, there is no need to normalize the iterates in (6.1), well at least in theory. In practice, x(k) may either underflow (if kAk < 1) or overflow (if kAk > 1) for large k. Thus, one usually adds a normalization step to (6.1), leading to Algorithm 6.1.

Algorithm 6.1 Simple vector iteration

1:Choose a starting vector x(0) Fn with kx(0)k = 1.

2:k = 0.

3:repeat

4:k := k + 1;

5:y(k) := Ax(k−1);

6:µk := ky(k)k;

7:x(k) := y(k)/µk;

8:until a convergence criterion is satisfied

The vectors x(k) generated by Algorithm 6.1 have all norm (length) one. That is,

 

x(k) ∞

is a sequence on the unit sphere in Fn.

 

 

 

 

k=0

Let A = USU be the Schur decomposition of A. Then,

 

 

 

 

(6.3)

 

U x(k) := SU x(k−1)

and

U x(k) := SkU x(0),

 

 

 

respectively. Because U is unitary also the sequence

U x(k) ∞

is a sequence on the unit

 

Fn

 

(k)

∞

 

k=0

 

(k)

 

∞

sphere in

. If the sequence x

 

 

 

 

 

 

k=0 converges to x then the sequence y

 

 

k=0 with

y(k)

= U x

(k)

converges to y

 

= U

 

x .

By consequence, for the

convergence analysis, we

 

 

 

 

 

 

 

 

 

 

 

 

 

 

may assume without loss of generality (w.l.o.g.) that A is upper triangular.

111

112

CHAPTER 6. VECTOR ITERATION (POWER METHOD)

6.2Convergence analysis

Let us now assume that (the upper triangular)

(6.4)

A =

λ1 s1

 

0 S2

has eigenvalues

 

 

 

(6.5)

|λ1| > |λ2| ≥ |λ3| ≥ · · · ≥ |λn|.

Then, the eigenvector of A corresponding to its largest eigenvalue λ1 is e1. We will now show that the iterates x(k) converge to e1. More precisely, we will show that the angle(x(k), e1) between x(k) and e1 goes to zero with k → ∞. Let

x(1k)

(k)

x2

x(k) = .

..

x(nk)

 

 

2

 

 

 

x1(k)

!

 

 

 

 

=:

x(k)

 

 

 

 

 

 

 

 

with kx(k)k = 1. Then,

u

 

 

 

i=2 |

|

 

 

n

 

 

uX

xi(k) 2.

sin ϑ(k) := sin( (x(k), e1)) = v

t

 

 

If we omit the normalization kx(k)k = 1, which we will do for convenience, then this becomes

 

 

 

 

, e1)) = v

 

n

 

 

(k) 2

sin ϑ

(k)

:= sin( (x

(k)

 

i=2

|

xi

|

.

 

 

 

n

x

(k)

 

 

 

 

u

 

 

i

|

2

 

 

 

 

 

uPi=1|

 

 

 

 

 

 

 

tP

 

 

 

 

 

 

 

This means that for the convergence analysis we look at the iteration (6.1), while the actual implementation follows closely Algorithm 6.1.

First, we simplify the form of A in (6.4), by eliminating s1,

(6.6)

 

0

−I

 

0

S2

 

0

−I

 

−1

 

 

 

 

 

 

1

t

 

 

λ1

s1

 

1

t

 

=

 

 

.

 

 

 

= 0

−I

 

0 S2

0 I

0 S2

 

 

 

 

1

 

t

 

λ1

s1

 

1 t

 

λ1

0

 

The vector t that realizes this transformation has to satisfy

λ1t + s1 − t S2 = 0 ,

or

(6.7)

s1 = t (S2 − λ1I).

This equation has a solution if and only if λ1 6 σ(S2) This is the case for assumption (6.5).

Thus,

t = s1(S2 − λ1I)−1.

6.2. CONVERGENCE ANALYSIS

113

Remark 6.1. Notice that [1, t ] is a left eigenvector of A corresponding to λ1. Indeed,

 

 

[1, −t ]A = [1, −t ]

λ1

s1

= [λ1, s1

− t S2]

(6.7)

 

−λ1t ].

 

 

 

 

0 S2

=

 

[λ1,

 

 

Now, we have

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x =

 

x(k)

! =

0

S2

 

 

x

=

 

0

 

I

 

0

 

S2

 

 

 

0

−I

 

x(0)

! .

 

2

 

 

λ1

s

k

 

 

1

 

t

 

 

0

k

 

 

t

2

 

(k)

 

x(k)

 

 

 

(0)

 

 

 

 

λ1

 

 

1

 

 

x(0)

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

Defining

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ1k

0

 

I

 

 

 

 

 

 

 

 

 

 

 

 

(6.8)

 

 

 

 

 

 

 

y(k) :=

1

 

1

−t

x(k)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

we have

λ1k

 

 

 

 

 

 

λ1

 

 

 

 

 

λ1k−1

0 I

 

 

 

 

 

 

 

0 I

 

 

 

0 S2

 

 

 

 

 

y(k)

=

1

 

1

−t

 

Ax(k−1) =

1

 

λ1

 

0

 

 

1

 

1

−t

 

x(k−1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

 

 

y(k−1)

 

 

1 0

 

y(k−1).

 

 

 

 

 

 

 

 

 

 

=

 

 

1

 

 

 

1

 

 

=

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

S2

 

y(k−1)

 

 

0

 

 

S2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ1

 

 

 

 

λ1

 

 

Let us assume that y1(0) = 1. We see that this implies y1(k) = 1 for all k. Furthermore,

 

(k)

1

(k 1)

 

1

 

 

 

 

 

 

µ3 . . .

 

 

 

 

 

 

λk

 

 

 

 

 

 

 

 

 

 

 

 

 

µ2 . . .

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

... ..

 

 

| |

 

 

 

λ1

 

 

λ1

 

 

 

 

 

 

|λ1|

y = S2y −

,

 

 

S2

=

 

 

 

 

µ

 

 

 

,

 

µk = | | < 1.

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

For the sequel we need

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Theorem 6.1 Let ||| · |||

be any matrix norm. Then

 

 

 

 

 

 

 

 

 

 

(6.9)

 

 

 

k

|||M

k

|||

1/k

= ρ(M) =

 

i

|

i

 

|

.

 

 

 

 

 

 

lim

 

 

 

 

 

 

 

 

 

max

 

λ

(M)

 

 

 

→∞

Proof. See Horn-Johnson [2], pp.297-299.

Remark 6.2. ρ(M) in (6.9) is call spectral radius of M.

Remark 6.3. From (6.9) we see that the norm of the powers of a matrix goes to zero if all is eigenvalues are smaller than one in modulus. For small powers the norm can initially grow considerably. In Fig. 6.1 we have plotted the norms of Bk with

(6.10)

B =

0.9

5

.

0

0.9

 

 

 

Regarding the convergence of the vector iteration this theorem says that for any ε > 0 there is an integer K(ε) such that

(6.11)

|||Mk|||1/k ≤ ρ(M) + ε, for all k > K(ε).

114

CHAPTER 6. VECTOR ITERATION (POWER METHOD)

 

40

 

 

 

 

 

 

35

 

 

 

 

 

 

30

 

 

 

 

 

 

25

 

 

 

 

 

||

 

 

 

 

 

 

k

20

 

 

 

 

 

||A

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

10

 

 

 

 

 

 

5

 

 

 

 

 

 

0

20

40

60

80

100

 

0

 

 

 

 

k

 

 

Figure 6.1: Norms of powers of B in (6.10).

We will apply this theorem to the case M = λ−1 1S2, the matrix norm ||| · ||| will be the ordinary 2-norm. Thus, for any ε > 0 there is a K(ε) N with

 

 

1

 

 

(6.12)

k

λ1 Skk1/k ≤ |µ2

| + ε,

k > K(ε).

We can choose ε such that

|µ2| + ε < 1.

With this we have

sin( (y(k), e1)) =

ky2(k)k

=

 

ky2(k)k

 

y(k)

 

1

S

 

k

 

y(0)

 

(

µ2

 

+ ε)k

 

y(0)

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

q1 + ky2(k)k

≤ k

k ≤ k

k

 

k

k ≤

|

k

k

 

ky(k)k

2

λ1

 

2

|

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Thus, the angle between y(k) and e1 goes to zero with a rate µ2 + ε for any positive ε.

 

We want to show an analogous result for the x(k). From (6.8) we have

 

 

 

 

 

 

 

 

 

x(k)

! = λ1

0 I

y(k)

! ,

 

 

 

 

 

 

 

 

 

 

 

 

 

2

k

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1(k)

1 t

y1(k)

 

 

 

 

 

 

 

 

 

 

 

 

 

in particular,

|x(1k)| = λk1|y1(k)

+ t y2(k)| = λk1|1 + t y2(k)|.

(k)

k

(0)

 

 

 

 

 

˜

≥ K(ε) such that

Since ky2

k ≤ (|µ2| + ε)

ky2

 

k, there is a K

 

 

 

 

(k)

 

 

1

 

 

k > K.˜

 

 

 

 

|t y2

| <

 

 

,

 

 

 

 

2

Thus,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k)

 

 

 

1

, k > K,˜

 

 

 

|1 + t y2

|

>

 

 

 

 

 

2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]