Вы находитесь на странице: 1из 29

Home Search Collections Journals About Contact us My IOPscience

A survey of matrix inverse eigenvalue problems

This content has been downloaded from IOPscience. Please scroll down to see the full text.

1987 Inverse Problems 3 595

(http://iopscience.iop.org/0266-5611/3/4/010)

View the table of contents for this issue, or go to the journal homepage for more

Download details:

IP Address: 129.7.158.43
This content was downloaded on 30/10/2015 at 16:23

Please note that terms and conditions apply.


Inverse Problems 3 (1987) 595-622. Printed in the U K

A survey of matrix inverse eigenvalue problems

Daniel Boleyti and Gene H GolubSi


t Computer Science Department, University of Minnesota, Minnesota 55455, USA
$ Computer Science Department, Stanford University, Stanford, CA 94305-2095, USA

Received 12 November 1986

Abstract. In this paper, we present a survey of some recent results regarding direct methods
for solving certain symmetric inverse eigenvalue problems. The problems we discuss in this
paper are those of generating a symmetric matrix, either Jacobi, banded, or some variation
thereof, given only some information on the eigenvalues of the matrix itself and some of its
principal submatrices. Much of the motivation for the problems discussed in this paper came
about from an interest in the inverse Sturm-Liouville problem.

1. Introduction

In this paper, we present a survey of some recent results regarding direct methods for
solving certain symmetric inverse eigenvalue problems. Inverse eigenvalue problems have
been of interest for many applications, including particle physics and geology, as well as
numerical integration methods based on gaussian quadrature rules (Golub and Welsch
1969). Examples of applications can be found in Gladwell (1984, 1986), Gladwell and
Gbadeyan (1985), Parker and Whaler (1981) and Sussmann-Fort (1982). For example, in
Gladwell (1984) the problem is to compute the values of the masses, lengths and spring
constants for a mass-spring system, given only certain spectral data. This leads directly to
the problem addressed in this paper of generating a pentadiagonal matrix from spectral
data.
Much of the motivation for the problems discussed in this paper came about from an
interest in the inverse Sturm-Liouville problem. Frequently, the matrix approximation to
the Sturm-Liouville operator is a tridiagonal matrix. There are many similarities between
the matrix problems and the continuous problems, but numerical evidence demonstrates
that the solution to the matrix problem is not a good approximation to the continuous one
(cf Paine 1984).
Much of the basic theory of existence and uniqueness of the solutions for Jacobi
matrices was developed in Hochstadt (1974) and Hald (1976). These papers also present
reconstruction algorithms based on the characteristic polynomials of the matrices and/or
moments of functions of these polynomials. Hald (1976) also has several illustrative
physical examples.
The problems we discuss in this paper are those of generating a symmetric matrix,
either Jacobi, banded, or some variation thereof, given only some information on the
eigenvalues of the matrix itself and some of its principal submatrices. Thus, the matrix
5 Electronic addresses on the US ARPANet:
na.boley @ score.stanford.edu (DB); na.golub @ score.stanford.edu (GHG)

0266-561 1/87/040595 + 28 $02.50 @ 1987 IOP Publishing Ltd 595


596 D Boley and G H Golub

problems considered here are of a highly structured form, and as a consequence we are
able to construct algorithms to solve these problems in afinite number of steps. General
matrix inverse eigenvalue problems have recently been considered in Friedland et a1
(1987), and the algorithms for such problems are of an iterative nature. In this paper, we
attempt to bring together several recent methods developed to solve these structured
inverse eigenvalue problems, which have been proposed with the specific aim of being
numerically stable and reasonably efficient.
All the methods we will discuss consist of two major parts. In the first part, we start
with the given initial eigenvalue data and then compute a certain set of intermediate data
consisting of a vector or several vectors. In the second part, an algorithm which has been
classically used for reducing a general matrix to a structured form is used here to generate
the desired structured matrix. In this paper we emphasise the modularity of the methods in
that there is a choice of several different methods to carry out each part.
We begin with several mathematical results which are the foundation of all the methods
presented in the paper. We then present methods to solve several inverse eigenvalue
problems of various sorts, starting with Jacobi matrices and leading to banded matrices,
periodic matrices and other special problems. Note that all the matrices mentioned in this
paper are symmetric, with the exception of the transformation matrices which are generally
orthogonal. The numerical stability of the methods is assured because we depend
exclusively on orthogonal transformations for the generation of the matrix solutions, with
the exception of the Lanczos-based schemes whose stability is enhanced under re-
orthogonalisation (see e.g. Parlett 1980). Numerical results are not presented here, but can
be found in, for example, Boley and Golub (1977, 1984), Biegler-Konig (198 1) and de Boor
and Golub (1978).

2. Preliminary theory

In order to present the methods of this paper in a concise way, it is useful to give some
preliminary results which play a fundamental role throughout the rest of the paper. These
results consist of some preliminary constructions which appear as intermediate steps in the
course of the various algorithms discussed.

2.1. Bordered diagonal matrices


The first problem we discuss is the construction of a certain matrix having some given
eigenvalue properties. Specifically, given the set of eigenvalues {At} and the set of distinct
eigenvalues {pi} which satisfy an interlacing property
Ai >pi >Ai+ I i= 1 , . . . , n - 1 (2.1)
we wish to construct a bordered diagonal matrix A of the form

where A has eigenvalues {Ai}: and M =diag(pl, . . . ,,U,,-


- 1

.
and b = ( b l , . . ,6,- is an
( n - 1) vector. It is easily shown that
n n- 1
a l l = trace(A) - trace( M) = 1Ai- 1pi.
1 1
(2.3)
A survey of matrix inverse eigenvalue problems 597

By expanding the determinant, the characteristic polynomial of A may be written as


n- 1
det(AI-A)=(A-all) I1 ( i l - p j ) -
j= 1
j i k

Setting il= p l , . . . ,pn- and solving the ( n - 1) equations for the 6: yields
n

I1 ( p i - Aj>
b^? - - j = 1 >o (2.4)
1 - n-1

C
j,= 1
(pi-iuj)
j#i

thus completely defining A. The non-negativity condition in (2.4) is guaranteed by the


interlacing property (2.1).
Once A (2.2) has been computed, it is easy to show the existence of a tridiagonal
matrix J which also satisfies the eigenvalue conditions, namely that J have eigenvalues
{Ai}: and the ( n - 1) x ( n - 1) lower principal submatrix J have eigenvalues { p i } : - ' . We
denote the elements of J as

J=

Conceptually, the easiest way to generate such a J (though not necessarily the best way
from a computational standpoint) is to first construct the matrix A above (2.2), and then to
use Householder transformations (cf Stewart 1973, Golub and Van Loan 1983) to reduce
it to tridiagonal form in the manner of T R E D ~(Smith et al 1970). The similarity trans-
formations applied in this way have the form

where 0 denotes a zero vector, and hence the transformations preserve the eigenvalues of
both the whole matrix and the first lower principal submatrix. Though this method does
produce the desired tridiagonal matrix J, it does not take advantage of any special
structure present in the matrix A. In 0 3, we will discuss efficient computational schemes
for generating the matrix J. The resulting J will be related to A by

[o1 OT ] A [ o1 OT :le:]_,
598 D Boley and G H Golub

From (2.6), it is evident that the matrix Q is the matrix of eigenvectors of J, and that the
first row x: of Q satisfies
A

b=blxl and 11511= bi. (2.7)


That is, 6 is the (scaled) first row of the matrix of eigenvectors of J. We summarise this in
Proposition 1. (a) If we have two sets of eigenvalues {Ai}; and {pi}?-' satisfying (2.1) with
the pi simple, then there exists a bordered diagonal matrix A whose eigenvalues are {Ai}f and
whose first lower principal submatrix M has the form M = diag(pl, . . . ,,U,- l). One such
bordered diagonal A is given by (2.2), whose elements are defined by (2.3) and (2.4).
(b) Under the same conditions, there exists a tridiagonal matrix J whose eigenvalues are
{Ai}:and whose first lower principal submatrix J has eigenvalues { p i } : - ' .
(c) Given a tridiagonal matrix J having eigenvalues Ai and whose first lower principal
submatrix J has distinct eigenvalues pi,a scalar multiple of the first row x: of the matrix of
eigenvectors of J satisfies the formula (2.4).
Proox ( a ) and (b) follow from the previous discussion. (c) follows by reversing the
construction: starting with J, defining A by (2.6) and then noticing that the entries of the
resulting A must satisfy (2.3) and (2.4). U
Part (c) of this proposition says that we can compute the first row of the matrix of
eigenvectors of J from the eigenvalue data, without knowing J at all! To do this, we
compute 6 by (2.4) and then scale it to have norm 1.

2.2. Leading entries of the eigenvectors


In proposition 1, we gave a formula for the leading entries of the eigenvectors for the
( n - 1) x (n - 1) submatrix of a tridiagonal matrix. In this section, we derive a similar
formula for the leading entries of the eigenvectors for the main n x n matrix using the
same initial data. In this case, however, the formulae do not require that the matrix be
tridiagonal. Specifically, we show how to compute the first row (qll , . . q l n )of the matrix Qof
eigenvectors of an arbitrary symmetric matrix A, given only eigenvalue data. We assume
there exists a symmetric matrix A which is unknown, but which has eigenvalues Ai and
whose (n - 1) x (n - 1) lower principal submatrix A has eigenvalues pi. In addition, we
must assume that the {Ai};and { p i } ; - ' satisfy the interlacing property (2.1) and that each
set is distinct. In this case, however, we will see that the formulae will not require that the
matrix be tridiagonal. With these conditions we construct the first row (411 . . . qln)of Q by
considering the stationary values of
x'Ax subject to xTx= 1 ; xT c=O (2.8)
where c is some vector with cTc= 1. In Golub (1973) it was shown that if the stationary
values of (1.8) are prescribed to be the pi,then the entries of the vector d = QTcsatisfy
n- 1
TI
j= 1
(Pj-Ai)
df= (2.9)
IT
j= 1
<Aj -Ai>
j#i

If we use c = e l = ( I , 0, . , . , O)* then the stationary values of (2.8) are precisely the
eigenvalues of A , and the vector d is the first column of QT. So we have the formula for the
A survey of matrix inverse eigenvalue problems 599

first row of 0:
n- 1

2 j=1
91i= n (2.10)

j= I
j#i

We can summarise these results in


Proposition 2. ( a ) If we are given the distinct eigenvalues {Ai}; and the first row
(qll , . . q l n ) of the matrix Q of eigenvectors of an arbitrary real symmetric matrix A,
partitioned as

;-'
where A is n x n and A is ( n - 1) x (n - l), then the eigenvalues {pi} of A are uniquely
determined by the given eigenvalue/eigenvector information, by formula (2.10). The p i are
also independent of the choice of signs for the qli. Furthermore, if A is also tridiagonal,
then A is entirely uniquely determined up to signs of the off-diagonal elements, again
independent of the choice of signs of the q l i
(b) Conversely, if we are given any symmetric matrix A whose eigenvalues are {Ai} and
whose first lower principal submatrix has eigenvalues {pi}; - I , where the eigenvalues are
distinct and satisfy (2.1), then the first row (qll . . . q I n )of the matrix Q of eigenvectors of
that given matrix A is given by formula (2.10).
Proof. We rewrite (2.10) as
n n- 1
qfi n
j= 1
(Aj-Ai>=
j= 1
(pj-Ai)EPn-l(Ai) i=l,. .., n
j#i

wherep,-, =IIj=l,,,.,n-l(pj-II) is a polynomial in A of degree n - 1. We have n values of


the polynomial p n - at n different values of II, so the polynomial p n - 1, and hence its roots
pi,are uniquely determined. The choice of signs of the qli is irrelevant since the q l i appear
only in squared form. The uniqueness of A if A is tridiagonal follows easily from Stewart
(1973, ch. 7, theorem 4.1). Again the signs of qli are irrelevant since we can change the
sign of any individual eigenvector of A arbitrarily.
Part (b)follows from the derivation of (2.10) above. U

2.3. Relation to polynomials


We can show a close relationship between the two formulae (2.4) and (2.9). Consider
the Jacobi matrix J (2.5), and its lower principal submatrices J ( n - 1) x ( n - l), and
;I( n - 2) x ( n - 2). Define the characteristic polynomials

pn(II)= det( J - A I)
Pn- ,(A) = det (J -A I)
p,-,(A) = det(J -AI).
600 D Boley and G H Golub

The zeros ofthepk, k = n , n - 1, n-2, are {Aj}?, { p j } f Wand


1 {~~}f-~,respectively.
Wemay
expand the determinant in the definition ofp, to obtain the relation
~n(2) = (a1 -A)pn- I (A)- b:pn- 2 ( A ) . (2.1 1)
We use this formula to show the close relation between (2.9) and (2.4). Written using the
characteristic polynomials, the formula (2.9) can be written as

(2.12)

We can use the same formula to express the (n - 1)-vector d for the matrix J in terms of
the p j and vj. If we write the result in terms of polynomials we get

(2.13)

In the same way, we may write the formula (2.4) for the (n - 1)-vector 6 as

(2.14)

Note that the formulae (2.12) and (2.13) hold even if J is not tridiagonal, but that (2.14)
holds only for tridiagonal J. The denominators in (2.13) and (2.14) are the same, and the
numerators are related by (2.11):
P n ( ~ j=) -b:Pn-dPj) j = 1, * . . , n - 1 (2.15)

since p n - ~ ( p j=) 0. If J is tridiagonal, then the choice of signs in the square root in formulae
(2.13), (2.14) is arbitrary; changing signs is equivalent to changing the sign on the entire
corresponding eigenvector of J. So in this case, we can arbitrarily choose all the signs to be
non-negative. So we obtain the equivalence in the tridiagonal case:
8= 5 bld. (2.16)
Since (2.14) was derived strictly in terms of determinants, this gives an independent
derivation of the formula (2.13) strictly in terms of determinants. Since lI&ll=b, from (2.7),
this implies that 11 dll= 1. Furthermore, any (n - 1) x ( n - 1) matrix A having eigenvalues p j
and whose first lower principal submatrix A has eigenvalues v j must be related to any other
matrix satisfying the same conditions by similarity transformations of the form

Applying such transformations leaves unchanged the first components of the eigenvectors
of A, so that the first row of the matrix of eigenvectors is the same (up to signs) for all such
matrices. This shows in an independent way that the formula (2.13) holds for all symmetric
matrices, not just tridiagonal ones. Conversely, this yields an independent derivation of
(2.4) based on the use of problem (2.8) to derive (2.9).
By carrying out a similar development using an (n + 1) x (n + 1) tridiagonal matrix,
one can obtain a similar derivation for the vector d (2.9). Finally, we note that the
polynomials we have defined are a part of a sequence of orthogonal polynomials. We
review a few of the close relationships between the polynomials, the eigenvectors of the
Jacobi matrix J, and gaussian quadrature from de Boor and Golub (1978) and Golub and
A survey of matrix inverse eigenvalue problems 60 1

Welsch (1969). It is well known that if the polynomials po(x), pl(x), . . . are mutually
orthogonal with respect to the inner product

(2.17)

where w(x) is a positive weight function over the interval 52, then one can determine
weights wi > 0 such that the gauss quadrature formula

(2.18)

is exact if f is any polynomial of degree up to 2n - 1, where the {,Ij} are the roots of pn.
We assume that the weights are scaled so that

Jn w(x) d x = 5 wi= 1.
i= 1

In this case, the {wi}IIare known (Golub and Welsch 1969) to be the squares of the first
components of the normalised eigenvectors of J, that is (in the notation of (2.10))
wj = q:i i= 1,. . . , n. (2.19)
If in (2.18) we let f (x)=xk, k=O, . ,n -
, , 1, we obtain the first n moments

mk E Jn xkw(x>d x = wi$. (2.20)


i= 1

All these relationships are fully explored and derived in Golub and Welsch (1969) and de
Boor and Golub (1978).

2.4. Lanczos algorithms


A fundamental procedure that will be needed is the Lanczos algorithm, used to actually
generate the desired matrices. In this paper, we use two flavours of the Lanczos algorithm,
the ordinary scalar version and the ‘block’ version. The Lanczos algorithm has been used
more often to reduce symmetric matrices to tridiagonal form in order to solve for their
eigenvalues. In this paper, we use a variation of it to solve the inverse eigenvalue problem.
The ‘scalar’ Lanczos algorithm is a process that reduces any symmetric matrix to
tridiagonal form, starting with the given matrix and a certain starting vector of unit length.
It has been discussed extensively elsewhere (cf Golub and Van Loan (1983) and references
therein), and we present here a summary of the process.

Algorithm 1-Lanczos algorithm. Given a symmetric matrix A and x 1 with xTxl= 1.


compute a Jacobi matrix J (2.5) and an orthogonal matrix X = [ x l . x,] such that ..
A = XJXT.
1. begin
2. set a , :=$Axl
3. fori= 1 , . . . ,n - 1 do
begin
4. if i = 1 then z l : = A x l --xlal
else zi := Axi-xiai-xi- Ibi-l
602 D Boley and G H Golub

5. c o m p u t e x i + , ,bjso t h a t x i + i b i = z i , X ~ + i X i + 1 = 1
6. set ai+ :=xF+ lAxii
end
end
This algorithm is based on the idea of alternately using the formulae

J = XTAX and XJ=AX (2.2 1)

to step by step fill in all of J and X (see e.g. Boley and Golub 1984) starting with A and
the first column x1 of X. This way to reduce a matrix to tridiagonal form is an alternative
to the use of Householder transformations, but in many situations, numerical stability is
enhanced by re-orthogonalising the vector zi computed at each pass through step 4 against
all the previously computed x vectors (see e.g. Golub and Van Loan 1983).
If at any stage the vector zi is zero, then it must be replaced by an arbitrary unit vector
orthogonal to all the previous x vectors, and the corresponding bi in step 5 must be set to
zero. If the eigenvalues { A j } ; are all distinct, and the initial vector x 1 is not orthogonal to
any eigenvector of A, then this situation cannot occur, and the Jacobi matrix J that results
from the algorithm will be unique up to the signs of the off-diagonal elements (Parlett
1980).
The Lanczos algorithm, as stated, takes O(n) floating point operations for each pass
through the loop (steps 4,5). so the total work is O(n2). However, the cost of the
reorthogonalisation step is about O(ni) in each pass through step 4, so that with
reorthogonalisation the overall cost is about O(n3).
The block Lanczos algorithm is an extension of the scalar Lanczos algorithm which
generates banded matrices. Specifically, the block Lanczos algorithm starts with an n x n
symmetric matrix A and p orthonormal starting vectors xl, , . . , x,, where n = p s for some
integer s. The algorithm then generates a block tridiagonal matrix J with p x p blocks, as
well as computing a complete set of n orthogonal vectors Q E XT as in the scalar Lanczos
algorithm (algorithm 1). We write the matrix of generated orthogonal columns as

x= [ X I , . . . , X,], where X1=[XI, . . . ,x,], (2.22)

and the generated n x n matrix J as

(2.23)

I o
The matrices Hi are symmetric, and the Bi are upper triangular, so that the entire matrix J
has 2 p + 1 bands. We say that J has half bandwidth p , meaning that J h a s p bands below
the main diagonal, so that p = 1 for a tridiagonal matrix.
A survey of matrix inverse eigenvalue problems 603

As in algorithm 1, this method consists of alternately using the formulae

XTAX=J and AX=XJ


to compute the individual blocks of J and X one at a time. The specific algorithm is as
follows.

Algorithm 4-block Lanczos algorithm. Given a symmetric A and the vectors Xln x p , with
XTXl= I, compute an n x n block tridiagonal matrix J (2.23) and an orthogonal matrix
X = [XI . . . X,] (2.22) such that A=XJXT. Each block Hi and Bi is p xp. The Hi will be
symmetric, and the Bi will be upper triangular.

1. begin
2. set H :=XTAX1
3. fori= 1 , . . . , s- 1 do
begin
4. if i= 1 then
s e t Zl:=AX1 -XIH1
else
set Zi:=AXi-XiHi-Xi_lBi_lT
5. compute Xi+,, Bi such that
Xi+ l B j = Zj
XiT+lXi+l=lpxp
Bi is p x p upper triangular
6. set Hi+ l:=XT+ lAXi+ ,
end
end

Step 5 can be carried out by using either a modified Gram-Schmidt procedure, or using a
QR-decomposition algorithm (Golub and Van Loan 1983; Dongarra et a1 1978, routine
SQRDC).In this case the matrix Z i is rank deficient, one must choose the columns of Xi+ 1
so that X:+,Xi+,= l p x p still holds and so that X i + , is still orthogonal to all previous
columns X,, . . , ,Xi, absorbing the rank deficiency into Bi. Beyond this requirement, one
can choose the columns of Xi arbitrarily.
We note that this algorithm reduces almost exactly to algorithm 1 in the case that
p = 1.
In the context of the methods in this paper, the Lanczos algorithms are used in a
somewhat unusual way. In all cases, we wish to generate matrices J with certain prescribed
eigenvalues {Ai}:. Hence, the ‘starting matrix’ A that we typically use in this situation is one
guaranteed to have the given eigenvalues Ai,namely A = diag(d1, . . . , An). In this special
case, the matrix X generated by the Lanczos process is exactly the transpose of the matrix
of eigenvectors of the generated matrix J, and t h e p starting vectors xT, . . . , x,’ are exactly
the first p rows of this eigenvector matrix. In this context, the scalar Lanczos algorithm
becomes a method that generates a tridiagonal matrix, given its eigenvalues and the first
row of its eigenvector matrix, and the block Lanczos algorithm becomes a method that
generates a banded matrix with half bandwidthp, given its eigenvalues and the first p rows
of its eigenvector matrix.
604 D Boley and G H Golub

3. Jacobi matrices

In this section we introduce the basic techniques used throughout this paper by discussing
methods for the classical problem of reconstructing a Jacobi matrix (2.5):

given its eigenvalues {Ai}; and the eigenvalues { p i } ? - ' of the ( n - 1) x ( n - 1) lower
principal sub-matrix J of J. In the following, we will refer to this reconstruction problem as
problem J. These methods have varying requirements on the Ai,pi,but in general we will
assume they interlace as in (2.1). In some cases, we will need to assume that every
eigenvalue be simple, whereas in others we will also need a strict interlacing property, in
which the inequalities in (2.1) are strict.

3.1. Method 1-Lanczos


This method is based on de Boor and Golub (1978) and Boley and Golub (1977). The goal
is to construct the first row of the eigenvector matrix Q of J from the given eigenvector
data, and then use the Lanczos algorithm, suitably modified, to construct J.
From ( b ) of proposition 2, we know that the first row ( q l l . . . q I n of
) Q is determined
by the given eigenvalue data and can be computed by formula (2.10). It remains to show
how this information can be used to generate J.
To generate the tridiagonal matrix J, we next apply the Lanczos algorithm
(algorithm l), suitably modified. To see how this is done, recall that the Lanczos algorithm
computes a tridiagonal matrix J orthogonally similar to the original starting matrix (A). The
matrix A and the first column of the transformation X relating J and A (2.21) forms the
required input data for the algorithm. For the current problem, we set the starting matrix
to be A=A=diag(A1,. . , A n ) , and the starting vector to be the vector x1 = d defined by
(2.9). It then follows from (2.21) that the generated matrix J will have eigenvalues
A I , . . ., An and eigenvectors XT. Hence from (a) of proposition 2, the matrix J must solve
problem J.
When the starting matrix in the Lanczos algorithm is diagonal, the matrix-vector
products take only O(n) time, instead of O(nZ)time in the general case. Hence the
Lanczos algorithm takes O(n) floating point operations for each pass through the loop
(steps 4,5). So the total work is O(n2).However, as noted above, to maintain numerical
stability, one must reorthogonalise the ziproduced in step 4,increasing the overall cost to
about 0 ( n 3 ) .
A survey of matrix inverse eigenvalue problems 605

3.2. Method 2-orthogonal reduction


This method is based on ideas of Biegler-Konig (1981) and Thompson (1977). The idea is
to first construct a bordered diagonal matrix Aaugwith the same information that was
needed for method 1: i.e. the eigenvalues Ai and the first row d T of the matrix of
eigenvectors. Then we reduce this matrix to tridiagonal form using orthogonal
(Householder) transformations that do not affect this eigenstructure.
In this method, we form the following augmented ( n + 1) x ( n + 1) bordered diagonal
matrix

where am is a dummy entry, d is the n vector of weights defined by (2.9),


and A = diag(Al, , , .,A,). The idea of this method is to use a reduction scheme that reduces
Aaugto tridiagonal form by computing a series of Householder transformations of the form

where X = [xl . . , x,] is an orthogonal matrix, and 0 represents the zero vector. This
method is the same as that used to reduce the n x n bordered diagonal matrix (2.2) to
tridiagonal form, mentioned in the discussion leading up to proposition 1. The resulting
tridiagonal form will be related to Aaugby

where Q is an orthogonal matrix. It is clear from (3.2) that Q is exactly the matrix of
eigenvectors of the resulting J. If we denote the first row of Q by x:, it is also clear from
(3.2) that
d=QTboel = b o x l . (3.3)

Since IIxlII= 1, this formula, with (2.9) and (2.10), defines the value bo= f 1. Hence
by proposition 2, the generated matrix J must solve problem J.
The reduction algorithm used here based on Householder transformations is essentially
the same as that described in detail in Stewart (1973, pp 344ff). It also appears in Smith et
a1 (1970) under the name TRED?., where it is used during the solution of the ordinary
symmetric eigenvalue problem to carry out the initial reduction to tridiagonal form. This
method takes about 0 ( n 3 )operations (see e.g. Golub and Van Loan 1983).
We conclude this section by noting that during this reduction by orthogonal
transformations, we have preserved two sets of eigenvalues: those of Aaug,transformed to
Jaug, and those of A, transformed to J. We have started with exactly the same information
as for method 1 (based on the Lanczos algorithm) and computed the same intermediate
vector of data d.

3.3. Method 3 -fast orthogonal reduction


The bordered diagonal matrix is a matrix of a very special form, and it is not surprising to
discover that one can reduce such a matrix to tridiagonal form using a scheme that is faster
than the method based on Householder transformations described above. In this section,
we present such a method which takes only O(n2) operations. This method, noticed by
606 D Boley and G H Golub

Gragg and Harrod (1984), is based on a reduction scheme of Rutishauser (1963). This
method is applied on the same matrix (3.1) as the previous method based on Householder
transformations and consists of applying a certain sequence of orthogonal plane rotations
in a very particular order.
To explain the process, we need to describe a basic step which is used as the basis for
the complete reduction. The basic step consists of reducing the half bandwidth by 1 band
of a k x k matrix of the form

where T is a (possibly empty) ( k - 3) x ( k - 3) tridiagonal matrix, and e l is the k - 3-vector


[ 1 , 0 , . . ., 0IT.Note the matrix H is tridiagonal, except that the last row and column have a
special form. We define the orthogonal plane rotation R between rows 2 and k :

where c, s are chosen to annihilate the d l in position k, 1 of H in (3.4), i.e. choose


o=(b: + d:)1'2
c = bl/a
s = dl/a.
If we apply R (3.5) as a similarity transformation to (3.4) we obtain a matrix

where the entries have the values:


b:a2 + 2bldld2 + d:dk
a2 =
U2

-
d3 =
b:dk-2bldidk +d:d2
a2
(Thas the value defined above, and the entries ai, T are unchanged. In this fashion, we have
reduced the half bandwidth by 1 in a constant number of operations independent of k.
A survey of matrix inverse eigenvalue problems 607

In order to further reduce the bandwidth we re-partition iito obtain the form

where H is a ( k - 1) x ( k - 1) matrix of the same form as H of (3.4):

61 OT 21 1

At this point, is tridiagonal except for the last row and column, which have the same
structure as H in (3.4). Since H comes from just a re-partitioning (3.7) of ii,we can write
the correspondence between the labels for the inidividual elements in H and the labels for
the same elements in ii:
-al =a2-
E2 = a3 (part of the unchanged T matrix)
51 =&
6, = b3 (part of the unchanged T matrix)
21 = 2 2
22 = ZS
-
dk-1 =dk
-
= the ( k - 4) x ( k - 4) lower principal submatrix of T.

We can now ‘recursively’ apply this same operation on the ( k - 1) x ( k - 1) matrix H to


obtain an orthogonal plane rotation R which reduces the half bandwidth of H by 1. That is,
the k x k plane rotation

transforms the k x k matrix 6 to the following matrix of half bandwidth 2 :

where again has the same structure as H in (3.4), and A(2) is a 2 x 2 matrix. A f t e r j
steps of this process, will have a matrix Rcn which will have a j x j tridiagonal part in
the upper left corner and a ( k - j ) x ( k - j ) part H ( j ) of the form (3.4) in the lower right
corner.
After k - 2 such steps, the part with the form (3.4) in the lower right corner
(corresponding to H in (3.7)) will be reduced to size 2 x 2, and hence will be tridiagonal. In
summary, our algorithm is :
608 D Boley and G H Golub

Algorithm 2. Given a k x k matrix H of the form (3.4), orthogonally reduce it to


tridiagonal form JCk):=S(k)HS(k)T,
where the orthogonal transformations are accumulated
into sck).

1. begin
2. if k = 2 then set SCk):=I,,,; set J@):= H; return.
3. Compute plane rotation R between planes 2 and k defined by (3.5).
4. Compute R defined by (3.6).
5. Partition H as in (3.7), to obtain the ( k - 1) x ( k - 1) lower right submatrix H.
6. Recursively apply this algorithm to H. The result is a ( k - 1) x ( k - 1) tridiagonal
matrix J(,-l), and a ( k - 1) x ( k - 1) orthogonal matrix S k - l ) consisting of the
accumulated transformations, such that Jck-l) = Sck- ')HS@-llT.
7. Accumulate the orthogonal transformations, i.e.

8. Set J(k):=S(k)HS(k)T,
end.
We note that in step 8, we have the identity

This transformation applied to R has been constructed to have the property that it leaves
unchanged the first row and column of R, so that we may form Jck) by simply replacing the
block H in fi (3.7) with the ( k - 1) x ( k - 1) matrix J(,-l), obtaining a tridiagonal matrix.
At each level of recursion in this algorithm, the cost is approximately 30 operations, so
the total cost is approximately 30k operations, ignoring lower order terms in k. Of course,
in an actual implementation, one might not use a recursive definition. The recursive
definition is used mainly for clarity in that it eliminates the need to use many iteration
indices in the description. One can easily convert this recursive definition to an iterative
form (see e.g. Horowitz and Sahni 1984).
To see how to apply algorithm 2 to the problem of reducing an m x m bordered
diagonal matrix A of the form (3.1) to tridiagonal form, notice that the upper 3 x 3
principal submatrix of A is already of the form (3.4), with the third block column and row
of (3.4) empty; i.e. the columns and rows occupied by T are not present. Hence we may
apply algorithm 2 to that 3 x 3 submatrix, obtaining the matrix A(') whose upper 3 x 3
principal submatrix is tridiagonal. At this stage, the upper 4 x 4 principal submatrix of A(')
has the form (3.4), where T is just a scalar, so we may apply algorithm 2 to that 4 x 4
submatrix, obtaining A@).We continue in this manner until we reach the bottom row of A
after m - 2 steps. We summarise the method.

Algorithm 3-Rutishauser. Given an m x m bordered diagonal matrix A(') = A of the form


(3. I), reduce it to tridiagonal form J by similarity transformations based on orthogonal
plane rotations.
begin
1. Let S := an m x m identity matrix. (S is used to accumulate the transformations).
2. Fori= 3, . . ., m do begin.
A survey of matrix inverse eigenvalue problems 609

3. Apply Algorithm 2 to upper i x i principal submatrix A of A(i-3), obtaining an


orthogonal transformation S(j)and an i x i tridiagonal matrix J(j)= S'i)ASS'i)T.
4. Accumulate the orthogonal transformations in S, i.e.

sets:=[:

(where 0 represents the zero metrix).


5. Form the next iterate by:

where U is some ( m - i ) vector to be further discussed below, and D is an


( m- i ) x ( m - i) diagonal matrix.
end
6. S e t J:=A("-~).
(This matrix is tridiagonal, and the orthogonal transformations have been
accumulated into S, so that J = SAST.)
end.
In step 5 at the ith iteration, we have formed whose upper i x i principal submatrix
J(j) is tridiagonal. We also note that all the rotations computed in step 3, in the call to
algorithm 2 involve orthogonal rotations which rotate among the planes 2,. . . , i; they
specifically do not involve plane 1. Hence the transformation S('), as well as the
accumulated transformation S, have the form

L J

where X is an orthogonal matrix. A consequence of this is that the vector U and diagonal
matrix D in step 5 actually consist of the initial values already in those positions in A(o).We
can show inductively that those positions are unchanged by the computation in step 5. We
write

Then the formula in step 5 yields

Since S(j) has the form (3.Q the 2,l block of satisfies S(')eld = elvT. Similarly the
1,2 block is simply veT. So we may conclude that the only block affected by step 5 is the
1,l block, and furthermore the contents J({)of that block were already computed in step 3.
Hence step 5 is essentially free.
The cost of each pass through steps 3-5 of algorithm 3 is entirely in step 3, that is
approximately 30i,so the total cost for i= 3, . . . , m is approximately 15m2, ignoring lower
order terms. We note finally that the 1,l element of the matrix A(') (that is am in (3.1)) is
untouched and ignored by the entire computation.
6 10 D Boley and G H Golub

3.4. Method 4-alternative data


In this section we describe an alternative way to set up the problem of reconstructing a
Jacobi matrix, starting with the same initial data as in 0 3.1, but computing a different
vector of intermediate data. This method is from Biegler-Konig (1981) and also follows
from a suggestion of Thompson (1 977). This method does not require that the eigenvalues
Ai,p i be mutually distinct. The property (2.1) is sufficient as long as the p i are simple. The
idea is to first construct an n x n bordered diagonal matrix A with the desired eigenvalues
A i and p i and then to reduce this matrix to tridiagonal form using orthogonal
transformations that do not affect this eigenvalue structure.
Specifically, this method consists of first computing the bordered diagonal matrix A
defined by (2.2), where the elements of A are defined by (2.3) and (2.4). From A we
generate the tridiagonal matrix J that solves problem J. To generate J, one may apply either
method 2 or 3 to A instead of Aaug.We see now that one can also compute J with this
same alternative intermediate data by a scheme based on method 1. By proposition 1 , we
have the first row of the eigenvectors of the submatrix J, namely 6/1161[,where 6 is defined
by (2.4). So we may generate J by using the Lanczos algorithm, starting with the matrix M
(2.2) and the vector 6/1161/. The remaining entries a,, bl in J can then be computed from
(2.3) and (2.7).

3.5. Modularity
The methods we have described are modular to a certain extent. Each method consists of
two parts: in the first part we compute a certain vector of data, and in the second we apply
some matrix reduction algorithm to generate the tridiagonal matrix J. For each part, we
have mentioned several choices of algorithms, and to a certain extent one is free to
combine any choice for the first part with any choice for the second part. For the first part,
we have mentioned two choices: either one can compute an n vector of weights di,
i = 1 , . . . , n (2.9) which defines a bordered diagonal matrix (3.1), or one can compute
the n - 1 vector 6 (2.4) defining a bordered diagonal matrix A (2.2).
For the second part, we have described three possible algorithms based on,
respectively, the Lanczos algorithm, Householder transformations, and Rutishauser’s fast
reduction scheme. The Lanczos algorithm takes O ( n 2 )operations, O(n3)if we carry out re-
orthogonalisation, which is useful for numerical stability. The algorithm based on
Householder transformations takes O(n3) operations, and the fast reduction algorithm
(Rutishauser) takes O(n2)operations. Both of the latter two algorithms consist of applying
a series of orthogonal similarity transformations to the matrix, so there is no problem with
numerical stability.
In the rest of this paper, we will describe some generalisations and variations of the
basic problem discussed in this section. It will be seen that the Lanczos algorithm and the
Householder reduction scheme can easily be applied to banded and periodic problems.

4. Banded matrices

In this section we extend the methods for Jacobi matrices to the problem of reconstructing
band matrices. Before defining the problem, we must first define some notation. In this
section we let J denote a symmetric n x n banded matrix with 2 p + 1 bands, p below the
diagonal. We call such a matrix a ‘p-banded matrix’, and say it has ‘half bandwidth p’. Let
A survey of matrix inverse eigenvalue problems 611

J(k) denote the lower ( n - k ) x ( n - k ) principal submatrix of J, so that J(O)=J, and J'I)
corresponds to 3 of $0 2 and 3. Assume the following identities:

(4.2)
where A(k'=diag(A(lk),. . .,Ai?,") is the diagonal matrix of eigenvalues of J(k', and Q'k)=
.
[qik) . . qLklk] is the orthogonal matrix of eigenvectors of J'k'. We denote the (i, j)th
element of Q(k)by q$).
The problem is then as follows.

Problem B. Given thep + 1 sets of eigenvalues {Ay)},k = 0, . . . ,p , satisfying the interlacing


property
A (jk ) >~ ( k + >~ $ 5 2
j 1) j = 1 , . . . ,n - k - 1, k=O,. .. ,p- 1 (4.3)
construct a J with half bandwidth p such that each submatrix J'k) has eigenvalues {A:!)},
for k=O,. . . , p .
To compute such a J, we use proposition 1. For each submatrix J ( k ) ,we can define a
bordered diagonal matrix A(k)corresponding to (2.2):

where A(k)has eigenvalues {Ajk'}. The value ak+l is determined, as in (2.3), by a trace
argument:
n-k n-k-1

and hence the first k diagonal entries of A are unique. Using the same development used
for (2.4) based on the characteristic polynomial of A(k',we can determine the vectors 8(kf,
k=O,. . . , p - 1 , b y t h e f o r m u l a

j= I
n (Ay+
n-k
1) -AS;"')
[ j p ] 2 =-n - k - 1 >0.
n
j= 1
($k+LAy+I))

j#i

We finally note that, as in equation (2.6), A'k)is related to J ( k )by

for k = 0, , . . ,p - 1. We may conclude from this that


~ ( k 1)Tb(k)
+ =g ( k ) k=O,. , ., p - 1.
In this case, the vector bCk'is no longer a multiple of the unit vector el as it was in the
tridiagonal case. Hence it is no longer true that the vector &k) is the same as the first row
of the matrix Q ( k + l ) T of eigenvectors of J'k+ ' ) .
612 D Boley and G H Golub

We may also use the second part of proposition 2 to arrive at a formula for the first
row dk)
of the matrix of eigenvectors k= 0, . . .,p - 1 :

The intermediate data consisting of the matrices (4.2) and vectors (4.9) form the input
data to the algorithms that actually generate solutions to problem B. The rest of this
section is devoted to alternative algorithms to generate the solutions.

4.1. Block Lanczos


We have now defined enough quantities to be able to describe the first method we can use
to generate the banded matrix J. This method is based on the use of the block Lanczos
algorithm (algorithm 4). To carry out this method, we need to compute the first p rows of
the eigenvector matrix do).
For each k = 0, . . . ,p - 1, we develop a formula for the firstp - k rows of in terms
of the first rows d@lT which we already know. That is, we compute the first few
components of each eigenvector q y ) in terms of its first component d:b'= 4;).
Partition the eigenvector qjk) as

(4.10)

where yp) is an n - k - 1 vector. From the identity J(k)q~'=Iz~k)qJ!k),


we use (3.1) to
extract all but the first row of (3.10) to get:
b (k)d(k)
j + J ( k + l ) y !J k ) =A!k)y!k)
J J * (4.11)
Multiply by dk+
'IT to obtain
dJ ' ( k + l ) T b ( k ) + ~ ( k l )+( l ( k + l ) T y ( b ) = A ( ? Q ( ~ + 1)T (k)
J J Y j

