- •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.5 An error analysis of the unmodified Lanczos algorithm
- •9.6 Partial reorthogonalization
- •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
4.4. DEFLATION |
79 |
|
Now we have arrived at the eigenvalue problem |
||
(4.6) |
(D + ρvvT )x = λx, |
D = Λ1 Λ2 = diag(λ1, . . . , λn). |
That is, we have to compute the spectral decomposition of a matrix that is a diagonal plus a rank-one update. Let
(4.7) D + ρvvT = QΛQT
be this spectral decomposition. Then, the spectral decomposition of the tridiagonal T is
|
|
|
Q2 |
|
|
Q1T |
Q2T |
|
(4.8) |
T = |
Q1 |
|
QΛQ |
T |
|
. |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Forming the product (Q1 Q2)Q will turn out to be the most expensive step of the algorithm. It costs n3 + O(n2) floating point operations
4.4Deflation
There are certain solutions of (4.7) that can be given immediately, by just looking carefully at the equation.
If there are zero entries in v then we have
(4.9) vi = 0 vT ei = 0 = (D + ρvvT )ei = diei.
Thus, if an entry of v vanishes we can read the eigenvalue from the diagonal of D at once and the corresponding eigenvector is a coordinate vector.
If identical entries occur in the diagonal of D, say di = dj , with i < j, then we can find a plane rotation G(i, j, φ) (see (3.4)) such that it introduces a zero into the j-th position
of v, |
|
|
|
|
|
|
.. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
vi |
× |
|
|
|
i |
|
|
|
|
|
2 + vj 2 |
|
|||||
|
|
|
|
|
|
|
. |
|
|
|
|
G |
T |
v = G(i, j, ϕ) |
T |
v = |
|
. |
|
← |
|
||
|
|
p .. |
|
|
|
|
|||||
|
|
|
|
|
|
|
0 |
|
|
|
j |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
← |
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
.. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Notice, that (for any ϕ), |
|
|
|
|
|
× |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
G(i, j, ϕ)T DG(i, j, ϕ) = D, |
di = dj . |
|
|||||||
So, if there are multiple eigenvalues in D we can reduce all but one of them by introducing zeros in v and then proceed as previously in (4.9).
When working with floating point numbers we deflate if
(4.10) |vi| < CεkT k or |di − dj | < CεkT k, (kT k = kD + ρvvT k) where C is a small constant. Deflation changes the eigenvalue problem for D + ρvvT into
the eigenvalue problem for |
= GT (D + ρvvT )G + E, |
|
|
|
|||||
|
D |
|
+ ρv |
vT |
O |
|
|
|
|
|
|
kEk < CεpkDk2 + |ρ|2kvk4, |
|||||||
(4.11) |
|
1 |
O 1 |
1 |
D2 |
||||
where D1 has no multiple diagonal entries and v1 has no zero entries. So, we have to compute the spectral decomposition of the matrix in (4.11) which is similar to a slight perturbation of the original matrix. G is the product of Givens rotations.
80 |
CHAPTER 4. CUPPEN’S DIVIDE AND CONQUER ALGORITHM |
4.4.1Numerical examples
Let us first consider |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
1 |
2 1 |
|
|
|
|
1 |
2 |
1 |
|
|
|
|
|
|
0 |
0 |
|
|
|
|
|
||||
|
1 |
1 |
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
T = |
|
1 |
1 |
4 1 |
= |
|
|
0 |
3 |
1 |
|
+ |
|
|
|
1 |
1 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
3 |
|
1 |
|
|
|
1 |
2 |
0 |
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|||
|
|
|
|
|
1 5 1 |
|
|
|
|
|
1 |
5 |
1 |
|
|
|
|
|
|
|
|
|
0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 6 |
|
|
|
|
|
|
1 |
6 |
|
|
|
|
|
|
|
|
|
0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
2 |
1 |
|
|
|
|
0 |
0 |
T |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
0 |
|
0 |
|
|
= T0 + uuT . |
|||
|
|
|
|
|
|
|
|
= |
|
1 |
2 |
3 |
1 |
|
+ |
1 |
1 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
5 |
1 |
|
|
|
0 |
|
0 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
6 |
|
|
|
0 |
|
0 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Then a little MATLAB experiment shows that
|
|
|
0.1981 |
1.5550 |
|
|
|
|
|
0.7370 |
|
0.7370 |
|
T |
|
|
|
|
|
|
|
|
|
|
0.3280 |
|
0.3280 |
|
|
Q0 T Q0 |
= |
|
3.2470 |
2.5395 |
|
+ |
0.9018 |
0.9018 |
|
|||||
|
|
|
|
|
|
4.7609 |
|
|
|
0.4042 |
|
0.4042 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
T |
|
|
|
|
|
|
|
|
|
0.5910 |
|
0.5910 |
|
|
|
|
|
|
|
|
6.6996 |
|
|
|
−0.1531 |
|
−0.1531 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with
|
|
|
0.5910 |
−0.3280 |
0.7370 |
|
|
|
|
|
|
|
0.7370 |
0.5910 |
0.3280 |
|
|
|
|
Q0 |
= |
−0.3280 |
−0.7370 |
0.5910 |
0.9018 |
0.4153 |
0.1200 |
||
|
|
|
|
|
|
0.4042 |
−0.7118 |
0.5744 |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
−0.1531 |
−0.5665 |
0.8097 |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Here it is not possible to deflate.
Let us now look at an example with more symmetry,
|
1 |
2 1 |
|
|
|
1 |
2 |
1 |
|
|
|
|
|
|
0 |
0 |
|
|
|
|
|
||||
|
2 |
1 |
|
|
|
|
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
T = |
|
1 |
1 |
2 1 |
= |
|
|
0 |
1 |
1 |
|
+ |
|
|
|
1 |
1 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
2 |
1 |
|
|
|
1 |
1 |
0 |
|
|
|
|
|
|
|
|
1 |
1 |
|
|
|||
|
|
|
|
1 2 1 |
|
|
|
|
|
1 |
2 |
1 |
|
|
|
|
|
|
|
|
|
0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 2 |
|
|
|
|
|
|
1 |
2 |
|
|
|
|
|
|
|
|
|
0 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
2 |
1 |
|
|
|
|
0 |
0 |
T |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
2 |
1 |
|
|
|
|
|
|
|
0 |
|
0 |
|
|
= T0 + uuT . |
|||
|
|
|
|
|
|
|
= |
|
1 |
1 |
1 |
1 |
|
+ |
1 |
1 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
1 |
|
|
|
0 |
|
0 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
|
0 |
|
0 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
4.5. THE EIGENVALUE PROBLEM FOR D + ρVVT |
|
|
|
|
|
|
81 |
||||||||
Now, MATLAB gives |
|
|
|
|
|
|
−0.5910 |
−0.5910 |
|
|
|||||
|
|
|
|
1.5550 |
|
|
|
|
T |
||||||
|
|
0.1981 |
|
|
|
|
|
|
|
|
0.7370 |
|
0.7370 |
|
|
Q0 T Q0 |
= |
|
|
|
0.1981 |
|
+ |
0.7370 |
0.7370 |
|
|||||
|
|
|
|
|
|
1.5550 |
|
|
|
0.5910 |
|
0.5910 |
|
|
|
|
|
|
|
3.2470 |
|
|
|
|
|
|
|||||
T |
|
|
|
|
|
|
|
|
0.3280 |
|
0.3280 |
|
|
||
|
|
|
|
|
|
|
3.2470 |
|
|
−0.3280 |
|
−0.3280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.5910 |
−0.3280 |
0.7370 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.3280 |
0.7370 0.5910 |
|
|
|
|
|
|
|
|
|
|
|
|
Q0 = |
−0.7370 |
−0.5910 |
0.3280 |
0.7370 |
0.5910 |
0.3280 |
|
|
|
||||
|
|
|
|
|
|
|
0.5910 |
−0.3280 |
0.7370 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
−0.3280 |
−0.7370 |
0.5910 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In this example we have three double eigenvalues. Because the corresponding components of v (vi and vi+1) are equal we define
|
G = G(1, 4, π/4)G(2, 5, π/4)G(3, 6, π/4) |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
0.7071 |
0.7071 |
|
|
|
0.7071 |
|
|
|
|
||||
|
|
|
|
|
0.7071 |
|
|
|
|||||||||
|
|
|
− |
|
0.7071 |
|
|
|
0.7071 |
|
|
|
|
|
|||
|
= |
|
0.7071 |
|
0.7071 |
0.7071 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
0.7071 |
|
. |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
− |
|
|
0.7071 |
|
|
|
|
0.7071 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Then, |
|
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GT Q0T T Q0G = GT Q0T T0Q0G + GT v(GT v)T = D + GT v(GT v)T |
|
|
|
|
|
|
|||||||||||
|
0.1981 |
|
|
|
|
|
|
|
|
|
|
1.0422 |
|
1.0422 |
|
T |
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
1.5550 |
|
|
|
|
|
−0.8358 |
−0.8358 |
|
|||||||
= |
|
|
|
3.2470 |
0.1981 |
|
|
|
|
+ |
|
0.4638 |
|
0.4638 |
|
|
|
|
|
|
|
|
|
0.0000 |
0.0000 |
|
|||||||||
|
|
|
|
|
|
|
1.5550 |
|
|
|
|
0.0000 |
|
0.0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
3.2470 |
|
|
|
0.0000 |
|
0.0000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Therefore, (in this example) e4, e5, and e6 are eigenvectors of
D + GT v(GT v)T = D + GT vvT G
corresponding to the eigenvalues d4, d5, and d6, respectively. The eigenvectors of T corresponding to these three eigenvalues are the last three columns of
|
|
0.5211 |
−0.2319 |
−0.4179 |
−0.4179 |
−0.2319 |
0.5211 |
|
||
|
|
0.2319 |
−0.4179 |
|
0.5211 |
0.5211 |
−0.4179 |
0.2319 |
|
|
|
−0.5211 |
|
0.2319 |
−0.4179 |
0.4179 |
−0.2319 |
0.5211 |
|
||
|
|
0.4179 |
|
0.5211 |
|
0.2319 |
0.2319 |
0.5211 |
0.4179 |
|
Q0G = |
|
0.2319 |
|
0.4179 |
|
0.5211 |
0.5211 |
0.4179 |
0.2319 |
. |
|
|
−0.4179 |
|
0.5211 |
|
0.2319 |
−0.2319 |
−0.5211 |
0.4179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
− |
− |
|
− |
|
|
|
|
|
|
4.5The eigenvalue problem for D + ρvvT
We know that ρ 6= 0. Otherwise there is nothing to be done. Furthermore, after deflation, we know that all elements of v are nonzero and that the diagonal elements of D are all
82 |
CHAPTER 4. CUPPEN’S DIVIDE AND CONQUER ALGORITHM |
distinct, in fact,
|di − dj | > CεkT k.
We order the diagonal elements of D such that
d1 < d2 < · · · < dn.
Notice that this procedure permutes the elements of v as well. Let (λ, x) be an eigenpair of
(4.12) |
(D + ρvvT )x = λx. |
Then, |
|
(4.13) |
(D − λI)x = −ρvvT x. |
λ cannot be equal to one of the di. If λ = dk then the k-th element on the left of (4.13) vanishes. But then either vk = 0 or vT x = 0. The first cannot be true for our assumption about v. If on the other hand vT x = 0 then (D − dkI)x = 0. Thus x = ek and vT ek = vk = 0, which cannot be true. Therefore D − λI is nonsingular and
(4.14) |
x = ρ(λI |
− |
D)−1v(vT x). |
|
|
|
This equation shows that x is proportional to (λI − D)−1v. If we require kxk = 1 then
(4.15) |
x = |
(λI − D)−1v |
. |
|||
k(λI − D)−1vk |
||||||
|
|
|
||||
Multiplying (4.14) by vT from the left we get |
|
|
||||
(4.16) |
vT x = ρvT (λI |
− |
D)−1v(vT x). |
|||
|
|
|
|
|
||
Since vT x 6= 0, λ is an eigenvalue of (4.12) if and only if
10
5
1 





