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

  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

  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

  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

  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

  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

Author

Generated automatically by Doxygen for LAPACK from the source code.