CUNGHR  -  generate  a  complex  unitary matrix Q which is
       defined as the product of IHI-ILO elementary reflectors of
       order N, as returned by CGEHRD


SYNOPSIS

       SUBROUTINE CUNGHR( N,  ILO, IHI, A, LDA, TAU, WORK, LWORK,
                          INFO )

           INTEGER        IHI, ILO, INFO, LDA, LWORK, N

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


PURPOSE

       CUNGHR generates a  complex  unitary  matrix  Q  which  is
       defined as the product of IHI-ILO elementary reflectors of
       order N, as returned by CGEHRD: Q = H(ilo) H(ilo+1) . .  .
       H(ihi-1).


ARGUMENTS

       N       (input) INTEGER
               The order of the matrix Q. N >= 0.

       ILO     (input) INTEGER
               IHI      (input) INTEGER ILO and IHI must have the
               same values as in the previous call of  CGEHRD.  Q
               is  equal  to the unit matrix except in the subma­
               trix Q(ilo+1:ihi,ilo+1:ihi).  1 <= ILO <=  IHI  <=
               N, if N > 0; ILO=1 and IHI=0, if N=0.

       A       (input/output) COMPLEX array, dimension (LDA,N)
               On  entry, the vectors which define the elementary
               reflectors, as returned by CGEHRD.  On  exit,  the
               N-by-N unitary matrix Q.

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

       TAU     (input) COMPLEX array, dimension (N-1)
               TAU(i) must contain the scalar factor of the  ele­
               mentary reflector H(i), as returned by CGEHRD.

       WORK    (workspace/output) COMPLEX array, dimension
               (LWORK)
               On exit, if INFO = 0, WORK(1) returns the  optimal
               LWORK.

       LWORK   (input) INTEGER
               The dimension of the array WORK. LWORK >= IHI-ILO.
               For optimum  performance  LWORK  >=  (IHI-ILO)*NB,
               where NB is the optimal blocksize.

               the routine only calculates the  optimal  size  of
               the  WORK  array,  returns this value as the first
               entry of the WORK  array,  and  no  error  message
               related to LWORK is issued by XERBLA.

       INFO    (output) INTEGER
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille­
               gal value


Man(1) output converted with man2html