Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Numerische Mathematik 4, 362--367 (1962)

Handbook Series Linear Algebra

C a l c u l a t i o n o f the e i g e n v a l u e s o f a s y m m e t r i c t r i d i a g o n a l
matrix b y the m e t h o d o f bisection
Contributed by
J. H. WILKINSON

1. Theoretical background
1.1. The Sturm sequence property
This m e t h o d ~3] is based on the following theorem.
Given a s y m m e t r i c tridiagonal m a t r i x with diagonal elements q to c, and
off-diagonal elements b1 to b~_ 1 with bi~=0, then for any n u m b e r ~, define
the sequence /o (~),/1 (~) . . . . . /~ (~) by the relations

/o (~) = 1, (1)
/1(~) = ( q - z), (2)
li (~) = (ci - ~)/~-i (a) - b~_i/~- 2 (~)- (3)
Associate a sign with each of t h e / i (~t) as follows. If [i (3,)=~=0 then this sign is
the true sign of /i ()I). If /i (~)= 0 we take its sign to be the opposite of that
o f / i - 1 (~). With this interpretation the number, A (~), o~ agreements in sign between
consecutive members o~ the sequence is equal to the number o/ eigenvalues strictly
greater than ~.
A few c o m m e n t s are in order. The condition bi =~0 considerably simplifies
the s t a t e m e n t of the theorem. I t ensures t h a t there are no true multiple eigen-
values and t h a t no two consecutive m e m b e r s of the sequence are both zero.
The sign a t t a c h e d to a zero /i (~) ( i < n) is u n i m p o r t a n t provided we keep the
same sign when comparing /i-1(~) with /i(~) and/~(~) with /i+1 (~), and hence
we can regard all zero values as positive for values of i from t to n - - 1 . For
i = n however we m u s t have a strict interpretation of the rule.
The theorem m a y be applied to u n s y m m e t r i c tridiagonal matrices with
upper off-diagonal elements a i and lower off-diagonal elements bi provided
a i b i > O for all i. We merely replace bi_ 1 in (3) b y ai_ 1 bi_ 1 .

1.2. The bisection process


