CGBEQU(3)                  MathKeisan LAPACK routine                 CGBEQU(3)



NAME
       CGBEQU - row and column scalings intended to equilibrate an M-by-N band
       matrix A and reduce its condition number

SYNOPSIS
       SUBROUTINE CGBEQU( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND,  AMAX,
                          INFO )

           INTEGER        INFO, KL, KU, LDAB, M, N

           REAL           AMAX, COLCND, ROWCND

           REAL           C( * ), R( * )

           COMPLEX        AB( LDAB, * )

PURPOSE
       CGBEQU  computes  row and column scalings intended to equilibrate an M-
       by-N band matrix A and reduce its condition number.  R returns the  row
       scale factors and C the column scale factors, chosen to try to make the
       largest element in each row and column of the matrix  B  with  elements
       B(i,j)=R(i)*A(i,j)*C(j) have absolute value 1.

       R(i)  and C(j) are restricted to be between SMLNUM = smallest safe num-
       ber and BIGNUM = largest safe number.  Use of these scaling factors  is
       not  guaranteed  to  reduce the condition number of A but works well in
       practice.


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) COMPLEX array, dimension (LDAB,N)
               The band matrix A, stored in rows 1 to KL+KU+1.  The j-th  col-
               umn  of  A is stored in the j-th column of the array AB as fol-
               lows: AB(ku+1+i-j,j) = A(i,j) for  max(1,j-ku)<=i<=min(m,j+kl).

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

       R       (output) REAL array, dimension (M)
               If  INFO = 0, or INFO > M, R contains the row scale factors for
               A.

       C       (output) REAL array, dimension (N)
               If INFO = 0, C contains the column scale factors for A.

       ROWCND  (output) REAL
               If INFO = 0 or INFO > M,  ROWCND  contains  the  ratio  of  the
               smallest  R(i)  to the largest R(i).  If ROWCND >= 0.1 and AMAX
               is neither too large nor too small, it is not worth scaling  by
               R.

       COLCND  (output) REAL
               If  INFO = 0, COLCND contains the ratio of the smallest C(i) to
               the largest C(i).  If COLCND >= 0.1, it is not worth scaling by
               C.

       AMAX    (output) REAL
               Absolute  value  of  largest  matrix  element.  If AMAX is very
               close to overflow or very close to underflow, the matrix should
               be scaled.

       INFO    (output) INTEGER
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an illegal value
               > 0:  if INFO = i, and i is
               <= M:  the i-th row of A is exactly zero
               >  M:  the (i-M)-th column of A is exactly zero



 LAPACK routine (version 3.1)    November 2006                       CGBEQU(3)