logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

heequb - {he,sy}equb: equilibration, power of 2

Author

Generated automatically by Doxygen for LAPACK from the source code. Version 3.12.0 Thu Aug 7 2025 17:26:25 heequb(3)

Detailed Description

Function Documentation

subroutinecheequb(characteruplo,integern,complex,dimension(lda,*)a,integerlda,real,dimension(*)s,realscond,realamax,complex,dimension(*)work,integerinfo)CHEEQUBPurpose: 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. ParametersUPLO 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 subroutinecsyequb(characteruplo,integern,complex,dimension(lda,*)a,integerlda,real,dimension(*)s,realscond,realamax,complex,dimension(*)work,integerinfo)CSYEQUBPurpose: 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. ParametersUPLO 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 subroutinedsyequb(characteruplo,integern,doubleprecision,dimension(lda,*)a,integerlda,doubleprecision,dimension(*)s,doubleprecisionscond,doubleprecisionamax,doubleprecision,dimension(*)work,integerinfo)DSYEQUBPurpose: 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. ParametersUPLO 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 subroutinessyequb(characteruplo,integern,real,dimension(lda,*)a,integerlda,real,dimension(*)s,realscond,realamax,real,dimension(*)work,integerinfo)SSYEQUBPurpose: 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. ParametersUPLO 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 subroutinezheequb(characteruplo,integern,complex*16,dimension(lda,*)a,integerlda,doubleprecision,dimension(*)s,doubleprecisionscond,doubleprecisionamax,complex*16,dimension(*)work,integerinfo)ZHEEQUBPurpose: 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. ParametersUPLO 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 subroutinezsyequb(characteruplo,integern,complex*16,dimension(lda,*)a,integerlda,doubleprecision,dimension(*)s,doubleprecisionscond,doubleprecisionamax,complex*16,dimension(*)work,integerinfo)ZSYEQUBPurpose: 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. ParametersUPLO 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

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

See Also