# 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

## 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

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

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

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

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

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

```          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*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