Previous: csytrf Up: ../lapack-c.html Next: csytrs


csytri


 NAME
      CSYTRI - compute the inverse of a complex symmetric indefin-
      ite matrix A using the factorization A = U*D*U**T or A =
      L*D*L**T computed by CSYTRF

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

          CHARACTER      UPLO

          INTEGER        INFO, LDA, N

          INTEGER        IPIV( * )

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

 PURPOSE
      CSYTRI computes the inverse of a complex symmetric indefin-
      ite matrix A using the factorization A = U*D*U**T or A =
      L*D*L**T computed by CSYTRF.

 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**T;
              = 'L':  Lower triangular, form is A = L*D*L**T.

      N       (input) INTEGER
              The order of the matrix A.  N >= 0.

      A       (input/output) COMPLEX 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 CSYTRF.

              On exit, if INFO = 0, the (symmetric) 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 CSYTRF.

      WORK    (workspace) COMPLEX array, dimension (2*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.