Using (3.8) and solving for y y ) ,we get


(k) -d(+)Q(k+
l)(A(k+
1) - A ( ? I ) - l & ( k ) ,
Y j -- j J

Written in terms of the individual elements, the above is


n-k-1 (k+l)^(k)
qi- 1, r bl
(i- 1)st entry ofyy)=qF)=-cijik) C
/=I Ay+l"-Ajik)
(4.12)

wherei=2,. . . , n - k , j = l , . . . ,n-k,k=p-2,p-3,. . . ,O.Recallfrom(4.9)thatwhen


i takes on its first value 2, the values qjf' I ) = djk+') are known. When k = p - 2, the right-
hand side of (4.12) is completely known for i = 2 , so we can obtain the first two rows of
Then when k = p - 3, we know the right-hand side for i= 2, 3, so we can obtain the
first 3 rows of Q ( p - 3 ) . We continue in this way until k=O, at which point we will have the
first p rows of do).
Once we have the first p rows of we can carry out the block Lanczos
algorithm. Let x7 = [ #, . . . ,q::] denote the ith row of Q(O) Q, so x j is the j t h column of
the matrix QT X. Let XI = [xl . . . x p ] be an n x p matrix consisting of the first p columns
A survey of matrix inverse eigenvalue problems 613

of X, so that XTX, = I p x p . The block Lanczos algorithm is then carried out with starting
matrix A and p starting vectors XI = [XI, ., x P ] . ..
The result will be the n x n orthogonal matrix X = [X,, . . ., X,] and the p-banded
matrix J of the form (2.23), where n=ps. Because the first p rows of the eigenvector
matrix of J have been determined from the eigenvalue requirements, in a manner
analogous to the Jacobi case, it is a simple matter to show that the banded J produced by
algorithm 4 will indeed solve problem B.
Note that we must require that p divide n, and also that the interlacing among the
eigenvalues be strict, i.e. that the inequalities in (4.3) be strict.
To summarise: the complete algorithm is as follows.

Algorithm 5. To solve problem B:


1. Compute #O), , . . , b^(p-2) by taking the square root of (4.6).
2. Compute do), . . . , d p - ’by) taking the square root of (4.9).
3. f o r k = p - 2 , . . . ,O d o
for j = 1 , . . . , n - k do
for i = 2 , . . . , p - k d o
compute i- 1st entry of y j k ) = q t )by (4.12).
4. Define the starting vectors:
x1:=do),
and
i l , . . .,qin
x i : = [ q(0) (0)
],for i = 2 , . . . , p .
5. Apply algorithm 4 (block Lanczos) to generate the matrix J, starting with matrix A
.
and the vectors XI [xl, . .,x P ] .
Different choices of signs for the square roots in steps 1 and 2 yield different, and
possibly non-equivalent, solutions. We can obtain in this fashion a large but finite set of
possible solutions to problem B. In case of rank degeneracy during the block Lanczos
process, one may obtain a continuum of solutions. An example is the following 4 x 4
matrix with p = 2 (Grunbaum 1980a, b):