0 







|
−5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
−10 |
|
0 |
1 |
|
3 |
3.5 |
|
|
|
7 |
|
8 |
|
10 |
|
|
|
−2 |
|
|
|
|
|
|
|
|
||||||||
|
Figure 4.1: Graph of 1 + |
1 |
+ 0.22 |
+ |
0.62 |
+ |
|
0.52 |
+ |
0.92 |
+ 0.82 |
||||||
|
|
|
|
|
0−λ |
1−λ |
|
3−λ |
|
3.5−λ |
|
7−λ |
8−λ |
||||
(4.17) |
f(λ) := 1 |
|
ρvT (λI |
|
D)−1v = 1 |
|
ρ |
n |
|
|
vk2 |
|
= 0. |
||||
|
|
− |
|
|
− |
|
|
|
− |
|
P |
|
− |
dk |
|
|
|
|
|
|
|
|
|
|
|
k=1 λ |
|
|
|
||||||
4.5. THE EIGENVALUE PROBLEM FOR D + ρVVT |
83 |
This equation is called secular equation. The secular equation has poles at the eigenvalues of D and zeros at the eigenvalues of D + ρvvT . Notice that
n |
|
− |
|
|
X |
|
|
|
|
f′(λ) = ρ |
|
vk2 |
. |
|
(λ |
|
dk)2 |
||
k=1 |
|
|
||
|
|
|
|
|
Thus, the derivative of f is positive if ρ > 0 wherever it has a finite value. If ρ < 0 the derivative of f is negative (almost) everywhere. A typical graph of f with ρ > 0 is depicted in Fig. 4.1. (If ρ is negative the image can be flipped left to right.) The secular equation implies the interlacing property of the eigenvalues of D and of D + ρvvT ,
(4.18) |
d1 < λ1 |
< d2 < λ2 |
< · · · < dn < λn, |
ρ > 0. |
or |
|
|
|
|
(4.19) |
λ1 < d1 |
< λ2 < d2 |
< · · · < λn < dn, |
ρ < 0. |
So, we have to compute one eigenvalue in each of the intervals (di, di+1), 1 ≤ i < n, and a further eigenvalue in (dn, ∞) or (−∞, d1). The corresponding eigenvector is then given by (4.15). Evidently, these tasks are easy to parallelize.
Equations (4.17) and (4.15) can also been obtained from the relations
" v λI − D # = |
ρv I |
" |
0 |
|
λI − D − ρvvT |
# |
0 |
I |
|
|
|
||||||||||
1 |
|
vT |
|
|
1 0T |
|
|
1 |
|
|
0T |
|
|
|
1 |
ρvT |
|
|
|
||
ρ |
0 |
|
|
|
|
|
" |
|
|
ρ |
|
|
|
|
|
|
|
# (λI − D)−1v I |
|
||
|
|
T |
I |
|
1 |
1 |
− |
|
T |
0 − |
1 |
|
λI − D |
||||||||
= |
1 |
v |
|
(λI − D)− |
|
|
ρ |
|
v |
|
(λI D)− |
v |
|
0 |
|
|
1 |
0 |
. |
||
These are simply block LDLT factorizations of the first matrix. The first is the well-known one where the factorization is started with the (1, 1) block. The second is a ‘backward’ factorization that is started with the (2, 2) block. Because the determinants of the tridiagonal matrices are all unity, we have
(4.20) |
1 |
det(λI − D − ρvvT ) = |
1 |
(1 |
− ρvT (λI − D)−1v) det(λI − D). |
|
|
|
|
||||
ρ |
ρ |
|||||
Denoting the eigenvalues of D + ρvvT again by λ1 < λ2 < · · · < λn this implies
|
n |
|
|
|
|
n |
|
jY |
|
|
|
|
Y |
|
(λ − λj ) = (1 − ρvT (λI − D)−1v) |
(λ − dj ) |
||||
|
=1 |
|
|
|
|
j=1 |
|
n |
|
2 |
|
n |
|
(4.21) |
X |
|
|
Y |
||
− |
||||||
= 1 − ρ k=1 λ vkdk ! j=1(λ − dj ) |
||||||
|
n |
|
n |
Y |
||
|
Y |
|
X |
|||
|
= (λ − dj ) − ρ |
vk2 |
(λ − dj ) |
|||
|
j=1 |
|
k=1 |
j6=k |
||
|
|
|
||||
Setting λ = dk gives |
|
|
|
|
|
|
|
n |
|
n |
|
|
|
|
jY |
|
Y |
|
|
|
(4.22) |
(dk − λj ) = −ρvk2 |
(dk − dj ) |
||||
|
=1 |
|
j=1 |
|
|
|
|
|
|
j6=i |
|
|
|
