Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
?hetri2x
Computes the inverse of a Hermitian indefinite matrix after ?hetri2allocates memory.
Syntax
lapack_int LAPACKE_chetri2x (int matrix_layout , char uplo , lapack_int n , lapack_complex_float * a , lapack_int lda , const lapack_int * ipiv , lapack_int nb );
lapack_int LAPACKE_zhetri2x (int matrix_layout , char uplo , lapack_int n , lapack_complex_double * a , lapack_int lda , const lapack_int * ipiv , lapack_int nb );
Include Files
- mkl.h
 
Description
The routine computes the inverse inv(A) of a Hermitian indefinite matrix A using the factorization A = U*D*UH or A = L*D*LH computed by ?hetrf.
The ?hetri2x actually computes the inverse after the ?hetri2 routine allocates memory before calling ?hetri2x.
Input Parameters
matrix_layout  |  
      Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).  |  
     
uplo  |  
      Must be 'U' or 'L'. Indicates how the input matrix A has been factored: If uplo = 'U', the array a stores the factorization A = U*D*UH. If uplo = 'L', the array a stores the factorization A = L*D*LH.  |  
     
n  |  
      The order of the matrix A; n≥ 0.  |  
     
a  |  
      Arrays a(size max(1, lda*n)) contains the nb (block size) diagonal matrix D and the multipliers used to obtain the factor U or L as returned by ?hetrf.  |  
     
lda  |  
      The leading dimension of a; lda≥ max(1, n).  |  
     
ipiv  |  
      Array, size at least max(1, n). Details of the interchanges and the nb structure of D as returned by ?hetrf.  |  
     
nb  |  
      Block size.  |  
     
Output Parameters
a  |  
      If info = 0, the symmetric inverse of the original matrix. If info = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced. If info = 'L', the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced.  |  
     
Return Values
This function returns a value info.
If info = 0, the execution is successful.
If info =-i, parameter i had an illegal value.
If info = i, Dii= 0; D is singular and its inversion could not be computed.