CPPEQU(l)		LAPACK routine (version	1.1)		    CPPEQU(l)

NAME
  CPPEQU - compute row and column scalings intended to equilibrate a Hermi-
  tian positive	definite matrix	A in packed storage and	reduce its condition
  number (with respect to the two-norm)

SYNOPSIS

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

      CHARACTER	     UPLO

      INTEGER	     INFO, N

      REAL	     AMAX, SCOND

      REAL	     S(	* )

      COMPLEX	     AP( * )

PURPOSE
  CPPEQU computes row and column scalings intended to equilibrate 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 condi-
  tion number 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 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) REAL	array, dimension (N)
	  If INFO = 0, S contains the scale factors for	A.

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

  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, the i-th diagonal entry is	nonpositive.


Back to the listing of computational routines for linear equations