DPOEQU(l)		LAPACK routine (version	1.1)		    DPOEQU(l)

NAME
  DPOEQU - compute row and column scalings intended to equilibrate a sym-
  metric positive definite matrix A and	reduce its condition number (with
  respect to the two-norm)

SYNOPSIS

  SUBROUTINE DPOEQU( N,	A, LDA,	S, SCOND, AMAX,	INFO )

      INTEGER	     INFO, LDA,	N

      DOUBLE	     PRECISION AMAX, SCOND

      DOUBLE	     PRECISION A( LDA, * ), S( * )

PURPOSE
  DPOEQU computes row and column scalings intended to equilibrate a symmetric
  positive definite 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 diagonal.	 This choice of	S puts the condition number of B
  within a factor N of the smallest possible condition number over all possi-
  ble diagonal scalings.

ARGUMENTS

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

  A	  (input) DOUBLE PRECISION array, dimension (LDA,N)
	  The N-by-N symmetric positive	definite matrix	whose scaling factors
	  are to be computed.  Only the	diagonal elements of A are refer-
	  enced.

  LDA	  (input) INTEGER
	  The leading dimension	of the array A.	 LDA >=	max(1,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	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) DOUBLE PRECISION
	  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