Loading...
Searching...
No Matches

## claqsp()

subroutine claqsp | ( | character | uplo,
|  | integer | n,
|  | complex, dimension( * ) | ap,
|  | real, dimension( * ) | s,
|  | real | scond,
|  | real | amax,
|  | character | equed )

CLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.

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

Purpose:

      !>
      !> CLAQSP 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]

  AP

      !>          AP is COMPLEX array, dimension (N*(N+1)/2)
      !>          On entry, the upper or lower triangle of the symmetric 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.
      !>
      !>          On exit, the equilibrated matrix:  diag(S) * A * diag(S), in
      !>          the same storage format as A.
      !>

  [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.