heequb(3) Library Functions Manual heequb(3) NAME heequb - {he,sy}equb: equilibration, power of 2 SYNOPSIS Functions subroutine cheequb (uplo, n, a, lda, s, scond, amax, work, info) CHEEQUB subroutine csyequb (uplo, n, a, lda, s, scond, amax, work, info) CSYEQUB subroutine dsyequb (uplo, n, a, lda, s, scond, amax, work, info) DSYEQUB subroutine ssyequb (uplo, n, a, lda, s, scond, amax, work, info) SSYEQUB subroutine zheequb (uplo, n, a, lda, s, scond, amax, work, info) ZHEEQUB subroutine zsyequb (uplo, n, a, lda, s, scond, amax, work, info) ZSYEQUB Detailed Description Function Documentation subroutine cheequb (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, real, dimension( * ) s, real scond, real amax, complex, dimension( * ) work, integer info) CHEEQUB Purpose: !> !> CHEEQUB computes row and column scalings intended to equilibrate a !> Hermitian matrix A (with respect to the Euclidean norm) and reduce !> its condition number. The scale factors S are computed by the BIN !> algorithm (see references) so that the scaled matrix B with elements !> B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of !> the smallest possible condition number over all possible diagonal !> scalings. !> Parameters UPLO !> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !> N !> N is INTEGER !> The order of the matrix A. N >= 0. !> A !> A is COMPLEX array, dimension (LDA,N) !> The N-by-N Hermitian matrix whose scaling factors are to be !> computed. !> LDA !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> S !> S is REAL array, dimension (N) !> If INFO = 0, S contains the scale factors for A. !> SCOND !> SCOND is REAL !> 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. !> AMAX !> AMAX is REAL !> Largest absolute value of any matrix element. If AMAX is !> very close to overflow or very close to underflow, the !> matrix should be scaled. !> WORK !> WORK is COMPLEX array, dimension (2*N) !> INFO !> INFO is 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. !> Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. References: Livne, O.E. and Golub, G.H., "Scaling by Binormalization", Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004. DOI 10.1023/B:NUMA.0000016606.32820.69 Tech report version: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.1679 Definition at line 131 of file cheequb.f. subroutine csyequb (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, real, dimension( * ) s, real scond, real amax, complex, dimension( * ) work, integer info) CSYEQUB Purpose: !> !> CSYEQUB computes row and column scalings intended to equilibrate a !> symmetric matrix A (with respect to the Euclidean norm) and reduce !> its condition number. The scale factors S are computed by the BIN !> algorithm (see references) so that the scaled matrix B with elements !> B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of !> the smallest possible condition number over all possible diagonal !> scalings. !> Parameters UPLO !> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !> N !> N is INTEGER !> The order of the matrix A. N >= 0. !> A !> A is COMPLEX array, dimension (LDA,N) !> The N-by-N symmetric matrix whose scaling factors are to be !> computed. !> LDA !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> S !> S is REAL array, dimension (N) !> If INFO = 0, S contains the scale factors for A. !> SCOND !> SCOND is REAL !> 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. !> AMAX !> AMAX is REAL !> Largest absolute value of any matrix element. If AMAX is !> very close to overflow or very close to underflow, the !> matrix should be scaled. !> WORK !> WORK is COMPLEX array, dimension (2*N) !> INFO !> INFO is 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. !> Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. References: Livne, O.E. and Golub, G.H., "Scaling by Binormalization", Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004. DOI 10.1023/B:NUMA.0000016606.32820.69 Tech report version: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.1679 Definition at line 131 of file csyequb.f. subroutine dsyequb (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) s, double precision scond, double precision amax, double precision, dimension( * ) work, integer info) DSYEQUB Purpose: !> !> DSYEQUB computes row and column scalings intended to equilibrate a !> symmetric matrix A (with respect to the Euclidean norm) and reduce !> its condition number. The scale factors S are computed by the BIN !> algorithm (see references) so that the scaled matrix B with elements !> B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of !> the smallest possible condition number over all possible diagonal !> scalings. !> Parameters UPLO !> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !> N !> N is INTEGER !> The order of the matrix A. N >= 0. !> A !> A is DOUBLE PRECISION array, dimension (LDA,N) !> The N-by-N symmetric matrix whose scaling factors are to be !> computed. !> LDA !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> S !> S is DOUBLE PRECISION array, dimension (N) !> If INFO = 0, S contains the scale factors for A. !> SCOND !> SCOND is 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. !> AMAX !> AMAX is DOUBLE PRECISION !> Largest absolute value of any matrix element. If AMAX is !> very close to overflow or very close to underflow, the !> matrix should be scaled. !> WORK !> WORK is DOUBLE PRECISION array, dimension (2*N) !> INFO !> INFO is 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. !> Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. References: Livne, O.E. and Golub, G.H., "Scaling by Binormalization", Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004. DOI 10.1023/B:NUMA.0000016606.32820.69 Tech report version: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.1679 Definition at line 130 of file dsyequb.f. subroutine ssyequb (character uplo, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( * ) s, real scond, real amax, real, dimension( * ) work, integer info) SSYEQUB Purpose: !> !> SSYEQUB computes row and column scalings intended to equilibrate a !> symmetric matrix A (with respect to the Euclidean norm) and reduce !> its condition number. The scale factors S are computed by the BIN !> algorithm (see references) so that the scaled matrix B with elements !> B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of !> the smallest possible condition number over all possible diagonal !> scalings. !> Parameters UPLO !> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !> N !> N is INTEGER !> The order of the matrix A. N >= 0. !> A !> A is REAL array, dimension (LDA,N) !> The N-by-N symmetric matrix whose scaling factors are to be !> computed. !> LDA !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> S !> S is REAL array, dimension (N) !> If INFO = 0, S contains the scale factors for A. !> SCOND !> SCOND is REAL !> 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. !> AMAX !> AMAX is REAL !> Largest absolute value of any matrix element. If AMAX is !> very close to overflow or very close to underflow, the !> matrix should be scaled. !> WORK !> WORK is REAL array, dimension (2*N) !> INFO !> INFO is 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. !> Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. References: Livne, O.E. and Golub, G.H., "Scaling by Binormalization", Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004. DOI 10.1023/B:NUMA.0000016606.32820.69 Tech report version: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.1679 Definition at line 130 of file ssyequb.f. subroutine zheequb (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, double precision, dimension( * ) s, double precision scond, double precision amax, complex*16, dimension( * ) work, integer info) ZHEEQUB Purpose: !> !> ZHEEQUB computes row and column scalings intended to equilibrate a !> Hermitian matrix A (with respect to the Euclidean norm) and reduce !> its condition number. The scale factors S are computed by the BIN !> algorithm (see references) so that the scaled matrix B with elements !> B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of !> the smallest possible condition number over all possible diagonal !> scalings. !> Parameters UPLO !> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !> N !> N is INTEGER !> The order of the matrix A. N >= 0. !> A !> A is COMPLEX*16 array, dimension (LDA,N) !> The N-by-N Hermitian matrix whose scaling factors are to be !> computed. !> LDA !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> S !> S is DOUBLE PRECISION array, dimension (N) !> If INFO = 0, S contains the scale factors for A. !> SCOND !> SCOND is 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. !> AMAX !> AMAX is DOUBLE PRECISION !> Largest absolute value of any matrix element. If AMAX is !> very close to overflow or very close to underflow, the !> matrix should be scaled. !> WORK !> WORK is COMPLEX*16 array, dimension (2*N) !> INFO !> INFO is 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. !> Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. References: Livne, O.E. and Golub, G.H., "Scaling by Binormalization", Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004. DOI 10.1023/B:NUMA.0000016606.32820.69 Tech report version: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.1679 Definition at line 131 of file zheequb.f. subroutine zsyequb (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, double precision, dimension( * ) s, double precision scond, double precision amax, complex*16, dimension( * ) work, integer info) ZSYEQUB Purpose: !> !> ZSYEQUB computes row and column scalings intended to equilibrate a !> symmetric matrix A (with respect to the Euclidean norm) and reduce !> its condition number. The scale factors S are computed by the BIN !> algorithm (see references) so that the scaled matrix B with elements !> B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of !> the smallest possible condition number over all possible diagonal !> scalings. !> Parameters UPLO !> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !> N !> N is INTEGER !> The order of the matrix A. N >= 0. !> A !> A is COMPLEX*16 array, dimension (LDA,N) !> The N-by-N symmetric matrix whose scaling factors are to be !> computed. !> LDA !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> S !> S is DOUBLE PRECISION array, dimension (N) !> If INFO = 0, S contains the scale factors for A. !> SCOND !> SCOND is 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. !> AMAX !> AMAX is DOUBLE PRECISION !> Largest absolute value of any matrix element. If AMAX is !> very close to overflow or very close to underflow, the !> matrix should be scaled. !> WORK !> WORK is COMPLEX*16 array, dimension (2*N) !> INFO !> INFO is 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. !> Author Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. References: Livne, O.E. and Golub, G.H., "Scaling by Binormalization", Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004. DOI 10.1023/B:NUMA.0000016606.32820.69 Tech report version: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.1679 Definition at line 131 of file zsyequb.f. Author Generated automatically by Doxygen for LAPACK from the source code. LAPACK Version 3.12.0 heequb(3)