CLATRZ(3)      LAPACK routine of NEC Numeric Library Collection      CLATRZ(3)



NAME
       CLATRZ

SYNOPSIS
       SUBROUTINE CLATRZ (M, N, L, A, LDA, TAU, WORK)



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




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

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

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

           A         (input/output)
                     A is COMPLEX 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
                     unitary matrix Z as a product of M elementary reflectors.

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

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

           WORK      (output)
                     WORK is COMPLEX array, dimension (M)








FURTHER DETAILS
             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 )**H,   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 elements 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 ).



LAPACK routine                  31 October 2017                      CLATRZ(3)