Previous: zhetrf Up: ../lapack-z.html Next: zhetrs


zhetri


 NAME
      ZHETRI - compute the inverse of a complex Hermitian indefin-
      ite matrix A using the factorization A = U*D*U**H or A =
      L*D*L**H computed by ZHETRF

 SYNOPSIS
      SUBROUTINE ZHETRI( UPLO, N, A, LDA, IPIV, WORK, INFO )

          CHARACTER      UPLO

          INTEGER        INFO, LDA, N

          INTEGER        IPIV( * )

          COMPLEX*16     A( LDA, * ), WORK( * )

 PURPOSE
      ZHETRI computes the inverse of a complex Hermitian indefin-
      ite matrix A using the factorization A = U*D*U**H or A =
      L*D*L**H computed by ZHETRF.

 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.

      A       (input/output) COMPLEX*16 array, dimension (LDA,N)
              On entry, the block diagonal matrix D and the multi-
              pliers used to obtain the factor U or L as computed
              by ZHETRF.

              On exit, if INFO = 0, the (Hermitian) inverse of the
              original matrix.  If UPLO = 'U', the upper triangu-
              lar part of the inverse is formed and the part of A
              below the diagonal is not referenced; if UPLO = 'L'
              the lower triangular part of the inverse is formed
              and the part of A above the diagonal is not refer-
              enced.

      LDA     (input) INTEGER
              The leading dimension of the array A.  LDA >=
              max(1,N).

      IPIV    (input) INTEGER array, dimension (N)
              Details of the interchanges and the block structure
              of D as determined by ZHETRF.

      WORK    (workspace) COMPLEX*16 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.