0 0
a2 -sin y cos y
-shy 1-sin2y cos2y
0 cosy cos2y 1+sin2y

for which, assuming p1# 0 , the eigenvalues of J, J(l), J(’) are all constants indepen-
dent of y.
We note in passing that if p = 1, the problem reduces to the tridiagonal case discussed
in 0 3. In this case, steps 1, 3 , 4 of algorithm 5 became empty; only steps 2 and 5 remain to
do. The result is the same method as method 1 (Lanczos) for problem J described in 4 3.

4.2. Orthogonal reduction


We now turn to an alternate method for generating a band matrix solving problem B. This
method, based on the use of Householder transformations, was originally proposed for this
problem by Biegler-Konig (198 1). This method does not require that the interlacing among
the eigenvalues be strict (4.3), nor does it require that p divide n exactly. On the other hand
614 D Boley and G H Golub

it is more involved and somewhat more expensive in that it requires the solution of several
eigenvalue problems.
This method begins by forming the bordered diagonal matrices A(k)(4.4). We let PCk)
denote the orthogonal matrix of eigenvectors of A(k),and denote the matrix of
eigenvectors of the submatrix J ( k ) , k = 0, . . . ,p . By proposition 2 , P(k) and Q ( k ) have
the same first row, up to signs. We defer for the moment the discussion on how to com-
pute the PCk).
The intermediate goal of this method is to construct a sequence of n x n matrices
H'O', H('), . . . , H@-') H, culminating in a matrix H which has the eigenstructure
demanded by problem B with respect to H and its first p principal submatrices, but is not
banded. Then this matrix H is reduced to banded form by orthogonal similarity
transformations in such a way as not to destroy the eigenstructure desired. In this paper we
will only indicate the major steps. The interested reader is referred to Biegler-Konig (198 1).
We begin the sequence of matrices by setting H(o):=A(o'defined by (4.4). We form H(')
by

