Contents


NAME

     ctptrs - solve a triangular system of the form   A * X =  B,
     A**T * X = B, or A**H * X = B,

SYNOPSIS

     SUBROUTINE CTPTRS(UPLO, TRANSA, DIAG, N, NRHS, A, B, LDB, INFO)

     CHARACTER * 1 UPLO, TRANSA, DIAG
     COMPLEX A(*), B(LDB,*)
     INTEGER N, NRHS, LDB, INFO

     SUBROUTINE CTPTRS_64(UPLO, TRANSA, DIAG, N, NRHS, A, B, LDB, INFO)

     CHARACTER * 1 UPLO, TRANSA, DIAG
     COMPLEX A(*), B(LDB,*)
     INTEGER*8 N, NRHS, LDB, INFO

  F95 INTERFACE
     SUBROUTINE TPTRS(UPLO, [TRANSA], DIAG, [N], [NRHS], A, B, [LDB], [INFO])

     CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
     COMPLEX, DIMENSION(:) :: A
     COMPLEX, DIMENSION(:,:) :: B
     INTEGER :: N, NRHS, LDB, INFO

     SUBROUTINE TPTRS_64(UPLO, [TRANSA], DIAG, [N], [NRHS], A, B, [LDB], [INFO])

     CHARACTER(LEN=1) :: UPLO, TRANSA, DIAG
     COMPLEX, DIMENSION(:) :: A
     COMPLEX, DIMENSION(:,:) :: B
     INTEGER(8) :: N, NRHS, LDB, INFO

  C INTERFACE
     #include <sunperf.h>

     void ctptrs(char uplo, char transa, char diag,  int  n,  int
               nrhs, complex *a, complex *b, int ldb, int *info);

     void ctptrs_64(char uplo, char transa, char  diag,  long  n,
               long  nrhs, complex *a, complex *b, long ldb, long
               *info);

PURPOSE

     ctptrs solves a triangular system of the form

     A * X = B, A**T * X = B, or A**H * X = B
     where A is a triangular matrix of order N stored  in  packed
     format,  and  B  is an N-by-NRHS matrix.  A check is made to
     verify that A is nonsingular.

ARGUMENTS

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

     TRANSA (input)
               Specifies the form of the system of equations:
               = 'N':  A * X = B     (No transpose)
               = 'T':  A**T * X = B  (Transpose)
               = 'C':  A**H * X = B  (Conjugate transpose)

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

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

     NRHS (input)
               The number of right hand sides, i.e.,  the  number
               of columns of the matrix B.  NRHS >= 0.

     A (input) COMPLEX array, dimension (N*(N+1)/2)
               The upper or lower  triangular  matrix  A,  packed
               columnwise  in a linear array.  The j-th column of
               A is stored in the array A as follows:  if UPLO  =
               'U',  A(i  +  (j-1)*j/2)  = A(i,j) for 1<=i<=j; if
               UPLO = 'L', A(i + (j-1)*(2*n-j)/2)  =  A(i,j)  for
               j<=i<=n.

     B (input/output) COMPLEX array, dimension (LDB,NRHS)
               On entry, the right hand side matrix B.  On  exit,
               if INFO = 0, the solution matrix X.

     LDB (input)
               The leading dimension of  the  array  B.   LDB  >=
               max(1,N).

     INFO (output)
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille-
               gal value
               > 0:  if INFO = i, the i-th diagonal element of  A
               is  zero,  indicating  that the matrix is singular
               and the solutions X have not been computed.