Page 65 - Compact Numerical Methods For Computers
P. 65

54                Compact numerical methods for computers
                                 4.3. EXTENSION TO A SINGULAR-VALUE DECOMPOSITION

                             In order to determine if linear dependencies are present, it is possible to extend
                             the Givens’ reduction and compute a singular-value decomposition by ortho-
                             gonalising the rows of R by plane rotations which act from the left. It is not
                             necessary to accumulate the transformations in a matrix U; instead they can be
                                               T
                             applied directly to Q b, in fact, to the first n elements of this vector which form
                             d . The rotations can be thought of as acting all at once as the orthogonal matrix
                              1
                              T
                             P . Applying this to equation (4.14) gives
                                                           T       T
                                                          P Rx = P d 1  = f.                   (4.15)
                                                  T
                             However, the rows of P R are orthogonal, that is
                                                              T
                                                            P R = SV  T                         (4.16)
                             with
                                                              T       2
                                                           SV VS = S .                          (3.17)
                               Combining the Givens’ reduction and orthogonalisation steps gives

                                                      T
                                                         T
                                                    P Q A = P T                                 (4.18)
                             or
                                                                                                (4.19)

                             which is a singular-value decomposition.
                               As in the case of the columnwise orthogonalisation, small singular values (i.e.
                                      T
                             rows of P R having small norm) will cause V to possess some unnormalised rows
                             having essentially zero elements. In this case (4.17) will not be correct. since

                                                                                                (4.20)

                             where k is the number of singular values larger than some pre-assigned tolerance
                             for zero. Since in the solution of least-squares problems these rows always act
                                                      +
                             only in products with S or S , this presents no great difficulty to programming an
                             algorithm using the above Givens’ reduction/row orthogonalisation method.

                                            4.4. SOME LABOUR-SAVING DEVICES

                             The above method is not nearly so complicated to implement as it may appear.
                             Firstly, all the plane rotations are row-wise for both the Givens’ reduction and the
                             orthogonalisation. Moreover, one or more (say g) vectors b can be concatenated
                             with the matrix A so that rotations do not have to be applied separately to these,
                             but appear to act on a single matrix.
                               The second observation which reduces the programming effort is that the rows
                             of this matrix (A, b) are needed only one at a time. Consider a working array
   60   61   62   63   64   65   66   67   68   69   70