The matrix H(') will have the form

(4.13)

where * denotes a sub-block of the matrix that we do not specify explicitly. We then form
H(') by

(4.14)

where 0 is a matrix of zeros. After p - 1 steps we will have the matrix

(4.15)

where Hp is p x p . We examine the submatrices of the sequence H"), H('), . . . , H(p-l) = H,


corresponding to the submatrices J(O), . . ., J'k) of J. We see- that at each stage the
transformation was constructed just so the first k + 1 of those submatrices of Hck)
.
respectively have eigenvalues {Ay)},i= 0, . , ,k. Hence, at the end, H H(p-') satisfies the
eigenvalue requirements demanded by problem B, with respect to H itself and its first p
principal submatrices.
From (4.19, it is clear that H is not banded, rather it is 'block' bordered diagonal. To
reduce H to a p-banded matrix (i.e. half bandwidth p ) by orthogonal similarity
transformations, we may apply a series of plane rotations in planes p + 1, . . ., n or
Householder transformations in a manner very similar to the reduction algorithm T R E D ~
(Smith et al 1970). The transformations applied in this way will have the form

(4.16)
A survey of matrix inverse eigenvalue problems 615

where Ui is either an orthogonal plane rotation or Householder transformation. It can be


verified that such transformations will indeed not affect the eigenvalue structure demanded
by problem B.
Finally, we give the process by which we compute the matrices P(k),consisting of the
eigenvectors of A('). The simplest conceptually is to use a standard symmetric
eigenvalue/vector solver on the {Ack)}; for example one might use the EISPACK (Smith et a1
1970) routines TRED2 followed by TQLZ. The TRED2 part is o(n3), and the TQLZ part iS o ( n 2 ) .
Since A@)is a bordered diagonal matrix of the form (2.2), we can reduce the cost of this
step to O(n2)by replacing the TREDZ part with algorithm 3 (Rutishauser).
In summary, the method is then as follows.

Algorithm 6. Solve problem B.


1. for i = O , . . . , p - 1 do
2. Compute ACk)by (4.4), (4.5) and (4.6).
3. Compute P(k), eigenvectors of Ack)using algorithm 3 (Rutishauser) and TQLZ
(Smith et a1 1970).
4. Compute the sequence H(k),k=O, . . . , p - 1, ending with H=H(P-I).
5. Apply sequence of plane rotations or Householder similarity transformations of the
form (4.16) to reduce H to a banded matrix J of half bandwidth p , without
destroying the eigenvalue structure carefully assembled in H.
Though steps 1-4 are relatively fast, it is not obvious to the authors how to reduce step 5
from O(n3)to O(n2).This will be reserved for future work.

