Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?sycon_3
Estimates the reciprocal of the condition number (in the 1-norm) of a real or complex symmetric matrix A using the factorization computed by ?sytrf_rk .
Syntax
call ssycon_3 ( uplo , n , A , lda , e , ipiv , anorm , rcond , work , iwork , info )
call dsycon_3 ( uplo , n , A , lda , e , ipiv , anorm , rcond , work , iwork , info )
call csycon_3 ( uplo , n , A , lda , e , ipiv , anorm , rcond , work , info )
call zsycon_3 ( uplo , n , A , lda , e , ipiv , anorm , rcond , work , info )
Description
?sycon_3 estimates the reciprocal of the condition number (in the 1-norm) of a real or complex symmetric matrix A using the factorization computed by ?sytrf_rk . A = P*U*D*(U T )*(P T ) or A = P*L*D*(L T )*(P T ), where U (or L) is unit upper (or lower) triangular matrix, U T (or L T ) is the transpose of U (or L), P is a permutation matrix, P T is the transpose of P, and D is symmetric 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 ?sytrs_3 .
Input Parameters
- uplo
-
CHARACTER*1 Specifies whether the details of the factorization are stored as an upper or lower triangular matrix:
- n
-
INTEGER The order of the matrix A. n ≥ 0.
- A
-
REAL for ssycon_3 DOUBLE PRECISION for dsycon_3 COMPLEX for csycon_3 COMPLEX*16 for zsycon_3
Array, dimension ( lda , n ). Diagonal of the block diagonal matrix D and factors U or L as computed by ?sytrf_rk :
- lda
-
INTEGER
The leading dimension of the array A . lda ≥ max(1, n ).
- e
-
REAL for ssycon_3 DOUBLE PRECISION for dsycon_3 COMPLEX for csycon_3 COMPLEX*16 for zsycon_3
Array, dimension ( n ). On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric 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 ?sytrf_rk .
- anorm
-
REAL for ssycon_3 DOUBLE PRECISION for dsycon_3 REAL for csycon_3 DOUBLE PRECISION for zsycon_3 The 1-norm of the original matrix A.
Output Parameters
- rcond
-
REAL for ssycon_3 DOUBLE PRECISION for dsycon_3 REAL for csycon_3 DOUBLE PRECISION for zsycon_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
-
REAL for ssycon_3 DOUBLE PRECISION for dsycon_3 COMPLEX for csycon_3 COMPLEX*16 for zsycon_3 Array, dimension (2* n )
- iwork
-
INTEGER Array, dimension ( 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.