Page 121 - Compact Numerical Methods For Computers
P. 121
110 Compact numerical methods for computers
The subdiagonal elements m are left in place after the Gauss elimination step.
ij
and the upper-triangular matrix R forms the upper triangle of the working array.
Then the inverse iteration step (9.10a) involves the forward-substitution
Lv = Px i (9.23)
and back-substitution
Ry = v. (9.25)
i
The latter substitution step has been treated before. but the former is simplified by
the ones on the diagonal of L so that
(9.26)
(9.27)
The calculation can be arranged so that u is not needed. that is so x and y are the
only working vectors needed.
9.4. EIGENSOLUTIONS OF NON-SYMETRIC AND
COMPLEX MATRICES
The algebraic eigenvalue problem is considerably more difficult to solve when the
matrix A is non-cymmetric or complex. If the matrix is Hermitian. that is. if the
complex-conjugate transpose of A is equal to A, the eigenvalues are then real and
methods for real symmetric matrices can easily be extended to solve this case
(Nash 1974). However, in general, it is possible for the matrix to be defective,
that is, have less than n eigenvectors. and the problem may be ill conditioned in
that the eigenvalues may be highly sensitive to small changes in the matrix
elements. The procedures which have been published for this problem are, by and
large, long. They must, after all, contend with the possibility of complex eigen-
values and eigenvectors. On a small machine, the space which must be allocated
for these very rapidly exhausts the memory available, since where previously one
space was required, two must now be reserved and the corresponding program
code is more than doubled in length to handle the arithmetic.
Fortunately, such matrices occur rarely in practice. For both real and complex
cases I have used a direct translation of Eberlein’s ALGOL program comeig
(Wilkinson and Reinsch 1971). This uses a generalisation of the Jacobi algorithm
and I have found it to function well. One point which is not treated in Eberlein’s
discussion is that the eigenvectors can all be multiplied by any complex number, c,
and still be eigenvectors. In the real symmetric case all arithmetic is in the real
domain and by normalisation of the eigenvectors the results of a computation can
be standardised with the exception of eigenvectorc corresponding to multiple
eigenvalues. In the complex case. however, the eigenvector
x + iy (9.28)