ZPPEQU - compute row and column scalings intended to equi­
       librate a Hermitian positive definite matrix A  in  packed
       storage  and  reduce its condition number (with respect to
       the two-norm)


SYNOPSIS

       SUBROUTINE ZPPEQU( UPLO, N, AP, S, SCOND, AMAX, INFO )

           CHARACTER      UPLO

           INTEGER        INFO, N

           DOUBLE         PRECISION AMAX, SCOND

           DOUBLE         PRECISION S( * )

           COMPLEX*16     AP( * )


PURPOSE

       ZPPEQU computes row and column scalings intended to  equi­
       librate  a  Hermitian positive definite matrix A in packed
       storage 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
       diagonal.  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 triangle of A is stored;
               = 'L':  Lower triangle of A is stored.

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

       AP      (input) COMPLEX*16 array, dimension (N*(N+1)/2)
               The upper  or  lower  triangle  of  the  Hermitian
               matrix  A,  packed  columnwise  in a linear array.
               The j-th column of A is stored in the array AP  as
               follows: if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j)
               for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-j)/2)
               = A(i,j) for j<=i<=n.

       S       (output) DOUBLE PRECISION array, dimension (N)
               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


       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