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

# gecon(3)

gecon: condition number estimate

## NAME

gecon - gecon: condition number estimate

## SYNOPSIS

### Functions

subroutine **cgecon** (norm, n, a, lda, anorm, rcond, work, rwork, info)\
 **CGECON**  subroutine **dgecon** (norm, n, a, lda, anorm, rcond, work, iwork, info)\
 **DGECON**  subroutine **sgecon** (norm, n, a, lda, anorm, rcond, work, iwork, info)\
 **SGECON**  subroutine **zgecon** (norm, n, a, lda, anorm, rcond, work, rwork, info)\
 **ZGECON**

## Detailed Description

## Function Documentation

### subroutine cgecon (character norm, integer n, complex, dimension( lda, \* ) a, integer lda, real anorm, real rcond, complex, dimension( \* ) work, real, dimension( \* ) rwork, integer info)

**CGECON**

**Purpose:**

```
!>
!> CGECON estimates the reciprocal of the condition number of a general
!> complex matrix A, in either the 1-norm or the infinity-norm, using
!> the LU factorization computed by CGETRF.
!>
!> An estimate is obtained for norm(inv(A)), and the reciprocal of the
!> condition number is computed as
!>    RCOND = 1 / ( norm(A) * norm(inv(A)) ).
!>
```

**Parameters**

*NORM*

```
!>          NORM is CHARACTER*1
!>          Specifies whether the 1-norm condition number or the
!>          infinity-norm condition number is required:
!>          = '1' or 'O':  1-norm;
!>          = 'I':         Infinity-norm.
!>
```

*N*

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

*A*

```
!>          A is COMPLEX array, dimension (LDA,N)
!>          The factors L and U from the factorization A = P*L*U
!>          as computed by CGETRF.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>
```

*ANORM*

```
!>          ANORM is REAL
!>          If NORM = '1' or 'O', the 1-norm of the original matrix A.
!>          If NORM = 'I', the infinity-norm of the original matrix A.
!>
```

*RCOND*

```
!>          RCOND is REAL
!>          The reciprocal of the condition number of the matrix A,
!>          computed as RCOND = 1/(norm(A) * norm(inv(A))).
!>
```

*WORK*

```
!>          WORK is COMPLEX array, dimension (2*N)
!>
```

*RWORK*

```
!>          RWORK is REAL array, dimension (2*N)
!>
```

*INFO*

```
!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value.
!>                NaNs are illegal values for ANORM, and they propagate to
!>                the output parameter RCOND.
!>                Infinity is illegal for ANORM, and it propagates to the output
!>                parameter RCOND as 0.
!>          = 1:  if RCOND = NaN, or
!>                   RCOND = Inf, or
!>                   the computed norm of the inverse of A is 0.
!>                In the latter, RCOND = 0 is returned.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **130** of file **cgecon.f**.

### subroutine dgecon (character norm, integer n, double precision, dimension( lda, \* ) a, integer lda, double precision anorm, double precision rcond, double precision, dimension( \* ) work, integer, dimension( \* ) iwork, integer info)

**DGECON**

**Purpose:**

```
!>
!> DGECON estimates the reciprocal of the condition number of a general
!> real matrix A, in either the 1-norm or the infinity-norm, using
!> the LU factorization computed by DGETRF.
!>
!> An estimate is obtained for norm(inv(A)), and the reciprocal of the
!> condition number is computed as
!>    RCOND = 1 / ( norm(A) * norm(inv(A)) ).
!>
```

**Parameters**

*NORM*

```
!>          NORM is CHARACTER*1
!>          Specifies whether the 1-norm condition number or the
!>          infinity-norm condition number is required:
!>          = '1' or 'O':  1-norm;
!>          = 'I':         Infinity-norm.
!>
```

*N*

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

*A*

```
!>          A is DOUBLE PRECISION array, dimension (LDA,N)
!>          The factors L and U from the factorization A = P*L*U
!>          as computed by DGETRF.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>
```

*ANORM*

```
!>          ANORM is DOUBLE PRECISION
!>          If NORM = '1' or 'O', the 1-norm of the original matrix A.
!>          If NORM = 'I', the infinity-norm of the original matrix A.
!>
```

*RCOND*

```
!>          RCOND is DOUBLE PRECISION
!>          The reciprocal of the condition number of the matrix A,
!>          computed as RCOND = 1/(norm(A) * norm(inv(A))).
!>
```

*WORK*

```
!>          WORK is DOUBLE PRECISION array, dimension (4*N)
!>
```

*IWORK*

```
!>          IWORK is INTEGER array, dimension (N)
!>
```

*INFO*

```
!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value.
!>                NaNs are illegal values for ANORM, and they propagate to
!>                the output parameter RCOND.
!>                Infinity is illegal for ANORM, and it propagates to the output
!>                parameter RCOND as 0.
!>          = 1:  if RCOND = NaN, or
!>                   RCOND = Inf, or
!>                   the computed norm of the inverse of A is 0.
!>                In the latter, RCOND = 0 is returned.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **130** of file **dgecon.f**.

