- •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
196 CHAPTER 10. RESTARTING ARNOLDI AND LANCZOS ALGORITHMS
Keeping the first set of Ritz vectors and purging the rest yields
AY1 − Y1T11 = βk+1qk+1s1.
In the thick-restart Lanczos procedure we have found an eigenpair as soon as βk+1|sik| is su ciently small. The determination of a converged subspace with the general Krylov– Schur procedure is not so easy. However, if we manage to bring s1 into the form
s1 = |
s1′ |
= |
0 |
|
|
|
|
|
s1′′ |
s1′′ |
|
|
|
||||
then we found an invariant subspace. |
|
|
|
|
|
|
|
|
T ′ |
T ′ |
|
= βk+1qk+1[0 |
|
, s1′′ |
] |
||
A[Y1′, Y1′′] − [Y1′, Y1′′] |
11 |
T22′ |
T |
|||||
|
12 |
|
|
|
|
|
||
i.e.,
AY1′ = Y1′T11′
In most cases s′1 consists of a single small element or of two small elements in the case of a complex-conjugate eigenpair of a real nonsymmetric matrix [9]. These small elements are then declared zero and the columns in Y1′ are locked, i.e., they are not altered anymore in the future computations. Orthogonality against them has to be enforced in the continuation of the eigenvalue computation though.
10.9The rational Krylov space method
After having computed a number of eigenvalue–eigen/Schurvector pairs in the neighborhood of some shift σ1 with the shift-invert Lanczos, Arnoldi, or Krylov–Schur algorithm it may be advisable to restart with a changed shift σ2. This is in fact possible without discarding the available Krylov space [6]. In this section we consider the generalized eigenvalue problem Ax = λBx.
The rational Krylov space method starts out as a shift-invert Arnoldi iteration with shift σ1 and starting vector v1. It computes an orthonormal basis Vj using the basic recurrence,
(10.22) |
(A − σ1B)−1BQj = Qj Hj + rj eT |
= Qj+1H¯j . |
|
||
or, using the Schur decomposition of Hj , cf. (10.20), |
|
|
|
|
|
(10.23) |
(A − σ1B)−1BYj = Yj Tj + rj s = Yj+1 |
|
Tj |
, Yj+1 |
= [Yj , rj ] |
s |
|||||
We want to derive a Krylov–Schur relation for a new shift σ2 6= σ1 from (10.23) for the same space R(Yj+1) without accessing the matrices A or B. The tricky thing is to avoid discard all the information gathered in the basis Yj+1 that was computed with the old shift σ1. This is indeed possible if we replace the basis Yj+1 with a new basis Wj+1, which spans the same subspace as Yj+1 but can be interpreted as the orthonormal basis of a Krylov–Schur relation with the new shift σ2.
We rewrite the relation (10.23) as
BYj = BYj+1 |
0 |
= (A − σ1B)Yj+1 |
s |
. |
|
Ij |
|
Tj |
|
BIBLIOGRAPHY |
|
|
|
|
|
|
197 |
|
Introducing the shift σ2 this becomes |
|
= (A − σ2B)Yj+1 |
s |
. |
||||
(10.24) |
BYj+1 |
|
0 |
+ (σ1 − σ2) |
s |
|||
|
|
|
Ij |
|
Tj |
|
Tj |
|
To construct a Krylov–Schur relation we must get rid of the last non-zero row of the matrix in braces in (10.24). To that end we use the QR factorization
|
|
0T |
+ (σ1 |
− σ2) |
s |
= Qj+1 |
0T |
. |
|
|
|
|
|
||||
|
|
Ij |
|
|
|
Tj |
|
|
|
Rj |
|
|
|
|
|
|
|
Using it we obtain |
≡ BWj+1 |
|
|
= BWj Rj = (A − σ2B)Wj+1Qj+1 |
s |
|
|||||||||||
BYj+1Qj+1 0T |
0T |
||||||||||||||||
|
Rj |
|
|
Rj |
|
|
|
|
|
|
|
|
|
|
|
Tj |
|
Multiplying with (A − σ2B)−1 from the left we obtain |
|
|
|
|
|
|
|
|
|
||||||||
|
(A − σ2B)−1BWj = Wj+1Qj+1 |
|
T R |
1 |
|
|
|
|
M |
|
|
|
|||||
(10.25) |
js j− |
|
= Wj+1 |
t j |
|
|
|||||||||||
or |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(10.26) |
|
(A − σ2B)−1BWj = Wj Mj + wj+1t . |
|
|
|
|
|
|
|||||||||
This equation can easily been transformed into an Arnoldi or Krylov–Schur relation.
All these transformations can be executed without performing any operations on the large sparse matrices A and B.
In a practical implementation, the mentioned procedure is combined with locking, purging, and implicit restart. First run shifted and inverted Arnoldi with the first shift σ1. When an appropriate number of eigenvalues around σ1 have converged, lock these converged eigenvalues and purge those that are altogether outside the interesting region, leaving an Arnoldi (10.22) or Krylov–Schur recursion (10.22) for the remaining vectors. Then introduce the new shift σ2 and perform the steps above to get a new basis Wj+1 that replaces Vj+1. Start at the new shift by operating on the last vector of this new basis
r := (A − σ2B)−1Bwj+1
and get the next basis vector wj+2 in the Arnoldi recurrence with the new shift σ2. Continue until we get convergence for a set of eigenvalues around σ2, and repeat the same procedure with new shifts until either all interesting eigenvalues have converged or all the shifts in the prescribed frequency range have been used.
Bibliography
[1]˚A. BJORCK¨ , Numerics of Gram–Schmidt orthogonalization, Linear Algebra Appl., 197/198 (1994), pp. 297–316.
[2]D. CALVETTI, L. REICHEL, AND D. C. SORENSEN, An implicitely restarted Lanczos method for large symmetric eigenvalue problems, Electron. Trans. Numer. Anal., 2 (1994), pp. 1–21.
[3]M. GENSEBERGER AND G. L. G. SLEIJPEN, Alternative correction equations in the Jacobi–Davidson method, Numer. Linear Algebra Appl., 6 (1999), pp. 235–253.
198CHAPTER 10. RESTARTING ARNOLDI AND LANCZOS ALGORITHMS
[4]R. B. LEHOUCQ, D. C. SORENSEN, AND C. YANG, ARPACK Users’ Guide: Solution of Large-Scale Eigenvalue Problems by Implicitely Restarted Arnoldi Methods, SIAM, Philadelphia, PA, 1998. (The software and this manual are available at URL http: //www.caam.rice.edu/software/ARPACK/).
[5]The Matrix Market. A repository of test data for use in comparative studies of algorithms for numerical linear algebra. Available at URL http://math.nist.gov/ MatrixMarket/.
[6]A. RUHE, Rational Krylov subspace method, in Templates for the solution of Algebraic Eigenvalue Problems: A Practical Guide, Z. Bai, J. Demmel, J. Dongarra, A. Ruhe, and H. van der Vorst, eds., SIAM, Philadelphia, PA, 2000, pp. 246–249.
[7]D. C. SORENSEN, Implicit application of polynomial filters in a k-step Arnoldi method, SIAM J. Matrix Anal. Appl., 13 (1992), pp. 357–385.
[8], Implicitly restarted Arnoldi/Lanczos methods for large scale eigenvalue calculations, in Parallel Numerical Algorithms, D. E. Keyes, A. Sameh, and V. Venkatakrishnan, eds., Kluwer, Dordrecht, 1997, pp. 119–165. (ICASE/LaRC Interdisciplinary Series in Science and Engineering, 4).
[9]G. W. STEWART, A Krylov–Schur algorithm for large eigenproblems, SIAM J. Matrix Anal. Appl., 23 (2001), pp. 601–614.
[10], Matrix Algorithms II: Eigensystems, SIAM, Philadelphia, PA, 2001.
[11]K. WU AND H. D. SIMON, Thick-restart Lanczos method for large symmetric eigenvalue problems, SIAM J. Matrix Anal. Appl., 22 (2000), pp. 602–616.
