- •1 Introduction
- •1.1 What makes eigenvalues interesting?
- •1.2 Example 1: The vibrating string
- •1.2.1 Problem setting
- •1.2.2 The method of separation of variables
- •1.3.3 Global functions
- •1.3.4 A numerical comparison
- •1.4 Example 2: The heat equation
- •1.5 Example 3: The wave equation
- •1.6 The 2D Laplace eigenvalue problem
- •1.6.3 A numerical example
- •1.7 Cavity resonances in particle accelerators
- •1.8 Spectral clustering
- •1.8.1 The graph Laplacian
- •1.8.2 Spectral clustering
- •1.8.3 Normalized graph Laplacians
- •1.9 Other sources of eigenvalue problems
- •Bibliography
- •2 Basics
- •2.1 Notation
- •2.2 Statement of the problem
- •2.3 Similarity transformations
- •2.4 Schur decomposition
- •2.5 The real Schur decomposition
- •2.6 Normal matrices
- •2.7 Hermitian matrices
- •2.8 Cholesky factorization
- •2.9 The singular value decomposition (SVD)
- •2.10 Projections
- •2.11 Angles between vectors and subspaces
- •Bibliography
- •3 The QR Algorithm
- •3.1 The basic QR algorithm
- •3.1.1 Numerical experiments
- •3.2 The Hessenberg QR algorithm
- •3.2.1 A numerical experiment
- •3.2.2 Complexity
- •3.3 The Householder reduction to Hessenberg form
- •3.3.2 Reduction to Hessenberg form
- •3.4 Improving the convergence of the QR algorithm
- •3.4.1 A numerical example
- •3.4.2 QR algorithm with shifts
- •3.4.3 A numerical example
- •3.5 The double shift QR algorithm
- •3.5.1 A numerical example
- •3.5.2 The complexity
- •3.6 The symmetric tridiagonal QR algorithm
- •3.6.1 Reduction to tridiagonal form
- •3.6.2 The tridiagonal QR algorithm
- •3.7 Research
- •3.8 Summary
- •Bibliography
- •4.1 The divide and conquer idea
- •4.2 Partitioning the tridiagonal matrix
- •4.3 Solving the small systems
- •4.4 Deflation
- •4.4.1 Numerical examples
- •4.6 Solving the secular equation
- •4.7 A first algorithm
- •4.7.1 A numerical example
- •4.8 The algorithm of Gu and Eisenstat
- •4.8.1 A numerical example [continued]
- •Bibliography
- •5 LAPACK and the BLAS
- •5.1 LAPACK
- •5.2 BLAS
- •5.2.1 Typical performance numbers for the BLAS
- •5.3 Blocking
- •5.4 LAPACK solvers for the symmetric eigenproblems
- •5.6 An example of a LAPACK routines
- •Bibliography
- •6 Vector iteration (power method)
- •6.1 Simple vector iteration
- •6.2 Convergence analysis
- •6.3 A numerical example
- •6.4 The symmetric case
- •6.5 Inverse vector iteration
- •6.6 The generalized eigenvalue problem
- •6.7 Computing higher eigenvalues
- •6.8 Rayleigh quotient iteration
- •6.8.1 A numerical example
- •Bibliography
- •7 Simultaneous vector or subspace iterations
- •7.1 Basic subspace iteration
- •7.2 Convergence of basic subspace iteration
- •7.3 Accelerating subspace iteration
- •7.4 Relation between subspace iteration and QR algorithm
- •7.5 Addendum
- •Bibliography
- •8 Krylov subspaces
- •8.1 Introduction
- •8.3 Polynomial representation of Krylov subspaces
- •8.4 Error bounds of Saad
- •Bibliography
- •9 Arnoldi and Lanczos algorithms
- •9.2 Arnoldi algorithm with explicit restarts
- •9.3 The Lanczos basis
- •9.4 The Lanczos process as an iterative method
- •9.6 Partial reorthogonalization
- •9.5 An error analysis of the unmodified Lanczos algorithm
- •9.7 Block Lanczos
- •9.8 External selective reorthogonalization
- •Bibliography
- •10 Restarting Arnoldi and Lanczos algorithms
- •10.2 Implicit restart
- •10.3 Convergence criterion
- •10.4 The generalized eigenvalue problem
- •10.5 A numerical example
- •10.6 Another numerical example
- •10.7 The Lanczos algorithm with thick restarts
- •10.8 Krylov–Schur algorithm
- •10.9 The rational Krylov space method
- •Bibliography
- •11 The Jacobi-Davidson Method
- •11.1 The Davidson algorithm
- •11.2 The Jacobi orthogonal component correction
- •11.2.1 Restarts
- •11.2.2 The computation of several eigenvalues
- •11.2.3 Spectral shifts
- •11.3 The generalized Hermitian eigenvalue problem
- •11.4 A numerical example
- •11.6 Harmonic Ritz values and vectors
- •11.7 Refined Ritz vectors
- •11.8 The generalized Schur decomposition
- •11.9.1 Restart
- •11.9.3 Algorithm
- •Bibliography
- •12 Rayleigh quotient and trace minimization
- •12.1 Introduction
- •12.2 The method of steepest descent
- •12.3 The conjugate gradient algorithm
- •12.4 Locally optimal PCG (LOPCG)
- •12.5 The block Rayleigh quotient minimization algorithm (BRQMIN)
- •12.7 A numerical example
- •12.8 Trace minimization
- •Bibliography
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 |
||||||||
