CLAHQR - i an auxiliary routine called by CHSEQR to update
       the eigenvalues and Schur decomposition  already  computed
       by  CHSEQR,  by  dealing  with the Hessenberg submatrix in
       rows and columns ILO to IHI


SYNOPSIS

       SUBROUTINE CLAHQR( WANTT, WANTZ, N, ILO, IHI, H,  LDH,  W,
                          ILOZ, IHIZ, Z, LDZ, INFO )

           LOGICAL        WANTT, WANTZ

           INTEGER        IHI, IHIZ, ILO, ILOZ, INFO, LDH, LDZ, N

           COMPLEX        H( LDH, * ), W( * ), Z( LDZ, * )


PURPOSE

       CLAHQR is an auxiliary routine called by CHSEQR to  update
       the  eigenvalues  and Schur decomposition already computed
       by CHSEQR, by dealing with  the  Hessenberg  submatrix  in
       rows and columns ILO to IHI.


ARGUMENTS

       WANTT   (input) LOGICAL
               = .TRUE. : the full Schur form T is required;
               = .FALSE.: only eigenvalues are required.

       WANTZ   (input) LOGICAL
               =  .TRUE.  :  the  matrix  of  Schur  vectors Z is
               required;
               = .FALSE.: Schur vectors are not required.

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

       ILO     (input) INTEGER
               IHI     (input) INTEGER It is assumed  that  H  is
               already  upper  triangular  in  rows  and  columns
               IHI+1:N, and that H(ILO,ILO-1) = 0 (unless  ILO  =
               1).   CLAHQR  works  primarily with the Hessenberg
               submatrix in rows and  columns  ILO  to  IHI,  but
               applies  transformations  to  all of H if WANTT is
               .TRUE..  1 <= ILO <= max(1,IHI); IHI <= N.

       H       (input/output) COMPLEX array, dimension (LDH,N)
               On entry, the upper Hessenberg matrix H.  On exit,
               if  WANTT is .TRUE., H is upper triangular in rows
               and columns  ILO:IHI,  with  any  2-by-2  diagonal
               blocks  in standard form. If WANTT is .FALSE., the
               contents of H are unspecified on exit.

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

               The  computed eigenvalues ILO to IHI are stored in
               the corresponding  elements  of  W.  If  WANTT  is
               .TRUE.,  the  eigenvalues  are  stored in the same
               order  as  on  the  diagonal  of  the  Schur  form
               returned in H, with W(i) = H(i,i).

       ILOZ    (input) INTEGER
               IHIZ     (input)  INTEGER Specify the rows of Z to
               which transformations must be applied if WANTZ  is
               .TRUE..  1 <= ILOZ <= ILO; IHI <= IHIZ <= N.

       Z       (input/output) COMPLEX array, dimension (LDZ,N)
               If  WANTZ  is  .TRUE., on entry Z must contain the
               current matrix Z of transformations accumulated by
               CHSEQR,  and on exit Z has been updated; transfor­
               mations  are  applied  only   to   the   submatrix
               Z(ILOZ:IHIZ,ILO:IHI).   If  WANTZ is .FALSE., Z is
               not referenced.

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

       INFO    (output) INTEGER
               = 0: successful exit
               > 0: if INFO = i, CLAHQR failed to compute all the
               eigenvalues ILO to IHI  in  a  total  of  30*(IHI-
               ILO+1)  iterations;  elements i+1:ihi of W contain
               those eigenvalues  which  have  been  successfully
               computed.


Man(1) output converted with man2html