dsptri(3F)

DSPTRI - compute the inverse of a real symmetric indefinite matrix A in packed storage using the factorization A = U*D*U**T or A = L*D*L**T computed by DSPTRF

As shipped in IRIX 6.5.30. Unchanged since IRIX 6.5.

NAME
     DSPTRI - compute the inverse of a real symmetric indefinite matrix A in
     packed storage using the factorization A = U*D*U**T or A = L*D*L**T
     computed by DSPTRF

SYNOPSIS
     SUBROUTINE DSPTRI( UPLO, N, AP, IPIV, WORK, INFO )

         CHARACTER      UPLO

         INTEGER        INFO, N

         INTEGER        IPIV( * )

         DOUBLE         PRECISION AP( * ), WORK( * )

PURPOSE
     DSPTRI computes the inverse of a real symmetric indefinite matrix A in
     packed storage using the factorization A = U*D*U**T or A = L*D*L**T
     computed by DSPTRF.


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.

     AP      (input/output) DOUBLE PRECISION 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 DSPTRF, stored as a
             packed triangular matrix.

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

     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.