---
name: "laqge"
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/laqge"
---

# laqge(3)

laqge: row/col scale matrix

## NAME

laqge - laqge: row/col scale matrix

## SYNOPSIS

### Functions

subroutine **claqge** (m, n, a, lda, r, c, rowcnd, colcnd, amax, equed)\
 **CLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.  subroutine **dlaqge** (m, n, a, lda, r, c, rowcnd, colcnd, amax, equed)\
 **DLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.  subroutine **slaqge** (m, n, a, lda, r, c, rowcnd, colcnd, amax, equed)\
 **SLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.  subroutine **zlaqge** (m, n, a, lda, r, c, rowcnd, colcnd, amax, equed)\
 **ZLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.

## Detailed Description

## Function Documentation

### subroutine claqge (integer m, integer n, complex, dimension( lda, \* ) a, integer lda, real, dimension( \* ) r, real, dimension( \* ) c, real rowcnd, real colcnd, real amax, character equed)

**CLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.

**Purpose:**

```
!>
!> CLAQGE equilibrates a general M by N matrix A using the row and
!> column 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.
!>
```

*A*

```
!>          A is COMPLEX array, dimension (LDA,N)
!>          On entry, the M by N matrix A.
!>          On exit, the equilibrated matrix.  See EQUED for the form of
!>          the equilibrated matrix.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(M,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

Univ. of Colorado Denver

NAG Ltd.

Definition at line **141** of file **claqge.f**.

### subroutine dlaqge (integer m, integer n, double precision, dimension( lda, \* ) a, integer lda, double precision, dimension( \* ) r, double precision, dimension( \* ) c, double precision rowcnd, double precision colcnd, double precision amax, character equed)

**DLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.

**Purpose:**

```
!>
!> DLAQGE equilibrates a general M by N matrix A using the row and
!> column 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.
!>
```

*A*

```
!>          A is DOUBLE PRECISION array, dimension (LDA,N)
!>          On entry, the M by N matrix A.
!>          On exit, the equilibrated matrix.  See EQUED for the form of
!>          the equilibrated matrix.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(M,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 **140** of file **dlaqge.f**.

### subroutine slaqge (integer m, integer n, real, dimension( lda, \* ) a, integer lda, real, dimension( \* ) r, real, dimension( \* ) c, real rowcnd, real colcnd, real amax, character equed)

**SLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.

**Purpose:**

```
!>
!> SLAQGE equilibrates a general M by N matrix A using the row and
!> column 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.
!>
```

*A*

```
!>          A is REAL array, dimension (LDA,N)
!>          On entry, the M by N matrix A.
!>          On exit, the equilibrated matrix.  See EQUED for the form of
!>          the equilibrated matrix.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(M,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

Univ. of Colorado Denver

NAG Ltd.

Definition at line **140** of file **slaqge.f**.

### subroutine zlaqge (integer m, integer n, complex\*16, dimension( lda, \* ) a, integer lda, double precision, dimension( \* ) r, double precision, dimension( \* ) c, double precision rowcnd, double precision colcnd, double precision amax, character equed)

**ZLAQGE** scales a general rectangular matrix, using row and column scaling factors computed by sgeequ.

**Purpose:**

```
!>
!> ZLAQGE equilibrates a general M by N matrix A using the row and
!> column 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.
!>
```

*A*

```
!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the M by N matrix A.
!>          On exit, the equilibrated matrix.  See EQUED for the form of
!>          the equilibrated matrix.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(M,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 **141** of file **zlaqge.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
