DPBEQU - compute row and column scalings intended to equi­
       librate a symmetric positive definite band  matrix  A  and
       reduce its condition number (with respect to the two-norm)


SYNOPSIS

       SUBROUTINE DPBEQU( UPLO, N, KD, AB, LDAB, S, SCOND,  AMAX,
                          INFO )

           CHARACTER      UPLO

           INTEGER        INFO, KD, LDAB, N

           DOUBLE         PRECISION AMAX, SCOND

           DOUBLE         PRECISION AB( LDAB, * ), S( * )


PURPOSE

       DPBEQU  computes row and column scalings intended to equi­
       librate a symmetric positive definite band  matrix  A  and
       reduce  its  condition  number  (with  respect to the two-
       norm).   S   contains   the   scale   factors,   S(i)    =
       1/sqrt(A(i,i)),  chosen  so  that the scaled matrix B with
       elements B(i,j) = S(i)*A(i,j)*S(j) has ones on the  diago­
       nal.   This  choice  of  S  puts the condition number of B
       within a factor N of the smallest possible condition  num­
       ber over all possible diagonal scalings.


ARGUMENTS

       UPLO    (input) CHARACTER*1
               = 'U':  Upper triangular of A is stored;
               = 'L':  Lower triangular of A is stored.

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

       KD      (input) INTEGER
               The  number  of  superdiagonals of the matrix A if
               UPLO = 'U', or the number of subdiagonals if  UPLO
               = 'L'.  KD >= 0.

       AB      (input) DOUBLE PRECISION array, dimension (LDAB,N)
               The upper or lower triangle of the symmetric  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).

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

               If INFO = 0, S contains the scale factors for A.

       SCOND   (output) DOUBLE PRECISION
               If  INFO = 0, S contains the ratio of the smallest
               S(i) to the largest S(i).  If  SCOND  >=  0.1  and
               AMAX is neither too large nor too small, it is not
               worth scaling by S.

       AMAX    (output) DOUBLE PRECISION
               Absolute value of largest matrix element.  If AMAX
               is  very close to overflow or very close to under­
               flow, the matrix should be scaled.

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


Man(1) output converted with man2html