Previous: dsytrf Up: ../lapack-d.html Next: dsytrs


dsytri


 NAME
      DSYTRI - compute the inverse of a real symmetric indefinite
      matrix A using the factorization A = U*D*U**T or A =
      L*D*L**T computed by DSYTRF

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

          CHARACTER      UPLO

          INTEGER        INFO, LDA, N

          INTEGER        IPIV( * )

          DOUBLE         PRECISION A( LDA, * ), WORK( * )

 PURPOSE
      DSYTRI computes the inverse of a real symmetric indefinite
      matrix A using the factorization A = U*D*U**T or A =
      L*D*L**T computed by DSYTRF.

 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) DOUBLE PRECISION 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 DSYTRF.

              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 DSYTRF.

      WORK    (workspace) DOUBLE PRECISION 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.