ZGEEQU - compute row and column scalings intended to equi­
       librate an M-by-N matrix A and reduce its condition number


SYNOPSIS

       SUBROUTINE ZGEEQU( M,  N,  A,  LDA,  R, C, ROWCND, COLCND,
                          AMAX, INFO )

           INTEGER        INFO, LDA, M, N

           DOUBLE         PRECISION AMAX, COLCND, ROWCND

           DOUBLE         PRECISION C( * ), R( * )

           COMPLEX*16     A( LDA, * )


PURPOSE

       ZGEEQU computes row and column scalings intended to  equi­
       librate  an  M-by-N matrix A and reduce its condition num­
       ber. 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 = small­
       est safe number and BIGNUM = largest safe number.  Use  of
       these scaling factors is not guaranteed to reduce the con­
       dition 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.

       A       (input) COMPLEX*16 array, dimension (LDA,N)
               The M-by-N matrix whose equilibration factors  are
               to be computed.

       LDA     (input) INTEGER
               The  leading  dimension  of  the  array A.  LDA >=
               max(1,M).

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

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

               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) DOUBLE PRECISION
               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) 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,  and i is
               <= M:  the i-th row of A is exactly zero
               >  M:  the (i-M)-th column of A is exactly zero


Man(1) output converted with man2html