CTPTRI  -  compute the inverse of a complex upper or lower
       triangular matrix A stored in packed format


SYNOPSIS

       SUBROUTINE CTPTRI( UPLO, DIAG, N, AP, INFO )

           CHARACTER      DIAG, UPLO

           INTEGER        INFO, N

           COMPLEX        AP( * )


PURPOSE

       CTPTRI computes the inverse of a complex  upper  or  lower
       triangular matrix A stored in packed format.


ARGUMENTS

       UPLO    (input) CHARACTER*1
               = 'U':  A is upper triangular;
               = 'L':  A is lower triangular.

       DIAG    (input) CHARACTER*1
               = 'N':  A is non-unit triangular;
               = 'U':  A is unit triangular.

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

       AP      (input/output) COMPLEX array, dimension
               (N*(N+1)/2)
               On entry, the upper or lower triangular matrix  A,
               stored  columnwise  in  a  linear array.  The j-th
               column of A is stored in the array AP as  follows:
               if  UPLO  =  'U',  AP(i  + (j-1)*j/2) = A(i,j) for
               1<=i<=j; if UPLO = 'L', AP(i + (j-1)*((2*n-j)/2) =
               A(i,j)   for   j<=i<=n.   See  below  for  further
               details.  On exit, the (triangular) inverse of the
               original  matrix,  in the same packed storage for­
               mat.

       INFO    (output) INTEGER
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille­
               gal value
               >  0:   if  INFO = i, A(i,i) is exactly zero.  The
               triangular matrix is singular and its inverse  can
               not be computed.


FURTHER DETAILS

       A triangular matrix A can be transferred to packed storage
       using one of the following program segments:

       UPLO = 'U':                      UPLO = 'L':

             DO 2 J = 1, N                    DO 2 J = 1, N
                DO 1 I = 1, J                    DO 1 I = J, N
                   AP(JC+I-1) = A(I,J)              AP(JC+I-J)  =
       A(I,J)
           1    CONTINUE                    1    CONTINUE
                JC  = JC + J                      JC = JC + N - J
       + 1
           2 CONTINUE                       2 CONTINUE


Man(1) output converted with man2html