# hecon_rook - Man Page

{he,sy}con_rook: condition number estimate

## Synopsis

### Functions

subroutine checon_rook (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CHECON_ROOK estimates the reciprocal of the condition number fort HE matrices using factorization obtained with one of the bounded diagonal pivoting methods (max 2 interchanges)
subroutine csycon_rook (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
CSYCON_ROOK
subroutine dsycon_rook (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
DSYCON_ROOK
subroutine ssycon_rook (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
SSYCON_ROOK
subroutine zhecon_rook (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZHECON_ROOK estimates the reciprocal of the condition number fort HE matrices using factorization obtained with one of the bounded diagonal pivoting methods (max 2 interchanges)
subroutine zsycon_rook (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZSYCON_ROOK

## Function Documentation

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

CHECON_ROOK estimates the reciprocal of the condition number fort HE matrices using factorization obtained with one of the bounded diagonal pivoting methods (max 2 interchanges)

Purpose:

``` CHECON_ROOK 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_ROOK.

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_ROOK.```

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_ROOK.```

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.

Contributors:

```  December 2016,  Igor Kozachenko,
Computer Science Division,
University of California, Berkeley

September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
School of Mathematics,
University of Manchester```

Definition at line 137 of file checon_rook.f.

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

CSYCON_ROOK

Purpose:

``` CSYCON_ROOK 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_ROOK.

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_ROOK.```

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_ROOK.```

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.

Contributors:

```   April 2012, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley

September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
School of Mathematics,
University of Manchester```

Definition at line 137 of file csycon_rook.f.

### subroutine dsycon_rook (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_ROOK

Purpose:

``` DSYCON_ROOK 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_ROOK.

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_ROOK.```

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_ROOK.```

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.

Contributors:

```   April 2012, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley

September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
School of Mathematics,
University of Manchester```

Definition at line 142 of file dsycon_rook.f.

### subroutine ssycon_rook (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_ROOK

Purpose:

``` SSYCON_ROOK 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_ROOK.

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_ROOK.```

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_ROOK.```

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.

Contributors:

```   December 2016, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley

September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
School of Mathematics,
University of Manchester```

Definition at line 142 of file ssycon_rook.f.

### subroutine zhecon_rook (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_ROOK estimates the reciprocal of the condition number fort HE matrices using factorization obtained with one of the bounded diagonal pivoting methods (max 2 interchanges)

Purpose:

``` ZHECON_ROOK 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_ROOK.

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 CHETRF_ROOK.```

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_ROOK.```

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.

Contributors:

```  June 2017,  Igor Kozachenko,
Computer Science Division,
University of California, Berkeley

September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
School of Mathematics,
University of Manchester```

Definition at line 137 of file zhecon_rook.f.

### subroutine zsycon_rook (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_ROOK

Purpose:

``` ZSYCON_ROOK 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_ROOK.

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_ROOK.```

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_ROOK.```

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.

Contributors:

```   December 2016, Igor Kozachenko,
Computer Science Division,
University of California, Berkeley

September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
School of Mathematics,
University of Manchester```

Definition at line 137 of file zsycon_rook.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Info

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK