XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ zhptri()

void zhptri ( char  uplo,
int  n,
doublecomplex  ap[],
int  ipiv[],
doublecomplex  work[],
int *  info 
)

Inverse of a Hermitian matrix in packed form

Purpose
This routine computes the inverse of a Hermitian indefinite matrix A in packed form using the factorization A = U*D*U^H or A = L*D*L^H computed by zhptrf.
Parameters
[in]uploSpecifies 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.
[in]nOrder of the matrix A. (n >= 0) (If n = 0, returns without computation)
[in,out]ap[]Array ap[lap] (lap >= n(n + 1)/2)
[in] The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by zhptrf, stored as a packed triangular matrix.
[out] If info = 0, the (Hermitian) inverse of the original matrix, stored as a packed triangular matrix. The upper or lower triangular part of the inverse is stored in accordance with uplo.
[in]ipiv[]Array ipiv[lipiv] (lipiv >= n)
Details of the interchanges and the block structure of D as determined by zhptrf.
[out]work[]Array work[lwork] (lwork >= n)
Work array.
[out]info= 0: Successful exit
= -1: The argument uplo had an illegal value (uplo != 'U' nor 'L')
= -2: The argument n had an illegal value (n < 0)
= i > 0: The i-th element of D is exactly zero; the matrix is singular and its inverse could not be computed.
Reference
LAPACK