- •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
126 |
CHAPTER 6. VECTOR ITERATION (POWER METHOD) |
Algorithm 6.4 Inverse vector iteration for computing (λj , uj )
1:The LU factorization of A − σI: LU = P (A − σI) and the eigenvectors u1, . . . , uj−1 are known.
2:Choose a starting vector x(0) such that uq x(0) = 0, q < j.
3:Set k := 0.
4:while kx(k) − y(k)/µ(k)k > tolky(k)k do
5:k := k + 1;
6:x(k) := y(k−1)/ky(k−1)k;
7:y(k) := U−1L−1P x(k);
8: |
µ(k) := y(k) x(k), λ(k) := σ + 1/µ(k). |
9: |
end while |
6.8Rayleigh quotient iteration
We now assume that the matrix the eigenpairs of which we want to determine is Hermitian (or symmetric).
We have noticed that inverse iteration is an e ective way to compute eigenpairs, if a good approximation of the desired eigenvalue is known. This approximation is used as a shift. However, as we have seen earlier, if a good approximation of an eigenvector is available its Rayleigh quotient gives a very good approximation of its eigenvalue.
Indeed we have the following
Lemma 6.10 Let q be any nonzero vector. The number ρ that minimizes kAq − ρqk is the Rayleigh quotient
(6.26) |
ρ = |
q Aq |
. |
|
|||
|
|
q q |
|
Proof. Let ρ R be the Rayleigh quotient (6.26) of q 6= 0 and let τ C be any number. Then we have
kAq − (ρ + τ)qk2 = q A2q − (2ρ + τ + τ¯) q Aq + |ρ + τ|2q q
= q A2q − 2ρ q Aq − 2Re(τ) q Aq + ρ2 q q + 2ρRe(τ) q q + |τ|2q q
= q A2q − (q Aq)2 + |τ|2 q q. q q
The last term is smallest if τ = 0.
The following algorithm 6.8 is a modification of inverse iteration. In each iteration step the shift is modified to be the Rayleigh quotient of the most recent eigenvector approximation. This is not a curse but a blessing [3] as we have seen in section 6.5.
In step 4 of this algorithm a close to singular system of equation is solved. This results in a very long solution whose norm is used a the convergence criterion.
The Rayleigh quotient iteration usually converges, however not always towards the desired solution. Therefore, to investigate the convergence rate we make the following
Assumption: y(k) −−−→ x with Ax = λx.
k→∞
This assumption garantees that there is at all convergence towards a certain eigenvector x. Let kxk = ky(k)k = 1 and let the angle between this eigenvector and its approximation be ϕ(k) = (x, y(k)). Then the assumption implies that {ϕ(k)}∞k=1 converges to zero. We can write
y(k) = x cos ϕ(k) + u(k) sin ϕ(k), kxk = ky(k)k = ku(k)k = 1.
6.8. RAYLEIGH QUOTIENT ITERATION |
127 |
Algorithm 6.5 Rayleigh quotient iteration (RQI)
1:Choose a starting vector y0 Fn with ky0k = 1 and a tolerance ε.
2:for k = 1, 2, . . . do
3:ρ(k) := y(k−1) Ay(k−1).
4: Solve (A − ρ(k)I)z(k) = y(k−1) for z(k).
5:σ(k) = kz(k)k.
6:y(k) := z(k)/σ(k).
7:if σ(k) > 10/ε then
8:return {y(k)}
9:end if
10:end for
Let
y(k) Ay(k)
ρ(k) = ρ(y(k)) = y(k) y(k) = y(k) Ay(k)
be the Rayleigh quotient of yk. Then we have |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
λ |
− |
ρ |
k |
= λ |
− |
cos2 ϕ |
k |
x Ax |
− |
cos ϕ |
k |
sin ϕ |
k |
x Au |
k − |
sin2 |
ϕ |
u Au |
k |
|||||||
|
|
|
|
| |
|
{z |
|
} |
|
|
0 |
|
|
k |
k |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
{z |
|
} |
|
|
|
|
λ
=λ(1 − cos2 ϕk) − sin2 ϕkρ(uk)
=(λ − ρ(uk)) sin2 ϕk.
We now prove the
Theorem 6.11 (Local convergence of Rayleigh quotient iteration) With the above assumption we have
|
|
|
|
|
|
|
k→∞ |
|
ϕk3 |
≤ |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(6.27) |
|
|
|
|
|
|
lim |
|
ϕk+1 |
|
|
1. |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
i.e., RQI converges cubically. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Proof. (The proof follows closely the one given by Parlett [3].) We have |
|
||||||||||||||||||
zk+1 = (A − ρkI)−1yk = x cos ϕk/(λ − ρk) + (A − ρkI)−1uk sin ϕk |
|
||||||||||||||||||
|
|
|
|
|
= x cos ϕk/(λ − ρk) |
+uk+1 sin ϕkk(A − ρkI)−1ukk, |
|||||||||||||
|
|
|
|
|
|
| |
|
|
{z |
|
|
} |
| |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
kzk+1 |
k{z |
||||||||
|
|
|
|
|
|
kzk+1k cos ϕk+1 |
|
|
sin ϕk+1 |
|
|||||||||
where we set |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
(6.28) |
|
|
|
uk+1 := (A − ρkI)−1uk/k(A − ρkI)−1ukk |
|
|
|
|
|||||||||||
such that |
k |
u |
k+1k |
= 1 and u |
|
x = 0. Thus, |
|
|
|
|
|
|
|
|
|||||
|
|
k+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
tan ϕk+1 = sin ϕk+1/cos ϕk+1
=sin ϕk k(A − ρkI)−1ukk (λ − ρk)/ cos ϕk
=(λ − ρk) k(A − ρkI)−1ukk tan ϕk
=(λ − ρ(uk)) k(A − ρkI)−1ukk sin2 ϕk tan ϕk.
128 |
|
|
|
|
CHAPTER 6. VECTOR ITERATION (POWER METHOD) |
|||||||||||||||
So, |
|
(A − ρkI)−1uk |
= (A − ρkI)−1 |
|
βixi |
= |
λ βi |
ρ xi |
||||||||||||
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
X |
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i − |
|
k |
|
|
|||||||
|
|
|
|
|
|
|
|
|
λi=λ |
|
λi=λ |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
6 |
|
6 |
|
|
|
|
|
|
|
|
|
and taking norms, |
|
|
|
X |
|
|
|
|
|
|
|
X |
|
|
||||||
|
|
|
|
|
|
|
β2 |
|
|
|
1 |
|
|
|
|
|||||
|
|
|
|
|
I)−1u |
|
2 = |
|
|
|
|
|
|
|
|
|
β2 |
|||
(6.29) |
k |
(A |
− |
ρ |
kk |
i |
|
|
|
|
|
|
|
|
|
|
||||
|λi − ρk|2 ≥ minλi6=λ |λi − ρk|2 |
|
|
|
|
||||||||||||||||
|
|
k |
|
λi=λ |
λi=λ |
i |
||||||||||||||
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
| |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{z |
|
} |
||
kukk2=1
We define the gap between the eigenvalue λ and the rest of A’s spectrum by
γ := min|λi − ρk|.
λi=6 λ
The assumption implies that there must be a k0 N such that |λ − ρk| < γ2 for all k > k0, and, therefore,
|λi − ρk| > |
γ |
for all λi 6= λ. |
||||||||||
|
|
|
||||||||||
2 |
|
|||||||||||
Using this in (6.29) gives |
|
|
|
|
|
|
|
|
|
|
|
|
k(A − ρkI)−1ukk ≤ |
|
|
|
1 |
|
|
|
|
≤ |
2 |
, k > k0. |
|
|
|
|
|
|
|
|
|
|||||
min |
λi6=λ | |
λ |
i − |
ρ |
k| |
γ |
||||||
|
|
|
|
|
|
|
|
|
||||
Because tan ϕk ≈ sin ϕk ≈ ϕk if ϕk 1 we can deduce the cubic convergence rate.
We now look at the sequence {uk} more closely. We note from (6.28) that this sequence is obtained by “inverse iteration with variable shift ρk”. But since ρk −→ λ with a cubic rate of convergence we can for large k assume that ρk = λ and that uk x.
We now consider two cases, either {uk} converges, or it does not converge.
1. We assume that {uk} converges. Then the limit vector uˆ must be an eigenvector of
{ } ˆ
A in span x . (In general, uˆ is an eigenvector corresponding to the eigenvalue λ that is closest to λ.) Thus,
(λ |
− |
ρ(uk)) |
(A |
− |
ρkI)−1uk |
k −−−→ ±| |
λ |
− |
λˆ |
| · k |
uˆ/(λ |
− |
λˆ) |
k |
= |
± |
1. |
|
k |
|
|
|
|
|
|
|
|
k→∞
2.Now we assume that {uk} does not converge. Then A has two eigenvalues of equal distance to λ and the cluster points of the sequence {uk} are two vectors in the plane that is spanned by two eigenvectors corresponding to these two eigenvalues λ ± δ, αxp + βxq, where α 6= 0, β 6= 0, and α2 + β2 = 1. Their Rayleigh quotients are
ρ(αxp + βxq) = α2λp + β2λq = α2(λ ± δ) + β2(λ δ) = λ ± δ(α2 − β2).
As k −→ ∞ the Rayleigh quotients of uk jump between these two values. Hence,
|
(λ − ρ(uk))k(A − ρkI)−1ukk −→ ±δ(α2 − β2)/δ, |
|||||
and, therefore, |
|
ϕk |
|
−−→∞−→ | − | |
|
|
|
|
ϕk+1 |
|
|
|
|
|
|
|
|
|
α2 β2 |
< 1 |
|
|
3 |
|
k |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
