---
name: "dsyequb"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dsyequb.f"
---

# dsyequb(3)

Part of [dsyequb.f(3)](/dsyequb.f/3.md).

## NAME

SRC/dsyequb.f

## SYNOPSIS

### Functions/Subroutines

subroutine **dsyequb** (uplo, n, a, lda, s, scond, amax, work, info)\
 **DSYEQUB**

## Function/Subroutine Documentation

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

## Author

Generated automatically by Doxygen for LAPACK from the source code.
