Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?hecon_3
Estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian matrix A.
Syntax
callchecon_3 ( uplo , n , A , lda , e , ipiv , anorm , rcond , work , info )
call zhecon_3 ( uplo , n , A , lda , e , ipiv , anorm , rcond , work , info )
Description
?hecon_3 estimates the reciprocal of the condition number (in the 1-norm) of a complex Hermitian matrix A using the factorization computed by ?hetrf_rk : A = P*U*D*(U H )*(P T ) or A = P*L*D*(L H )*(P T ), where U (or L) is unit upper (or lower) triangular matrix, U H (or L H ) is the conjugate of U (or L), P is a permutation matrix, P T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as rcond = 1 / ( anorm * norm(inv(A))).
This routine uses BLAS3 solver ?hetrs_3 .
Input Parameters
uplo
CHARACTER*1 . Specifies whether the details of the factorization are stored as an upper or lower triangular matrix: = 'U' : Upper triangular, form is A = P*U*D*(U H )*(P T ); = 'L' : Lower triangular, form is A = P*L*D*(L H )*(P T ).
n
INTEGER . The order of the matrix A. n ≥ 0.
- A
-
COMPLEX for checon_3 COMPLEX*16 for zhecon_3
Array, dimension ( lda , n ). Diagonal of the block diagonal matrix D and factor U or L as computed by ?hetrf_rk :
- lda
-
INTEGER
The leading dimension of the array A . lda ≥ max(1, n ).
- e
-
COMPLEX for checon_3 COMPLEX*16 for zhecon_3
Array, dimension ( n ). On entry, contains the superdiagonal (or subdiagonal) elements of the Hermitian block diagonal matrix D with 1-by-1 or 2-by-2 diagonal blocks. If uplo = 'U' , e(i) = D( i- 1, i ), i =2:N, and e(1) is not referenced. If uplo = 'L' , e( i ) = D( i +1, i ), i =1:N - 1, and e( n ) is not referenced.
- ipiv
-
INTEGER
Array, dimension ( n ). Details of the interchanges and the block structure of D as determined by ?hetrf_rk .
- anorm
-
COMPLEX for checon_3 COMPLEX*16 for zhecon_3 The 1-norm of the original matrix A.
Output Parameters
- rcond
-
COMPLEX for checon_3 COMPLEX*16 for zhecon_3 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
-
COMPLEX for checon_3 COMPLEX*16 for zhecon_3 Array, dimension (2* n ).
info
INTEGER .
If info = 0, the execution is successful.
If info = -i , the ith argument had an illegal value.
Return Values
No return value, info is an Output Parameter.