### subroutine sgecon (character norm, integer n, real, dimension( lda, \* ) a, integer lda, real anorm, real rcond, real, dimension( \* ) work, integer, dimension( \* ) iwork, integer info)

**SGECON**

**Purpose:**

```
!>
!> SGECON estimates the reciprocal of the condition number of a general
!> real matrix A, in either the 1-norm or the infinity-norm, using
!> the LU factorization computed by SGETRF.
!>
!> An estimate is obtained for norm(inv(A)), and the reciprocal of the
!> condition number is computed as
!>    RCOND = 1 / ( norm(A) * norm(inv(A)) ).
!>
```

**Parameters**

*NORM*

```
!>          NORM is CHARACTER*1
!>          Specifies whether the 1-norm condition number or the
!>          infinity-norm condition number is required:
!>          = '1' or 'O':  1-norm;
!>          = 'I':         Infinity-norm.
!>
```

*N*

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

*A*

```
!>          A is REAL array, dimension (LDA,N)
!>          The factors L and U from the factorization A = P*L*U
!>          as computed by SGETRF.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>
```

*ANORM*

```
!>          ANORM is REAL
!>          If NORM = '1' or 'O', the 1-norm of the original matrix A.
!>          If NORM = 'I', the infinity-norm of the original matrix A.
!>
```

*RCOND*

```
!>          RCOND is REAL
!>          The reciprocal of the condition number of the matrix A,
!>          computed as RCOND = 1/(norm(A) * norm(inv(A))).
!>
```

*WORK*

```
!>          WORK is REAL array, dimension (4*N)
!>
```

*IWORK*

```
!>          IWORK is INTEGER array, dimension (N)
!>
```

*INFO*

```
!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value.
!>                NaNs are illegal values for ANORM, and they propagate to
!>                the output parameter RCOND.
!>                Infinity is illegal for ANORM, and it propagates to the output
!>                parameter RCOND as 0.
!>          = 1:  if RCOND = NaN, or
!>                   RCOND = Inf, or
!>                   the computed norm of the inverse of A is 0.
!>                In the latter, RCOND = 0 is returned.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **130** of file **sgecon.f**.

### subroutine zgecon (character norm, integer n, complex\*16, dimension( lda, \* ) a, integer lda, double precision anorm, double precision rcond, complex\*16, dimension( \* ) work, double precision, dimension( \* ) rwork, integer info)

**ZGECON**

**Purpose:**

```
!>
!> ZGECON estimates the reciprocal of the condition number of a general
!> complex matrix A, in either the 1-norm or the infinity-norm, using
!> the LU factorization computed by ZGETRF.
!>
!> An estimate is obtained for norm(inv(A)), and the reciprocal of the
!> condition number is computed as
!>    RCOND = 1 / ( norm(A) * norm(inv(A)) ).
!>
```

**Parameters**

*NORM*

```
!>          NORM is CHARACTER*1
!>          Specifies whether the 1-norm condition number or the
!>          infinity-norm condition number is required:
!>          = '1' or 'O':  1-norm;
!>          = 'I':         Infinity-norm.
!>
```

*N*

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

*A*

```
!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          The factors L and U from the factorization A = P*L*U
!>          as computed by ZGETRF.
!>
```

*LDA*

```
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>
```

*ANORM*

```
!>          ANORM is DOUBLE PRECISION
!>          If NORM = '1' or 'O', the 1-norm of the original matrix A.
!>          If NORM = 'I', the infinity-norm of the original matrix A.
!>
```

*RCOND*

```
!>          RCOND is DOUBLE PRECISION
!>          The reciprocal of the condition number of the matrix A,
!>          computed as RCOND = 1/(norm(A) * norm(inv(A))).
!>
```

*WORK*

```
!>          WORK is COMPLEX*16 array, dimension (2*N)
!>
```

*RWORK*

```
!>          RWORK is DOUBLE PRECISION array, dimension (2*N)
!>
```

*INFO*

```
!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value.
!>                NaNs are illegal values for ANORM, and they propagate to
!>                the output parameter RCOND.
!>                Infinity is illegal for ANORM, and it propagates to the output
!>                parameter RCOND as 0.
!>          = 1:  if RCOND = NaN, or
!>                   RCOND = Inf, or
!>                   the computed norm of the inverse of A is 0.
!>                In the latter, RCOND = 0 is returned.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **130** of file **zgecon.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
