Loading...
Searching...
No Matches

## claqsy()

subroutine claqsy | ( | character | uplo,
|  | integer | n,
|  | complex, dimension( lda, * ) | a,
|  | integer | lda,
|  | real, dimension( * ) | s,
|  | real | scond,
|  | real | amax,
|  | character | equed )

CLAQSY scales a symmetric/Hermitian matrix, using scaling factors computed by spoequ.

Download CLAQSY + dependencies [TGZ] [ZIP] [TXT]

Purpose:

      !>
      !> CLAQSY equilibrates a symmetric matrix A using the scaling factors
      !> in the vector S.
      !>

Parameters

  [in]

  UPLO

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

  [in]

  N

      !>          N is INTEGER
      !>          The order of the matrix A.  N >= 0.
      !>

  [in,out]

  A

      !>          A is COMPLEX array, dimension (LDA,N)
      !>          On entry, the symmetric matrix A.  If UPLO = 'U', the leading
      !>          n by n upper triangular part of A contains 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
      !>          triangular part of A is not referenced.
      !>
      !>          On exit, if EQUED = 'Y', the equilibrated matrix:
      !>          diag(S) * A * diag(S).
      !>

  [in]

  LDA

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

  [in]

  S

      !>          S is REAL array, dimension (N)
      !>          The scale factors for A.
      !>

  [in]

  SCOND

      !>          SCOND is REAL
      !>          Ratio of the smallest S(i) to the largest S(i).
      !>

  [in]

  AMAX

      !>          AMAX is REAL
      !>          Absolute value of largest matrix entry.
      !>

  [out]

  EQUED

      !>          EQUED is 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).
      !>

Internal 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 scaling should
      !>  be done based on the absolute size of the largest matrix element.
      !>  If AMAX > LARGE or AMAX < SMALL, scaling is done.
      !>

Author
  Univ. of Tennessee
  Univ. of California Berkeley
  Univ. of Colorado Denver
  NAG Ltd.