Calculation of The Eigenvectors of A Symmetric Tridiagonal Matrix by Inverse Iteration
Calculation of The Eigenvectors of A Symmetric Tridiagonal Matrix by Inverse Iteration
J. H. WILKINSON
1. Theoretical background
The method used for computing the eigenvectors is based on inverse iteration
(sometimes called WIELANDTiteration). Since we are given very accurate eigen-
values we would expect two iterations to be more than adequate provided we
can be sure that the initial vector v is not almost completely deficient in the
eigenvector we wish to compute. The technique embodies a method of choosing
the initial vector which is very effective in this respect.
Suppose v is taken as the initial vector, then to find the eigenvector cor-
responding to given values of ,~ using two steps of inverse iteration we must
solve
(p- ~I) x = v (1)
followed by
(P- ~x) y - - x (2)
(P--~I)=LU (3)
U i X i - T V i Xi4-1 (4)
a n d t h e l a t t e r is
bi xi + (ci+~ - - 2) xi+~ + bi+l xr (5)
W h e n i = t, (4) is t h e first row (c1 - - ~) x 1 + b1 x2.
If [u d > [ b , I t h e n (4) is t a k e n as the p i v o t a l row; otherwise (5) is taken.
I n either case t h e p i v o t a l row is d e n o t e d b y
(P -- hi) x = v (8)
p r o v i d e d we include t h e interchanges in L.
Now if we t a k e
u~Le (to)
ux=e. (11)
P = .2 (12)
.t
W e now perform the forward substitution on x using the m i and the inter-
changes to give the set,
2. A p p l i c a b i l i t y
3. F o r m a l p a r a m e t e r l i s t
The vector c is the diagonal and the vector b the subdiagonal of a symmetric
matrix of order n. The vector w contains m l eigenvalues in decreasing order.
norm is the infinity norm of the tridiagonal matrix and macheps the relative
J. H. WILKINSON: Inverse iferation for a symmetric matrix 371
machine precision. The m l eigenvectors are stored as the matrix z, where zij
is the i-th component of the eigenvector corresponding to wi.
4. Algol p r o g r a m
procedure tridiinverse iteration (c, b, n, w, norm, m l , macheps) result: (z);
value n, m l , norm, macheps ;
integer n, m l ;
real norm, macheps ;
array c, b, w, z;
c o m m e n t c is the diagonal and b the sub-
diagonal of a symmetric matrix
of order n. The vector w of
order m l contains eigenvalues
computed b y some technique
which ensures high accuracy.
The eigenvalues are assumed to
be in decreasing order, norm is
the infinity norm of the tridiag-
anal matrix and macheps is the
relative machine precision. The
m l eigenvectors corresponding
to the eigenvalues are com-
puted b y inverse iteration and
stored as the matrix z, z [ i , / l
being the i-th component of the
eigenvector, which belongs to
w Eil;
begin
integer i, /;
real bi, 3i1, zl, lambda, u, s, v, h, eps, eta ;
array m, p, q, r, int [1 :n~, x El : n + 2 ~ ;
lambda ,= norm; eps ,= macheps • norm;
for/:= 1 step t until m l do
begin lambda := lambda -- eps ;
ifw [J'~< lambda then lambda ,= w [/1 ;
u , = c ~ t ] - - l a m b d a ; v , = b~t~;
if v = 0 then v ,= eps;
f o r / , = t step1 u n t i l n - - ~ do
begin bi = b EiJ ;
if b i = 0 then bi ,= eps ; comment I n order to insure independ-
ency in degenerate cases;
bil = b [ i + t ~ ;
if bi l = 0 then bi l .= eps ;
ifabs (bi) >=abs (u) then
372 H a n d b o o k Series L i n e a r A l g e b r a
b e g i n m [i + t ] = u/bi;
ifm[i + t ]=O ^ bi<=eps
then m [ i + t ] := t; c o m m e n t I n o r d e r to a v o i d t h e m u l t i -
p l i c a t o r zero i n t h e d e c o m -
p o s i n g case;
# lit ,= b i; q [i1 ' = c [i + t ] - - lambda;
r [iI ,= bil;
u =v--m[i+l] •
v = - - m [ i + l] •
int[i + t] ,-- + l
end
else
b e g i n m [ i + t I ,-- bi/u;
p [ q = u; q lit ,= v;
r[i] , = 0 ;
u = c [i + t ] -- lambda--m [i + 1] • v;
v~-bil; int[i + t ] = - - t
end
e n d i;
p [n] ..= u; q In] ..-- r [ ~ ,= 0;
x[n + t] ,= x[n + 2] =O; h , - - O ; eta,=l/n;
f o r i :-- n step - - 1 u n t i l t do
begin u , = eta - - q [ i ] • I•
ifp ~i] ----0 t h e n x [it ,= u/eps
else x [i] ,= u/p [i] ;
h ,= h + abs (x [i])
end/;
h ..= l/h;
f o r / . . - - t step t u n t i l n do
x [ i ] ,-- x [ i ] •
for/:= 2 step I u n t i l n do
b e g i n ifint [i I > 0 t h e n
begin u , = x[i -- t] ;
x[i-l] ,= x [ i ] ;
x[i] = u - - m [ i ] •
end
else x [it ,= x [it - - m [i1 • x [i - - t ]
e n d i;
h ,=0;
for i := n step - - t u n t i l t do
b e g i n u ,= x [i I - - q [i I • x [i + 1 ] - - r [it • x [i + 21 ;
ifp [it = 0 t h e n x [i] ..= u/eps
else x [i] ~ - u/p [i] ;
h . . = h + x [ i ] •215
end i;
n = l / ~ q r t (h);
J. H. WILKINSON;Inverse iteration for a symmetric matrix 373
f o r / : = t step t until n do
~[i,i~ = x[i] xh
end/"
end;
i!0!12,
which has 3 as an eigenvalue of multiplicity 2, having (t, O, O) and (0, 1, I) as
independent eigenvectors. If we replace the zero off-diagonal elements by tO -t
and then perform the above process with 2 = 3 the vector obtained after the
first iteration is
2.,0',
10t + l | = in normalised form.
!
l0 t ]
i~ [i]
t0 t =
I lo'J
in normalised form,
while 2 = 3 -- 2 • -t gives
--(1/7 l0 t-2/7-
(2/,) lO'+ 417 in normalised form.
(2/,) t 0'
Numer. Math. 13cl.4 26
374 Handbook Series Linear Algebra
Each of these vectors lies in the correct subspace, though small variations in
2 have produced very different vectors. The third root t, is an isolated eigenvalue
and it will be found that any value of ~ close to t gives the unique eigenvector
(0, t, --1).
Although slightly different values of ~ in the neighbourhood of a multiple
eigenvalue .give very different eigenvectors lying in the appropriate subspace,
there is a danger that different eigenvectors obtained in this way will not give
full digital information on the subspace. Suppose we have obtained two vectors
u 1 and u 2 with Euclidean norms equal to unity. I t m a y happen that the vector
v2 defined by
v2-=u 2 - - k u l ; vT U l = 0 ,
has a Euclidean norm which is appreciably smaller than unity. The direction
orthogonal to u 1 in the subspace of eigenveetors will then be poorly defined.
In practice it was found that using values of ~ differing b y 2 • -t (llPIIoo) it
was uncommon to lose more than one decimal when orthogonalisation was
performed.
After computing one eigenvector Ul in the subspace we could take as initial
vector in the inverse iteration a vector which is orthogonal to ul, and might
reasonably expect that this would make it more probable that the second eigen-
vector would be completely independent of u 1. Similarly for eigenvalues of higher
multiplicity. In practice this has been found to give a slight additional safe-
guard. However it is not included in the present algorithm.
8. Test results
The procedure was tested on the Z 22 and Siemens 2002 in the Institute
for Applied Mathematics at Mainz and a second test was performed in the In-
stitute for Applied Mathematics of the Eidgen6ssische Technische Hochschule at
Zfirieh.
We give the eigenvectors of the tridiagonal matrices and of the original
matrices for the examples of section 8 Test results of "Householder's method"
and "Calculation of the eigenvalues of a symmetric tridiagonal matrix b y the
method of bisection" respectively. They were calculated on Siemens 2002
j. H. WILKINSON: Inverse iteration for a symmetric matrix 375
--1.0678945021o--2 --2.2t789750510-- 1
--2.77228334010--3 --2.4587793861o--I t .42 t 7444521o-- 1 --4.72911329%o-- 1
1.77t 6634991o-- 2 --3.0239603961o--I 9.7823277581o--t --0.720938140
t. 6645096991o-- t --4.532t452331o--1 8.2851624641 o - 3 2.5941489041o-- t
8.1388494551o-- 1 --0.577177153 -- 1.0282994971o-- 1 3.5780708731o-- t
--5.5638458371o--1 --5.5638458371o--t t .09956267tlO-- t t. 099562671 lO-- t
Acknowledgements. The work described here has been carried out as part of
the research programme of the National Physical Laboratory and is published by
permission of the Director of the Laboratory. I wish to t h a n k Professors F. L. BAUER
and H. RrJTISHAUSER for numerous suggestions, the incorporation of which added
materially to the effectiveness of these procedures. Particular thanks are also due
to E. MANN of Gutenberg University, Mainz who assisted in the preparation of the
manuscript and supervised the incorporation of all the modifications suggested by
Professors BAUER and I~UTISHAUSER.
References
[1] WILKINSON, J . H . : Calculation of the eigenvectors of co-diagonal matrices.
Computer J. 1, 90 (1958).
[2] ~'IELANDT, H. : Bericht d. aerodynamischen Versuchsanstalt G6ttingen,
44[J/37 (1944).
National Physical Laboratory
Teddington, Middlesex