SLATRZ  -  factor  the  M-by-(M+L)  real upper trapezoidal
       matrix [ A1 A2 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R  0
       ) * Z, by means of orthogonal transformations


SYNOPSIS

       SUBROUTINE SLATRZ( M, N, L, A, LDA, TAU, WORK )

           INTEGER        L, LDA, M, N

           REAL           A( LDA, * ), TAU( * ), WORK( * )


PURPOSE

       SLATRZ  factors  the  M-by-(M+L)  real  upper  trapezoidal
       matrix [ A1 A2 ] = [ A(1:M,1:M) A(1:M,N-L+1:N) ] as ( R  0
       )  *  Z,  by  means of orthogonal transformations. Z is an
       (M+L)-by-(M+L) orthogonal matrix and, R and A1 are  M-by-M
       upper triangular matrices.


ARGUMENTS

       M       (input) INTEGER
               The number of rows of the matrix A.  M >= 0.

       N       (input) INTEGER
               The number of columns of the matrix A.  N >= 0.

       L       (input) INTEGER
               The  number  of columns of the matrix A containing
               the meaningful part of the Householder vectors. N-
               M >= L >= 0.

       A       (input/output) REAL array, dimension (LDA,N)
               On  entry,  the  leading  M-by-N upper trapezoidal
               part of the array A must contain the matrix to  be
               factorized.   On  exit,  the  leading M-by-M upper
               triangular part of A contains the upper triangular
               matrix  R,  and elements N-L+1 to N of the first M
               rows of A,  with  the  array  TAU,  represent  the
               orthogonal  matrix  Z as a product of M elementary
               reflectors.

       LDA     (input) INTEGER
               The leading dimension of  the  array  A.   LDA  >=
               max(1,M).

       TAU     (output) REAL array, dimension (M)
               The scalar factors of the elementary reflectors.

       WORK    (workspace) REAL array, dimension (M)


FURTHER DETAILS

       Based on contributions by
         A.  Petitet,  Computer  Science  Dept.,  Univ. of Tenn.,


       The factorization is  obtained  by  Householder's  method.
       The  kth  transformation  matrix, Z( k ), which is used to
       introduce zeros into the ( m - k + 1  )th  row  of  A,  is
       given in the form

          Z( k ) = ( I     0   ),
                   ( 0  T( k ) )

       where

          T( k ) = I - tau*u( k )*u( k )',   u( k ) = (   1    ),
                                                      (   0    )
                                                      ( z( k ) )

       tau is a scalar and z( k ) is an l element vector. tau and
       z(  k  )  are chosen to annihilate the elements of the kth
       row of A2.

       The scalar tau is returned in the kth element of  TAU  and
       the vector u( k ) in the kth row of A2, such that the ele­
       ments of z( k ) are in  a( k, l + 1 ), ..., a( k, n ). The
       elements of R are returned in the upper triangular part of
       A1.

       Z is given by

          Z =  Z( 1 ) * Z( 2 ) * ... * Z( m ).


Man(1) output converted with man2html