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)
   116   117   118   119   120   121   122   123   124   125   126