5. Periodic Jacobi matrices

In this section, we apply proposition 1 to the problem of reconstructing a periodic Jacobi


matrix given certain eigenvalue data. We follow our usual notation: let J be a Jacobi
matrix, J be its lower ( n - 1) x ( n - 1) principal submatrix. We would like to solve the
following problem.
Problem P. Compute a periodic Jacobi matrix

lbn
We call J& the matrix (5.1) with bn replaced with (- b"). To start with, we are given the
eigenvalue data: {Ai}? eigenvalues of Jwr, and {pi]?-' eigenvalues of J. In addition, we are
given one of two sets of data: either the set {A;}; eigenvalues of J,,, or the single product
,8=bl.. . b,. In the latter case, the number of items of input data (2n) is identical to the
number of elements to compute (2n).
616 D Boley and G H Golub

5.1. Preliminary construction


In all the methods we propose, we start as before by computing the bordered diagonal
matrix A of the form (2.2)

A-[;'' $I=[
-T
1 OT
O Q T
] J[ 1 OT
O Q
]
where Q is the orthogonal matrix of eigenvectors of J (2.6), and the a l l and 6 are defined
by (2.3) and (2.4) in terms of the eigenvalues {Ai}:, and {pi}?-'.Specifically,
n n- 1
all=trace(A)-trace(M)=Z Ai- pi (5.3)
1 1

and

From the {AT}:,we also compute the bordered diagonal matrix A- corresponding to (5.2)

A--[
6- M
=[ ] 1 OT
0 QT
J-[ 1 OT
O Q
] (5.5)

where Q is the same as in (5.2), and the ail and 6- are defined as in (5.3 and (5.4), using
the {A?}: in place of the {A,}:.
We now show how to compute A- using p instead of the {AT}:, We can expand
determinants to obtain the formulae:

det(AI-Jier)=fl (A-Ay)=p,(A)-b~pn-z(A)+ 2p
j= 1

where pn(A)and pn-,(A) are the characteristic polynomials of J and J" as defined in 0 2.3,
except that 3 is the ( n - 2) x ( n - 2) principal submatrix consisting of rows and columns
2, . . . , n- 1 of J. Subtracting gives
det(Al - J&)= det(Al - J & ) + 4p.
Using this expression, we can rewrite the formula for the vector 6-:

The use of (5.3), (5.4) and (5.6) requires only that the interlacing property (2.1) hold and
that the {pi}:-' be simple.
A survey of matrix inverse eigenvalue problems 617

We can write the sub-blocks of (5.2) and (5.5) corresponding to gTas


[b,,0 , . . . ,0, b,]Q=P
(5.7)
[b,,0,. . . ,0, -b,]Q=6-T.
Subtracting and transposing yield
QTIO,. . . ,0, 2b,]T=2b,QTe,_I=(b-b-).
1 -

This simplifies to
2b,~,-l=b-b-
- - (5.8)
where xT, . . . ,xT- are the n - 1 rows of the matrix Q, If instead we add the two equations
(5.7), we get
2b,xl=h+h-. (5.9)
= IIxn-,ll = 1.
The last two equations determine b , and b, (up to sign) from the fact that (/xlll

5.2. Generation of periodic matrix


At this point, we have enough information to actually generate the periodic Jacobi matrix
we are seeking to compute. The most straightforward algorithm is a simple variation to the
scheme proposed in § 3.4. This scheme was originally adapted from Ferguson (1980).
Algorithm 7. Given the two sets {Ai}: and {pi):-' satisfying (2.1) (with the pi simple), and
the number P, construct a periodic Jacobi matrix Jper(5.1) solving problem P.

1. Compute 6 and 6- from (5.4) and (5.6).


2. Compute the first row xlof the matrix Q of eigenvectors of 5 using (5.9). Also obtain
value forb,.
3. Starting with the vector x, and the set { p i } : - ' , Apply algorithm 1 (Lanczos) to
generate the matrix J. Or we may use the alternate scheme mentioned below.
4. Compute a , from (5.3).
5. Compute b, from (5.8), or else from the relation

b, :=
P
.
b l . . bfl-l'
In step 3, we may instead form the n x n bordered diagonal matrix

where M=diag(pl,. . . ,pn-l) and a l l is a dummy value. In a manner analogous to


the methods for problem J, we may replace the Lanczos algorithm in step 3 and instead
generate J by applying Householder transformations or algorithm 3 (Rutishauser) to this
bordered diagonal matrix.

5.3. Alternate method


We mention briefly an alternate method, usable if the order n of the matrix is even. This
method is derived from the fact that by a suitable permutation, a periodic Jacobi matrix
618 D Boley and G H Golub

may be permuted into a pentadiagonal band matrix (i.e. haCfbandwidth p = 2). Specifically,
if we permute both the rows and columns by the permutation
( 1 , . . . , n ) + ( l , 3 , . . . ,n - 1, n, n - 2 , . . . , 4,2)
the periodic matrix Jperis permuted into a pentadiagonal matrix we will call Jpenta. Let Ope,
and Qpenta be the orthogonal eigenvector matrices of Jperand Jpenta respectively. From the
construction of Jpenta, it follows that the matrix Qpenta can be obtained by simply apply-
ing the above permutation to the rows of CZper. In applying this permutation to J, the
( n - 1) x ( n - 1) submatrix 2 is mapped onto itself.
In order to generate the matrix Jpenta according to the methods of 0 4, we need the first
two rows of Qpenta, which are the same as the first and last rows of Ope,. To clarify the
connection with 0 4, we note that the matrix JPntacorresponds to J'O) in the notation of
0 4,the eigenvector matrix QPnta corresponds to Q@),and the two sets of eigenvalues {Ai}1
and { p i } : - ' correspond to the two sets {I?)}; respectively. Formula (5.9) gives
the first row of Q(l), hence we may use (4.12) to give the first two rows of qenta=Q('),
which are the same as the first and last rows of qe,.
We can now apply algorithm 4 (block Lanczos) to generate Jpenta. However, it is easier
to rearrange the algorithm to generate J,, and Q,, directly. For the remainder of this
section, we denote the rows of Q, by xT, . . . , x:. From the above discussion, we know
the two vectors x1 and IC,.

Algorithm 10 - periodic Lanczos algorithm. Given A = diag(Al, . . . ,I , ) and the two


orthonormal xl, x,, compute a periodic Jacobi matrix Jper(5.1) and an orthogonal matrix
X = [xl . . . x,] such that A = XJXT.
1. begin
2. bo := b , : = x ; f h l
3. a, :=$Ax,
4. f o r i = 1,. . . , n - 1 do
begin
5. a, := xTAxi
6. zi := Axi-xiai-xi-lbi-l
7. compute^^+^, b i s o t h a t ~ ~ + ~ b ~ = z ~ , x ?1+ ~ x ~ + I =
end
end
If the given data for problem P are such that a solution J,, exists, the solution is unique up
to choice of signs for the vectors d'" and 6('),the first rows of Q,, and Q respectively.
Hence algorithm 10 will yield a matrix solving problem P. Boley and Golub (1978,
appendix) show in detail that this algorithm does indeed construct the desired matrix.

6. Miscellaneous problems

In this section, we briefly mention how the methods of this paper can be used to solve
certain miscellaneous inverse problems. We discuss two problems which were studied in
de Boor and Golub (1978):

Problem R (rank one update). Given two strictly increasing sequences { I i } :and {AT}:, with
Ai <A? for all i, compute an n x n Jacobi matrix J with eigenvalues {Ai};, such that if the
1,1 element of J , a l is replaced with a?, the resulting matrix J * will have eigenvalues {A?}7.
A survey of matrix inverse eigenvalue problems 619

Problem S (persymmetric problem). Given a strictly increasing sequence {A,};,construct a


persymmetric Jacobi matrix J having eigenvalues {Ai}?.
A matrix is persymmetric if it is symmetric around its anti-diagonal, i.e.
aij= an- 1 - i , n + z = j .
A persymmetric Jacobi matrix satisfies
ai=an+ 1-i bj= bn-l.
We also study the following problem.
Problem DD (double dimension). Given an n x n Jacobi matrix J, and a set of distinct
eigenvalues {xi}:”,
construct a 2n x 2n Jacobi matrix Jznwhose eigenvalues are the given
values {xi}:”,
and whose leading n x n principal submatrix is exactly J,.

Solution toproblem R . We define the polynomials as in $2.3: letp,(A) a n d ~ , - ~ ( Abe


) the
characteristic polynomials of J and 5, respectively. We also let p:(A) be the characteristic
polynomial of J*. We can expand the determinant of J to obtain the relation (2.11):
Pn(A>=(a1 -Alp,- ,(A>- b!Pn -,(A>* (6.1)
Analogously, we obtain a similar formula for J*:
PW)= (4’-A)P, - i(A) - b?pn- z (A). (6.2)
Subtracting yields
P ~ ( A > - P ~ A ) = (-a?lp,-~(A)=
~, [trace(J>-trace(J*>lp,-l(A)
which we can write directly in terms of the eigenvalues:

The polynomials p n and p ; are known from the given data, and the polynomial p n - can
be computed from (6.3), so we may use formula (2.12) to obtain the first row d of the
matrix of eigenvectors of J. With this information, we may apply any of algorithm 1
(Lanczos), T R E D ~ ,or algorithm 3 (Rutishauser) to generate the matrix J. The quantity a?
may be computed from
a? - a1 = trace(J*) - trace(J)
thus defining J*.

Solution toproblem S. It has been shown (de Boor and Golub 1978, lemma 2) that

pn-1(Aj)jn-l(Aj>=[bl.. b n - 1 l Z ~ y 2 . j = 1 , . . . ,n (6.4)
where y is a constant, and p n - l and j n - l are, the characteristic polynomials of the lower
and upper, respectively, ( n - 1) x ( n - 1) principal submatrices of J, i.e. the submatrices
obtained by deleting the first row and column or the last row and column, respectively. For
persymmetric J, p n - 1 =jn-1 , so we have

Pn- l ( A j > = +Y j = 1 , . . . , n. (6.5)


We use these equalities to compute the vector d in (2.12). The denominator of (2.12) is
determined by the given data {Ai}?and can also be written as in (2.9). We pick the signs of
y to make (2.12) positive for each j . In using (2.12), we do not need to know the polynomial
620 D Boley and G H Golub

p n - l ; all we need are the specific values (6.5) at the given points A j , j = 1,. ., n. In fact,
we do not need to know y itself; we can use (2.12) to compute the values d $ up to a scalar
.
multiple and then scale the vector d to have norm 1: d : + . . + d: = 1. As in the solution
for problem R, we now have sufficient information to apply any of the algorithms of Q 3 to
generate J. If such a solution exists, we are guaranteed by the uniqueness result
(proposition 2(a)) that the matrices generated using this intermediate data will indeed solve
problem S.

Solution to problem DD. We derive the solution in terms of the relationship to gaussian
quadrature discussed in Q 2.3. In fact, this problem corresponds exactly to the problem of
computing the Gauss quadrature formula of order 2n (exact for polynomials of degree up to
4n- l), given the formula of order n (exact for polynomials of degree up to 2n- 1). Since
both formulae are exact for polynomials of degree up to n, the first n moments (2.20) from
either formula must agree:
2n
2 Wsg=mk= c GiX:
s= 1 i= 1
(6.6)

where ws,A, are the weights and nodes for the formula of order n, respectively, and Gi, xi
are the same for the formula of order 2n. Here, the Xi are the given values, and the A,, w,
can be computed easily from the given J,, where the w sare obtained from the eigenvectors
of J n by (2.19). It remains to solve for the Wi.If the Wiare positive, then by (2.19) they give
the leading components of the eigenvectors of J2n. One can then apply any of the methods
discussed in 5 3 to finally generate the Jacobi matrix J2,. Hence we have solved problem
DD if we can find a positive solution Wi, i = 1, . . . ,2n, to the system of equations (6.6).
The system of equations (6.6) is linear in the Zi, but is very ill-conditioned. Therefore,
instead of solving it by a standard linear system solver, we follow the suggestions of
de Boor (1 98 1) based on the use of Lagrange interpolation. It is well known (see e.g. Conte
and de Boor 1980) that if one interpolates a function f( x ) at the m nodes z l , . . . ,z, using
the Lagrange interpolating polynomials, one obtains the formula

(6.7)
j#i

where equality is exact if f is a polynomial of degree at most m. To solve (6.6), we set


m 2n, set the knots to be zi=Ai i = 1,. . . , 2 n , and set the function to be f ( x ) = x k . In
this case (6.7) becomes

j#i

Setting x=&, s = 1, . . , , n, the eigenvalues of J,, we obtain the formula

i= 1
where

(6.9)
j#i
A survey of matrix inverse eigenvalue problems 62 1

From (6.8) we form the weighted sum of the At to obtain the formula

From this formula, it is easy to see that the solution to the system of equations (6.6) is
given by n
Gi= Wse,, (6.10)
s=l

where the 8,i are defined by (6.9). Thus, if the Gi are positive, they define the first
components of the eigenvectors of JZn:
q:, = Gi.
We then have sufficient information to apply any of the algorithms of 9 3 to obtain JZn:
algorithm 1 (Lanczos), TREDZ, or algorithm 3 (Rutishauser). Note, we have not given
conditions under which a solution exists, but our procedure will yield positive values for the
weights iCi if and only if a solution exists.

Acknowledgments

A preliminary version of this report was issued as a technical report of the Computer
Science Department, University of Minnesota, TR86-20, May 1986.
DB was partially supported by NSF Grants DCR-8420935 and DCR-85 19029 and
G H G was partially supported by NSF Grant DCR-84 12314.
We have benefited greatly from discussions and communications with Victor Barcilon,
Carl de Boor, Ole Hald and John Thompson.

References

Biegler-Konig F W 198 1 Construction of band matrices from spectral data Lin. Alg. Appl. 40 79-84
Boley D L and Golub G H 1977 Inverse eigenvalue problems for band matrices Lecture Notes on
Mathematics, Numerical Analysis (Berlin: Springer)
-1978 The matrix inverse eigenvalue problem for periodic matrices ConJ on Basic Problems of Numerical
Analysis (LZBLZCE ZV) Pilsen, Czechoslovakia Invited papers (Prague: Czechoslovakian Academy of
Sciences) pp 63-78
-1984 A modified method for reconstructing periodic Jacobi matrices Math. Comput. 24 143-50
de Boor C 1981 personal communication
de Boor C and Golub G H 1978 The numerically stable reconstruction of a Jacobi matrix from spectral data
Lin. Alg. Appl. 21 245-60
Conte S D and de Boor C 1980 Elementary Numerical Analysis; A n Algorithmic Approach 3rd edn (New
York: McGraw Hill)
Dongarra J, Bunch J R, Moler C B and Stewart G W 1978 LZNPACK User’s Guide (Philadelphia, PA: SIAM)
Ferguson W Jr 1980 The construction of Jacobi and periodic Jacobi matrices with prescribed spectra Math.
Comput. 35 79-84
Friedland S, Nocedal J and Overton M L 1987 The formation and analysis of numerical methods for inverse
eigenvalue problems SIAM J. Num. Anal. 24 634-67
Gladwell G M L 1984 The inverse problem for the vibrating beam Proc. R . Soc. A 393 277-95
-1986 The inverse mode problem for lumped-mass systems Q. J . Mech. Appl. Math. 39 297-307
Gladwell G M L and Gbadeyan J A 1985 On the inverse problem of the vibrating string or rod Q. J. Mech.
Appl. Math. 38 169-74
Golub G H 1973 Some modified eigenvalue problems SZAMRev. 15 318-34
622 D Bole)) and G H Golub

Golub G H and Van Loan C 1983 Matrix Computations (Baltimore: Johns Hopkins University Press)
Golub G H and Welsch J H 1969 Calculation of Gauss quadrature rules Math. Comput. 23 221-30
Gragg W B and Harrod W J 1984 The numerically stable reconstruction of Jacobi matrices from spectral data
Numer. Math. 44 3 17-35
Grunbaum F A 1980a An inverse spectral problem for band matrices Report PAM-IO (Center for Pure and
Applied Mathematics, University of California. Berkeley)
- 1980b Role of strict interlacing in inverse eigenvalue problems Report PAM-8 (Center for Pure and
Applied Mathematics, University of California, Berkeley)
Hald 0 1976 Inverse eigenvalue problems for Jacobi matrices Lin. Alg. Appl. 14 63-85
Hochstadt H 1974 On construction of a Jacobi matrix from spectral data Lin. Alg. Appl. 8 435-46
Horowitz E and Sahni S 1984 Fundamentals of Computer Algorithms (Rockville, MD: Computer Science
Press)
Paine J 1984 A numerical method for the inverse Sturm-Liouville problem SIAM J. Sci. Stat. Comput. 5
149-56
Parker R L and Whaler K A 1981 Numerical-methods for establishing solutions to the inverse problem of
electromagnetic induction J . Geophys. Res. 86 9574-84
Parlett B N 1980 The Symmetric Eigenvalue Problem (Englewood Cliffs, NJ: Prentice Hall)
Rutishauser H 1963 On Jacobi rotation patterns; Experimental Arithmetic, High Speed Computing and
Mathematics, Proc. Symp. Appl. Math. 15 (American Mathematics Society) pp 2 19-39
Smith B T, Boyle J M, Ikebe Y, Klema V C and Moler C B 1970 Matrix Eigenvalue Routines, EISPACK
Guide 2nd edn (New York: Springer)
Stewart G W 1973 Introduction to Matrix Computations (New York: Academic)
Sussman-Fort S E 1982 A numerical design procedure for general canonic LC one-ports ZEEE Trans. Circuits
and Systems CS-29 633-8
Thompson J 1977 personal communication

Вам также может понравиться