CLAHRD  - reduce the first NB columns of a complex general
       n-by-(n-k+1) matrix A so that elements below the k-th sub­
       diagonal are zero


SYNOPSIS

       SUBROUTINE CLAHRD( N, K, NB, A, LDA, TAU, T, LDT, Y, LDY )

           INTEGER        K, LDA, LDT, LDY, N, NB

           COMPLEX        A( LDA, * ), T( LDT, NB ), TAU(  NB  ),
                          Y( LDY, NB )


PURPOSE

       CLAHRD  reduces  the first NB columns of a complex general
       n-by-(n-k+1) matrix A so that elements below the k-th sub­
       diagonal are zero. The reduction is performed by a unitary
       similarity transformation Q' * A * Q. The routine  returns
       the  matrices V and T which determine Q as a block reflec­
       tor I - V*T*V', and also the matrix Y = A * V * T.

       This is an auxiliary routine called by CGEHRD.


ARGUMENTS

       N       (input) INTEGER
               The order of the matrix A.

       K       (input) INTEGER
               The offset for the reduction. Elements  below  the
               k-th  subdiagonal  in  the  first  NB  columns are
               reduced to zero.

       NB      (input) INTEGER
               The number of columns to be reduced.

       A       (input/output) COMPLEX array, dimension (LDA,N-
               K+1)
               On  entry,  the n-by-(n-k+1) general matrix A.  On
               exit, the elements on and above the k-th subdiago­
               nal  in  the first NB columns are overwritten with
               the corresponding elements of the reduced  matrix;
               the  elements below the k-th subdiagonal, with the
               array TAU, represent the matrix Q as a product  of
               elementary  reflectors. The other columns of A are
               unchanged. See Further Details.   LDA      (input)
               INTEGER The leading dimension of the array A.  LDA
               >= max(1,N).

       TAU     (output) COMPLEX array, dimension (NB)
               The scalar factors of the  elementary  reflectors.
               See Further Details.

               The upper triangular matrix T.

       LDT     (input) INTEGER
               The  leading dimension of the array T.  LDT >= NB.

       Y       (output) COMPLEX array, dimension (LDY,NB)
               The n-by-nb matrix Y.

       LDY     (input) INTEGER
               The leading dimension  of  the  array  Y.  LDY  >=
               max(1,N).


FURTHER DETAILS

       The  matrix Q is represented as a product of nb elementary
       reflectors

          Q = H(1) H(2) . . . H(nb).

       Each H(i) has the form

          H(i) = I - tau * v * v'

       where tau is a complex scalar, and v is a  complex  vector
       with  v(1:i+k-1)  = 0, v(i+k) = 1; v(i+k+1:n) is stored on
       exit in A(i+k+1:n,i), and tau in TAU(i).

       The elements of  the  vectors  v  together  form  the  (n-
       k+1)-by-nb  matrix  V  which  is  needed, with T and Y, to
       apply the transformation to  the  unreduced  part  of  the
       matrix,  using  an update of the form: A := (I - V*T*V') *
       (A - Y*V').

       The contents of A on exit are illustrated by the following
       example with n = 7, k = 3 and nb = 2:

          ( a   h   a   a   a )
          ( a   h   a   a   a )
          ( a   h   a   a   a )
          ( h   h   a   a   a )
          ( v1  h   a   a   a )
          ( v1  v2  a   a   a )
          ( v1  v2  a   a   a )

       where  a  denotes  an  element of the original matrix A, h
       denotes a modified element of the upper Hessenberg  matrix
       H,  and vi denotes an element of the vector defining H(i).


Man(1) output converted with man2html