# heequb - Man Page

{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

## 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

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

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

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

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

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

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.

## Info

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK