Page 108 - Compact Numerical Methods For Computers
P. 108

The symmetric positive definite matrix again         97
                          8.2. THE GAUSS-JORDAN ALGORITHM FOR THE INVERSE
                                OF A SYMMETRIC POSITIVE DEFINITE MATRIX
                      Bauer and Reinsch (in Wilkinson and Reinsch 1971, p 45) present a very compact
                      algorithm for inverting a positive definite symmetric matrix in situ, that is,
                      overwriting itself. The principal advantages of this algorithm are as follows.
                      (i) No pivoting is required. This is a consequence of positive definiteness and
                      symmetry. Peters and Wilkinson (1975) state that this is ‘well known’, but I
                      believe the full analysis is as yet unpublished.
                      (ii) Only a triangular portion of the matrix need be stored due to symmetry,
                      though a working vector of length n, where n is the order of the matrix, is needed.

                        The algorithm is simply the substitution procedure outlined above. The
                      modifications which are possible due to symmetry and positive definiteness,
                      however, cause the computational steps to look completely different.
                        Consider an intermediate situation in which the first k of the elements x and b
                      have been exchanged in solving

                                                       Ax = b                             (8.6)

                      by the Gauss-Jordan algorithm. At this stage the matrix of coefficients will have
                      the form
                                                        W X
                                                        Y   Z                             (8.7)

                      with W, k by k; X, k by (n – k); Y, (n – k) by k; and Z, (n – k) by (n – k). Then W
                      is the inverse of the corresponding block of A since the equations (8.6) are now
                      given by their equivalents

                                                                                          (8.8)


                      Thus by setting x  = 0, for j = (k + 1), (k + 2), . . . , n, in both (8.6) and (8.8) the
                                      j
                      required association of W and the leading k by k block of A -1  is established.
                      Likewise, by setting b  = 0, for j = 1, . . . , k, in (8.6) and (8.8), Z is the inverse of
                                          j    -l
                      the corresponding block of A . (Note that W and Z are symmetric because A and
                      A -1  are symmetric.)
                        From these results, W and Z are both positive definite for all k since A is
                      positive definite. This means that the diagonal elements needed as pivots in the
                      Gauss-Jordan steps are always positive. (This follows directly from the definition
                                                            T
                      of positive definiteness for A, that is, that x Ax > 0 for all x  0. )
                        In order to avoid retaining elements above or below the diagonal in a program,
                      we need one more result. This is that

                                                            T
                                                      Y = –X                              (8.9)
                      in matrix (8.7). This can be proved by induction using the Gauss-Jordan
   103   104   105   106   107   108   109   110   111   112   113