---
name: "chptri"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/chptri/3lapack"
---

# chptri(3lapack)

computes the inverse of a complex Hermitian indefinite matrix A in packed storage using the factorization A = U\*D\*U\*\*H or A = L\*D\*L\*\*H computed by CHPTRF

## NAME

CHPTRI - computes the inverse of a complex Hermitian indefinite matrix A in packed storage using the factorization A = U\*D\*U\*\*H or A = L\*D\*L\*\*H computed by CHPTRF

## SYNOPSIS

- SUBROUTINE CHPTRI(

  UPLO, N, AP, IPIV, WORK, INFO )

- CHARACTER

  UPLO

- INTEGER

  INFO, N

- INTEGER

  IPIV( \* )

- COMPLEX

  AP( \* ), WORK( \* )

## PURPOSE

CHPTRI computes the inverse of a complex Hermitian indefinite matrix A in packed storage using the factorization A = U\*D\*U\*\*H or A = L\*D\*L\*\*H computed by CHPTRF.

## ARGUMENTS

- UPLO (input) 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 (input) INTEGER

  The order of the matrix A.  N \>= 0.

- AP (input/output) COMPLEX array, dimension (N\*(N+1)/2)

  On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHPTRF, stored as a packed triangular matrix. On exit, if INFO = 0, the (Hermitian) inverse of the original matrix, stored as a packed triangular matrix. The j-th column of inv(A) is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)\*j/2) = inv(A)(i,j) for 1\<=i\<=j; if UPLO = 'L', AP(i + (j-1)\*(2n-j)/2) = inv(A)(i,j) for j\<=i\<=n.

- IPIV (input) INTEGER array, dimension (N)

  Details of the interchanges and the block structure of D as determined by CHPTRF.

- WORK (workspace) COMPLEX array, dimension (N)

  - INFO (output) INTEGER

  \= 0: successful exit\
   \< 0: if INFO = -i, the i-th argument had an illegal value\
   \> 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed.
