ZPPEQU(3F) ZPPEQU(3F)
ZPPEQU - compute 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)
SUBROUTINE ZPPEQU( UPLO, N, AP, S, SCOND, AMAX, INFO )
CHARACTER UPLO
INTEGER INFO, N
DOUBLE PRECISION AMAX, SCOND
DOUBLE PRECISION S( * )
COMPLEX*16 AP( * )
ZPPEQU 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 condition number over all possible diagonal scalings.
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*16 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) 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
largest S(i). If SCOND >= 0.1 and AMAX is neither too large nor
too small, it is not worth scaling by S.
Page 1
ZPPEQU(3F) ZPPEQU(3F)
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 element is nonpositive.
ZPPEQU(3F) ZPPEQU(3F)
ZPPEQU - compute 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)
SUBROUTINE ZPPEQU( UPLO, N, AP, S, SCOND, AMAX, INFO )
CHARACTER UPLO
INTEGER INFO, N
DOUBLE PRECISION AMAX, SCOND
DOUBLE PRECISION S( * )
COMPLEX*16 AP( * )
ZPPEQU 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 condition number over all possible diagonal scalings.
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*16 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) 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
largest S(i). If SCOND >= 0.1 and AMAX is neither too large nor
too small, it is not worth scaling by S.
Page 1
ZPPEQU(3F) ZPPEQU(3F)
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 element is nonpositive.
PPPPaaaaggggeeee 2222 [ Back ]
|