# slaqgb (3) - Linux Man Pages

slaqgb.f -

## SYNOPSIS

### Functions/Subroutines

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

## Function/Subroutine Documentation

### subroutine slaqgb (integerM, integerN, integerKL, integerKU, real, dimension( ldab, * )AB, integerLDAB, real, dimension( * )R, real, dimension( * )C, realROWCND, realCOLCND, realAMAX, characterEQUED)

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

Purpose:

``` SLAQGB 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 REAL 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 REAL array, dimension (M)
The row scale factors for A.
```

C

```          C is REAL array, dimension (N)
The column scale factors for A.
```

ROWCND

```          ROWCND is REAL
Ratio of the smallest R(i) to the largest R(i).
```

COLCND

```          COLCND is REAL
Ratio of the smallest C(i) to the largest C(i).
```

AMAX

```          AMAX is REAL
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