---
name: "zlaqgb.f"
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/zlaqgb.f"
---

# zlaqgb.f(3)

## NAME

SRC/zlaqgb.f

## SYNOPSIS

### Functions/Subroutines

subroutine **zlaqgb** (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed)\
 **ZLAQGB** scales a general band matrix, using row and column scaling factors computed by sgbequ.

## Function/Subroutine Documentation

### subroutine zlaqgb (integer m, integer n, integer kl, integer ku, complex\*16, dimension( ldab, \* ) ab, integer ldab, double precision, dimension( \* ) r, double precision, dimension( \* ) c, double precision rowcnd, double precision colcnd, double precision amax, character equed)

**ZLAQGB** scales a general band matrix, using row and column scaling factors computed by sgbequ.

**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.
!>
```

**Parameters**

*M*

```
!>          M is INTEGER
!>          The number of rows of the matrix A.  M >= 0.
!>
```

*N*

```
!>          N is INTEGER
!>          The number of columns of the matrix A.  N >= 0.
!>
```

*KL*

```
!>          KL is INTEGER
!>          The number of subdiagonals within the band of A.  KL >= 0.
!>
```

*KU*

```
!>          KU is INTEGER
!>          The number of superdiagonals within the band of A.  KU >= 0.
!>
```

*AB*

```
!>          AB is 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*

```
!>          LDAB is INTEGER
!>          The leading dimension of the array AB.  LDA >= KL+KU+1.
!>
```

*R*

```
!>          R is DOUBLE PRECISION array, dimension (M)
!>          The row scale factors for A.
!>
```

*C*

```
!>          C is DOUBLE PRECISION array, dimension (N)
!>          The column scale factors for A.
!>
```

*ROWCND*

```
!>          ROWCND is DOUBLE PRECISION
!>          Ratio of the smallest R(i) to the largest R(i).
!>
```

*COLCND*

```
!>          COLCND is DOUBLE PRECISION
!>          Ratio of the smallest C(i) to the largest C(i).
!>
```

*AMAX*

```
!>          AMAX is DOUBLE PRECISION
!>          Absolute value of largest matrix entry.
!>
```

*EQUED*

```
!>          EQUED is 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).
!>
```

**Internal 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.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **158** of file **zlaqgb.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
