# hecon - Man Page

{he,sy}con: condition number estimate

## Synopsis

### Functions

subroutine **checon** (uplo, n, a, lda, ipiv, anorm, rcond, work, info)**CHECON**

subroutine **csycon** (uplo, n, a, lda, ipiv, anorm, rcond, work, info)**CSYCON**

subroutine **dsycon** (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)**DSYCON**

subroutine **ssycon** (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)**SSYCON**

subroutine **zhecon** (uplo, n, a, lda, ipiv, anorm, rcond, work, info)**ZHECON**

subroutine **zsycon** (uplo, n, a, lda, ipiv, anorm, rcond, work, info)**ZSYCON**

## Detailed Description

## Function Documentation

### subroutine checon (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, complex, dimension( * ) work, integer info)

**CHECON**

**Purpose:**

CHECON estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

**Parameters***UPLO*UPLO is CHARACTER*1 Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**H; = 'L': Lower triangular, form is A = L*D*L**H.

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

*A*A is COMPLEX array, dimension (LDA,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHETRF.

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

*IPIV*IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CHETRF.

*ANORM*ANORM is REAL The 1-norm of the original matrix A.

*RCOND*RCOND is REAL The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.

*WORK*WORK is COMPLEX array, dimension (2*N)

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **123** of file **checon.f**.

### subroutine csycon (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, complex, dimension( * ) work, integer info)

**CSYCON**

**Purpose:**

CSYCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

**Parameters***UPLO*UPLO is CHARACTER*1 Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T; = 'L': Lower triangular, form is A = L*D*L**T.

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

*A*A is COMPLEX array, dimension (LDA,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF.

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

*IPIV*IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by CSYTRF.

*ANORM*ANORM is REAL The 1-norm of the original matrix A.

*RCOND*RCOND is REAL The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.

*WORK*WORK is COMPLEX array, dimension (2*N)

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **123** of file **csycon.f**.

### subroutine dsycon (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm, double precision rcond, double precision, dimension( * ) work, integer, dimension( * ) iwork, integer info)

**DSYCON**

**Purpose:**

DSYCON estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

**Parameters***UPLO*UPLO is CHARACTER*1 Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T; = 'L': Lower triangular, form is A = L*D*L**T.

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

*A*A is DOUBLE PRECISION array, dimension (LDA,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSYTRF.

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

*IPIV*IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by DSYTRF.

*ANORM*ANORM is DOUBLE PRECISION The 1-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/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.

*WORK*WORK is DOUBLE PRECISION array, dimension (2*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

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **128** of file **dsycon.f**.

### subroutine ssycon (character uplo, integer n, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real anorm, real rcond, real, dimension( * ) work, integer, dimension( * ) iwork, integer info)

**SSYCON**

**Purpose:**

SSYCON estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by SSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

**Parameters***UPLO*UPLO is CHARACTER*1 Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T; = 'L': Lower triangular, form is A = L*D*L**T.

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

*A*A is REAL array, dimension (LDA,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by SSYTRF.

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

*IPIV*IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by SSYTRF.

*ANORM*ANORM is REAL The 1-norm of the original matrix A.

*RCOND*RCOND is REAL The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.

*WORK*WORK is REAL array, dimension (2*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

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **128** of file **ssycon.f**.

### subroutine zhecon (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm, double precision rcond, complex*16, dimension( * ) work, integer info)

**ZHECON**

**Purpose:**

ZHECON estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

**Parameters***UPLO*UPLO is CHARACTER*1 Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**H; = 'L': Lower triangular, form is A = L*D*L**H.

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

*A*A is COMPLEX*16 array, dimension (LDA,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZHETRF.

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

*IPIV*IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZHETRF.

*ANORM*ANORM is DOUBLE PRECISION The 1-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/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.

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

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **123** of file **zhecon.f**.

### subroutine zsycon (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm, double precision rcond, complex*16, dimension( * ) work, integer info)

**ZSYCON**

**Purpose:**

ZSYCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

**Parameters***UPLO**N*N is INTEGER The order of the matrix A. N >= 0.

*A*A is COMPLEX*16 array, dimension (LDA,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZSYTRF.

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

*IPIV*IPIV is INTEGER array, dimension (N) Details of the interchanges and the block structure of D as determined by ZSYTRF.

*ANORM*ANORM is DOUBLE PRECISION The 1-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/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.

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

*INFO*INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **123** of file **zsycon.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.