CLAQHB  -  equilibrate a symmetric band matrix A using the
       scaling factors in the vector S


SYNOPSIS

       SUBROUTINE CLAQHB( UPLO, N, KD, AB, LDAB, S, SCOND,  AMAX,
                          EQUED )

           CHARACTER      EQUED, UPLO

           INTEGER        KD, LDAB, N

           REAL           AMAX, SCOND

           REAL           S( * )

           COMPLEX        AB( LDAB, * )


PURPOSE

       CLAQHB  equilibrates  a  symmetric band matrix A using the
       scaling factors in the vector S.


ARGUMENTS

       UPLO    (input) CHARACTER*1
               Specifies whether the upper  or  lower  triangular
               part  of the symmetric matrix A is stored.  = 'U':
               Upper triangular
               = 'L':  Lower triangular

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

       KD      (input) INTEGER
               The number of super-diagonals of the matrix  A  if
               UPLO = 'U', or the number of sub-diagonals if UPLO
               = 'L'.  KD >= 0.

       AB      (input/output) COMPLEX array, dimension (LDAB,N)
               On entry, the upper or lower triangle of the  sym­
               metric  band  matrix  A,  stored in the first KD+1
               rows of the array.  The j-th column of A is stored
               in  the j-th column of the array AB as follows: if
               UPLO = 'U', AB(kd+1+i-j,j) = A(i,j)  for  max(1,j-
               kd)<=i<=j;  if UPLO = 'L', AB(1+i-j,j)    = A(i,j)
               for j<=i<=min(n,j+kd).

               On exit, if INFO = 0, the triangular factor U or L
               from  the  Cholesky  factorization A = U'*U or A =
               L*L' of the band matrix A,  in  the  same  storage
               format as A.

       LDAB    (input) INTEGER
               The  leading  dimension  of the array AB.  LDAB >=
               KD+1.

               The scale factors for A.

       SCOND   (input) REAL
               Ratio of the smallest S(i) to the largest S(i).

       AMAX    (input) REAL
               Absolute value of largest matrix entry.

       EQUED   (output) CHARACTER*1
               Specifies whether or not equilibration  was  done.
               = 'N':  No equilibration.
               =  'Y':   Equilibration was done, i.e., A has been
               replaced by diag(S) * A * diag(S).


PARAMETERS

       THRESH is a threshold value  used  to  decide  if  scaling
       should  be done based on the ratio of the scaling factors.
       If SCOND < THRESH, scaling is done.

       LARGE and SMALL are threshold values  used  to  decide  if
       scaling  should  be done based on the absolute size of the
       largest matrix element.  If AMAX > LARGE or AMAX <  SMALL,
       scaling is done.


Man(1) output converted with man2html