ZLAQGB  -  equilibrate a general M by N band matrix A with
       KL subdiagonals and KU superdiagonals using  the  row  and
       scaling factors in the vectors R and C


SYNOPSIS

       SUBROUTINE ZLAQGB( M,  N,  KL, KU, AB, LDAB, R, C, ROWCND,
                          COLCND, AMAX, EQUED )

           CHARACTER      EQUED

           INTEGER        KL, KU, LDAB, M, N

           DOUBLE         PRECISION AMAX, COLCND, ROWCND

           DOUBLE         PRECISION C( * ), R( * )

           COMPLEX*16     AB( LDAB, * )


PURPOSE

       ZLAQGB equilibrates a general M by N band matrix A with KL
       subdiagonals and KU superdiagonals using the row and scal­
       ing factors in the vectors R and C.


ARGUMENTS

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

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

       KL      (input) INTEGER
               The number of subdiagonals within the band  of  A.
               KL >= 0.

       KU      (input) INTEGER
               The number of superdiagonals within the band of A.
               KU >= 0.

       AB      (input/output) COMPLEX*16 array, dimension
               (LDAB,N)
               On  entry, the matrix A in band storage, in rows 1
               to KL+KU+1.  The j-th column of A is stored in the
               j-th column of the array AB as follows: AB(ku+1+i-
               j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)

               On exit, the  equilibrated  matrix,  in  the  same
               storage  format  as  A.  See EQUED for the form of
               the equilibrated matrix.

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

               The row scale factors for A.

       C       (output) DOUBLE PRECISION array, dimension (N)
               The column scale factors for A.

       ROWCND  (output) DOUBLE PRECISION
               Ratio of the smallest R(i) to the largest R(i).

       COLCND  (output) DOUBLE PRECISION
               Ratio of the smallest C(i) to the largest C(i).

       AMAX    (input) DOUBLE PRECISION
               Absolute value of largest matrix entry.

       EQUED   (output) CHARACTER*1
               Specifies the form of equilibration that was done.
               = 'N':  No equilibration
               = 'R':  Row equilibration, i.e., A has  been  pre­
               multiplied  by diag(R).  = 'C':  Column equilibra­
               tion, i.e., A has been postmultiplied by  diag(C).
               = 'B':  Both row and column equilibration, i.e., A
               has been replaced by diag(R) * A * diag(C).


PARAMETERS

       THRESH is a threshold value used to decide if row or  col­
       umn  scaling  should be done based on the ratio of the row
       or column scaling factors.  If ROWCND < THRESH, row  scal­
       ing  is  done,  and  if COLCND < THRESH, column scaling is
       done.

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


Man(1) output converted with man2html