# DLAQGB (3) - Linux Manuals

dlaqgb.f -

## SYNOPSIS

### Functions/Subroutines

subroutine dlaqgb (M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND, AMAX, EQUED)
DLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.

## Function/Subroutine Documentation

### subroutine dlaqgb (integerM, integerN, integerKL, integerKU, double precision, dimension( ldab, * )AB, integerLDAB, double precision, dimension( * )R, double precision, dimension( * )C, double precisionROWCND, double precisionCOLCND, double precisionAMAX, characterEQUED)

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

Purpose:

``` DLAQGB 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 DOUBLE PRECISION 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