Provided by: liblapack-doc_3.3.1-1_all #### NAME

```       LAPACK-3  -  equilibrates  a  general  M  by  N  band matrix A with KL subdiagonals and KU
superdiagonals using the row and scaling factors in the vectors R and C

```

#### SYNOPSIS

```       SUBROUTINE ZLAQGB( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, EQUED )

CHARACTER      EQUED

INTEGER        KL, KU, LDAB, M, N

DOUBLE         PRECISION AMAX, COLCND, ROWCND

DOUBLE         PRECISION C( * ), R( * )

COMPLEX*16     AB( LDAB, * )

```

#### PURPOSE

```       ZLAQGB equilibrates a  general  M  by  N  band  matrix  A  with  KL  subdiagonals  and  KU
superdiagonals using the row and scaling factors in the vectors R and C.

```

#### ARGUMENTS

```        M       (input) INTEGER
The number of rows of the matrix A.  M >= 0.

N       (input) INTEGER
The number of columns of the matrix A.  N >= 0.

KL      (input) INTEGER
The number of subdiagonals within the band of A.  KL >= 0.

KU      (input) INTEGER
The number of superdiagonals within the band of A.  KU >= 0.

AB      (input/output) COMPLEX*16 array, dimension (LDAB,N)
On entry, the matrix A in band storage, in rows 1 to KL+KU+1.
The j-th column of A is stored in the j-th column of the
array AB as follows:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
On exit, the equilibrated matrix, in the same storage format
as A.  See EQUED for the form of the equilibrated matrix.

LDAB    (input) INTEGER
The leading dimension of the array AB.  LDA >= KL+KU+1.

R       (input) DOUBLE PRECISION array, dimension (M)
The row scale factors for A.

C       (input) DOUBLE PRECISION array, dimension (N)
The column scale factors for A.

ROWCND  (input) DOUBLE PRECISION
Ratio of the smallest R(i) to the largest R(i).

COLCND  (input) DOUBLE PRECISION
Ratio of the smallest C(i) to the largest C(i).

AMAX    (input) DOUBLE PRECISION
Absolute value of largest matrix entry.

EQUED   (output) CHARACTER*1
Specifies the form of equilibration that was done.
= 'N':  No equilibration
= 'R':  Row equilibration, i.e., A has been premultiplied by
diag(R).
= 'C':  Column equilibration, i.e., A has been postmultiplied
by diag(C).
= 'B':  Both row and column equilibration, i.e., A has been
replaced by diag(R) * A * diag(C).

```

#### PARAMETERS

```        THRESH is a threshold value used to decide if row or column scaling
should be done based on the ratio of the row or column scaling
factors.  If ROWCND < THRESH, row scaling is done, and if
COLCND < THRESH, column scaling is done.
LARGE and SMALL are threshold values used to decide if row scaling
should be done based on the absolute size of the largest matrix
element.  If AMAX > LARGE or AMAX < SMALL, row scaling is done.

LAPACK auxiliary routine (version 3.2)     April 2011                            ZLAQGB(3lapack)
```