T h e theorem m a y be used to locate an individual eigenvalue without locating
any of the others. Suppose the eigenvalues are ordered so t h a t ~ 1 > ~ 2 > ' " > , ~ .
(Equality is excluded since we are assuming h i # 0 ) and it is known t h a t for
some go and h 0
go>=~,>ho (4)
J. H. WILKINSON: Method of bisection for a symmetric tridiagonal matrix 363

so t h a t
A(ho)>=r; A(go)<r. (5)
Then in T bisection steps we can locate ~iin an interval (h i gi) of width (go -- ho)/2r
as follows.
Suppose in i steps we have established that
A (hi) _-->r; A (gi) < r, (6)
g i - hi= (go- h0)/2'. (7)
I n the ( i + 0 - t h step we compute AE 89 ~. T h e n :
if A[ 89 l__>r we take h i + l _- -1~ E g i + h i ] , . gi+l=-gi, (8)
if A[ 89 we take gi+l= 89 h~+l=-hi. (9)
In either ease we have
(g~§ - h,§ = ~ (g~- h,) (10)
and
A(hi+l)>=r; A(gi+l)<r (tt)
so that ~ is in the interval (hi+l, gi+l)
Values h 0 and go satisfying (4) and (5) are given b y
h o = -- norm go = + norm (t 2)
where norm is the infinity norm of the tridiagonal matrix.

2. Applicability
The procedure is designed for a symmetric tridiagonal matrix, which m a y
be the direct sum of any n u m b e r of symmetric tridiagonal matrices or even
degenerate into a diagonal matrix.

3. F o r m a l p a r a m e t e r list
Since the location of each eigenvalue is achieved virtually independently of
the others, two variants of the procedure have been designed to compute:
a) The eigenvalues lying between gu and go.
b) The mr eigenvalues lying to the right of e and the ml eigenvalues lying
to the left of e.
The vector c is the diagonal and the vector b the subdiagonal of a symmetric
tridiagonal matrix of order n, t is the number of bisection steps, norm is the
infinity norm of the tridiagonalmatrix, gamma the square of the relative machine
precision. The m l eigenvalues are stored in wEl ~. . . . . w~ml~ in decreasing
order.
4. Algol p r o g r a m s
procedure tridibisection l (c, b, n, gu, go, t, gamma) result: (w, norm, ml) ;
vQlue n, gu, go, t, gamma;
integer n, t, m l ;
real gu, go, gamma, norm;
array c, b, w;
364 Handbook Series Linear Algebra

comment c is the diagonal and b the sub-diagonal of a symmetric tridiagonal


matrix of order n. The n u m b e r m l of eigenvalues lying between gu
and go is determined and these eigenvalues are then c o m p u t e d in
decreasing order b y the m e t h o d of bisection, and stored as the vector
w of order m l . t is the n u m b e r of bisection steps and n o r m is the
infinity norm of the tridiagonal matrix, g a m m a the square of the
relative machine precision;
begin
integer/,?', k, a l , a2, d;
real l, g, h, lambda, lbl, ql, y;
array # [t : n] ;
procedure sturms sequence;
begin
pl,=0; ql.'=t; al,=0;
f o r i ,--t step I until n d o
begin y ,= (c [i] --lambda) • q l - - p [ i ] • p l ;
pl=ql; ql=y;
ifpl>_O~ql>=O
then a l ,= a l + t
end/; c o m m e n t Counting of agreements in
sign;
i f q l = o ^ p l > O t h e n a l ~= a l -- 1
end;
if gu > go t h e n
begin g , = g u ; gu ,=go; go , = g end; c o m m e n t R e a r r a n g e m e n t if gu > go ;
n o r m ,---abs (c [t]) + abs (b [I ]) ;
fori := 2 step t until n do
begin l ,-- abs (b ~i -- t]) + a b s (c[i~) + a b s (b[i]) ;
i f / > n o r m then n o r m ,= l end;
f o r / , = 1 step1 u n t i i n - - I do
begin if b [i] = 0 then # [i + t ] ,= g a m m a • n o r m • n o r m
elsep [i + 1] ,-- b [i] • b [i] end;
pill ,=0;
if gu > n o r m v g o < -- n o r m then
begin m l ,= O; g o t o noeigenvalue e n d ;
lambda ,= gu ; comment Determination of the re-
quired n u m b e r of eigen-
values;
slurms sequence;
a2 = a l ;
i f q l = O t h e n a2 ,= a l + 1 ;
lambda ,= go;
sturms sequence;
m l ,= a2 - -al;
d ,= a l ;
i f go > n o r m then go ,= n o r m ;
i f g u < -- n o r m t h e n gu ,= -- n o r m ;
J. H. WILKINSON : Method of bisection for a symmetric tridiagonal matrix 365

f o r k := t stepl until ml do
begin d,=d+t ;
g:=go; h ,=gu;
forj := t s t e p I until t do
begin lambda ,-- (g + h)/2;
sturms sequence;
ifal>~ d then h := lambda else g := lambda
end j;
Ek] ,= (g + k)/2
end k;
noeigenvalue: end;

procedure tridibisection 2 (c, b, n, e, mr, ml, t, gamma) result: (w, norm, m l ) ;


value n, e, mr, ml, t, gamma;
intefler n, mr, ml, t, m l ;
real e, gamma, norm;
array c, b, w;
c o m m e n t c is the diagonal a n d b the s u b d i a g o n a l of a s y m m e t r i c tridiagonal
m a t r i x of order n. T h e mr eigenvalues to the right of e a n d t h e ml
eigenvalues to the left of e are c o m p u t e d in decreasing order b y the
m e t h o d of bisection a n d stored as t h e v e c t o r w of o r d e r m l . t is the
n u m b e r of bisection steps a n d norm is t h e infinity n o r m of the tri-
d i a g o n a l m a t r i x , gamma is the square of relative m a c h i n e precision;
begin
integer dl, d2, i, j, k, al, d;
real l, g, h, lambda, p l , ql, y;
a r r a y p [I : n] ;
procedure sturms sequence;
begin
pl=0; ql=l; al:=0;
for i = 1 s t e p I u n t i l n do
begin y ,= ( c Ei~ --lambda) • q l - - p Ei] • p l ;
p l := ql; ql ,= y;
ifpl~o=-ql>=O
then al := a l + 1 ; c o m m e n t Counting of agreements in
sign;
end i;
ifql---- 0 ^ p l > O then al ,= a l - - t
end;
norm ~= abs (c ~11) + abs (b ~t~);
f o r / : = 2 step t until n do
begin l : = abs (b [i -- ~ ) + abs (c ~i]) + abs (b ]i]) ;
i f / > norm then norm ,= l end;
fori :=1 stepl untiln--t do
begin i f b IiJ - - 0 then p [i + t ] ,-~- gamma • norm • norm
e l s e p [i + t ] ,= b [i~ • b [i~
end;
366 Handbook Series Linear Algebra

pEI] =o;
lambda := e;
sturms sequence; c o m m e n t Determination of the re-
quired range of the eigen-
value subscripts;
d l ,= a l - - mr; d2 = a l + ml;
if d l < 0 t h e n d l = 0;
ifd2>=n + t then d2 ,= n;
d=dl; m l .'= 0;
for k , = d l step t until d2 - - t do
begin d = d + t ;
g ,= norm; h : = - - norm;
for]" := t step t until t do
begin lambda := (g + h)/2 ;
sturms sequence;
if al >~ d t h e n h ,= lambda e l s e g ,-- lambda
end/';
m l ,= m l + t ;
w ~ml] ,= (g + h)/2
end k
end;
5. Organizational a n d n o t a t i o n a l details
To facilitate computation, the quantities Pi+l given by the squares of the
off-diagonal elements bi are computed.

