Previous: dlaqsp Up: ../lapack-d.html Next: dlaqtr


dlaqsy


 NAME
      DLAQSY - equilibrate a symmetric matrix A using the scaling
      factors in the vector S

 SYNOPSIS
      SUBROUTINE DLAQSY( UPLO, N, A, LDA, S, SCOND, AMAX, EQUED )

          CHARACTER      EQUED, UPLO

          INTEGER        LDA, N

          DOUBLE         PRECISION AMAX, SCOND

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

 PURPOSE
      DLAQSY equilibrates a symmetric matrix A using the scaling
      factors in the vector S.

 ARGUMENTS
      UPLO    (input) CHARACTER*1
              Specifies whether the upper or lower triangular part
              of the symmetric matrix A is stored.  = 'U':  Upper
              triangular
              = 'L':  Lower triangular

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

      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
              On entry, the symmetric matrix A.  If UPLO = 'U',
              the leading n by n upper triangular part of A con-
              tains the upper triangular part of the matrix A, and
              the strictly lower triangular part of A is not
              referenced.  If UPLO = 'L', the leading n by n lower
              triangular part of A contains the lower triangular
              part of the matrix A, and the strictly upper tri-
              angular part of A is not referenced.

              On exit, if EQUED = 'Y', the equilibrated matrix:
              diag(S) * A * diag(S).

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

      S       (input) DOUBLE PRECISION array, dimension (N)
              The scale factors for A.

      SCOND   (input) DOUBLE PRECISION
              Ratio of the smallest S(i) to the largest S(i).

      AMAX    (input) DOUBLE PRECISION
              Absolute value of largest matrix entry.

      EQUED   (output) CHARACTER*1
              Specifies whether or not equilibration was done.  =
              'N':  No equilibration.
              = 'Y':  Equilibration was done, i.e., A has been
              replaced by diag(S) * A * diag(S).

 PARAMETERS
      THRESH is a threshold value used to decide if scaling should
      be done based on the ratio of the scaling factors.  If SCOND
      < THRESH, scaling is done.

      LARGE and SMALL are threshold values used to decide if scal-
      ing should be done based on the absolute size of the largest
      matrix element.  If AMAX > LARGE or AMAX < SMALL, scaling is
      done.