6. Discussion of numerical properties


The theorem of section 1.t. required that none of the b i be zero and this
is not guaranteed b y the Householder process. We could deal with zero bi by
regarding the tridiagonal matrix as the direct sum of the appropriate number
of tridiagonal matrices of lower order. It is simpler (though less efficient) to
replace the corresponding b~ b y y (norm) ~ where y is a machine constant
approximately equal to the square of the relative machine precision. This can-
not effect any eigenvalue b y more than 2 V7 norm.
Note that if a general matrix is reduced to tridiagonal form b y orthogonal
similarity transformations, then for exact computation multiple eigenvalues imply
that some off-diagonal elements must be zero. In practice none of the off-
diagonal elements need to be at all pathologically small in such a case. Further
a tridiagonal matrix m a y have eigenvalues which are equal, to working ac-
curacy, without having particularly small off-diagonal elements. For example
the tridiagonal matrix of order 21 with

ci=(11--i) (i-----t to 1t), ci=(i--tt ) (i----12 to 2t)

and b i = l (i = t to 20) has two eigenvalues which differ by one part in t015.
Although the bisection procedure is not as fast as some alternative techniques
it is very accurate and its speed and accuracy are unaffected by dense clusters
of eigenvalues. An upper bound for the error in any computed eigenvalue of
J. H. WILKINSON:Method of bisection for a symmetric tridiagonal matrix 367

the tridiagonal matrix using floating-point arithmetic is given in [1]. I t is


independent of n and for any reasonable round-off procedure in floating-point
arithmetic this bound is less than 6 Vy norm.

7. E x a m p l e s of the use of t h e procedure


The original tridiagonal matrix m a y be derived from a general symmetric
matrix, for example b y HOUSEHOLDER'S method or by GIVEN'S method. It
m a y also be derived from a non-symmetric matrix b y suitable non-orthogonal
transformation, for example those given in [21 or b y a double Hessenberg trans-
formation applied to the upper and to the lower triangle, provided that in this
way a tridiagonal matrix is derived which can be made symmetric.

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 on the
E R M E T H in the Institute for Applied Mathematics of the Eidgen6ssische
Technisehe Hochschule at Ztirich.
We computed on Siemens 2002 with T = 35 and g a m m a = t0 -30 the eigen-
values of the two tridiagonal matrices which were the test results in the article
"HouSEHOLDER'S method for symmetric matrices".

Eigenvalues of matrix A Eigenvalues of matrix B


2.24068753210t t.241133643101
7.513724155 t.241 t 33642101
4.848950120 2.84986439510--1
1.327045605 2.8498643651o-- t
--1.096595181 -- ! .696322849
--1.696322851

References
[1] W'ILKINSON, J. H. : Error analysis of floating-point computation. Numer. Math.
2, 319 (1960).
[2] BAUER, F. L.: Sequential reduction to tridiagonal form. J. Soc. Indust. Appl.
Math. 7, 108--113 (t959).
[31 GIVENS,W.: Numerical computation of the characteristic values of a real sym-
metric matrix. Oak Ridge National Laboratory, Report ORNL-1574.

National Physical Laboratory


Teddington, Middlesex

You might also like